0% found this document useful (1 vote)
124 views4 pages

Notes On Kronecker Products: 1 The Stack Operator

The document provides information about Kronecker products and stack operators for matrices: 1) It defines the stack operator which maps a matrix to a vector by stacking the matrix columns. 2) It defines the Kronecker product which maps two matrices to a larger block matrix based on multiplying corresponding elements of the original matrices. 3) It lists several properties of Kronecker products and how they relate to operations like transposes, inverses, determinants, traces, and matrix multiplication. Kronecker products can preserve properties like symmetry or positive definiteness.

Uploaded by

aimal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
124 views4 pages

Notes On Kronecker Products: 1 The Stack Operator

The document provides information about Kronecker products and stack operators for matrices: 1) It defines the stack operator which maps a matrix to a vector by stacking the matrix columns. 2) It defines the Kronecker product which maps two matrices to a larger block matrix based on multiplying corresponding elements of the original matrices. 3) It lists several properties of Kronecker products and how they relate to operations like transposes, inverses, determinants, traces, and matrix multiplication. Kronecker products can preserve properties like symmetry or positive definiteness.

Uploaded by

aimal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Notes on Kronecker Products

Revision 02

Louis L. Whitcomb∗
Department of Mechanical Engineering
G.W.C. Whiting School of Engineering
Johns Hopkins University
http://dscl.lcsr.jhu.edu/ME530647_2013

September 26, 2013

This note is a brief description of the matrix Kronecker product and matrix stack algebraic operators. For
a detailed treatment the reader is referred to [?, ?].

1 The Stack Operator


The stack operator maps an n × m matrix into an nm × 1 vector. The stack of the n × m matrix A, denoted
AS , is the vector formed by stacking the columns of A into an nm × 1 vector.
For example if  
a c
A= (1)
b d 2×2

then its stack form is 


a
 b 
AS =  
 c  . (2)
d 4×1

If C is an n × m matrix comprising m column vectors {c1 , c2 , · · · cm }, where each ci is an n × 1 vector

C = [c1 , c2 , · · · , cm ]n×m (3)

then  
c1
 c2 
CS =  . (4)
 
.. 
 . 
cm nm×1

1.1 Properties of the Stack Operator


1. If v ∈ IRn×1 , a vector, then v S = v.
∗ This document
c Louis L. Whitcomb.

1
2. If A ∈ IRm×n , a matrix, and v ∈ IRn×1 , a vector, then the matrix product (Av)S = Av.
3. trace(AB) = ((AT )S )T B S .

2 The Kronecker Product


The Kronecker product is a binary matrix operator that maps two arbitrarily dimensioned matrices into a
larger matrix with special block structure. Given the n × m matrix An×m and the p × q matrix Bp×q
   
a1,1 . . . a1,m b1,1 . . . b1,q
A =  ... .. ..  B =  ... .. ..  (5)
 
. .  . . 
an,1 ... an,m n×m
bp,1 ... bp,q p×q

their Kronecker product, denoted A ⊗ B, is the np × mq matrix with the block structure
 
a1,1 B . . . a1,m B
A⊗B =
 .. .. .. 
. (6)
. . . 
an,1 B . . . an,m B np×mq

For example, given    


1 2 1 2 3
A= B2×3 = (7)
0 −1 2×2
4 5 6 2×3

the Kronecker product A ⊗ B is


 
1 2 3 2 4 6
 4 5 6 8 10 12 
A⊗B =  . (8)
 0 0 0 −1 −2 −3 
0 0 0 −4 −5 −6 4×6

3 Properties of the Kronecker Product and the Stack Operator


In the following it is assumed that A, B, C, and D are real valued matrices. Some identities only hold for
appropriately dimensioned matrices. For additional properties, see [?, ?].

1. The Kronecker product is a bi-linear operator. Given α ∈ IR ,

A ⊗ (αB) = α(A ⊗ B)
(9)
(αA) ⊗ B = α(A ⊗ B).

2. Kronecker product distributes over addition:

(A + B) ⊗ C = (A ⊗ C) + (B ⊗ C)
(10)
A ⊗ (B + C) = (A ⊗ B) + (A ⊗ C).

3. The Kronecker product is associative:

(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). (11)

2
4. The Kronecker product is not in general commutative, i.e. usually

(A ⊗ B) 6= (B ⊗ A). (12)

5. Transpose distributes over the Kronecker product (does not invert order)

(A ⊗ B)T = AT ⊗ B T . (13)

6. Matrix multiplication, when dimensions are appropriate,

(A ⊗ B)(C ⊗ D) = (AC ⊗ BD). (14)

7. When A and B are square and full rank

(A ⊗ B)−1 = (A−1 ⊗ B −1 ). (15)

8. The determinant of a Kronecker product is (note right hand side exponents)

det(An×n ⊗ Bm×m ) = det(A)m · det(B)n . (16)

9. The trace of a Kronecker product is

trace(A ⊗ B) = trace(A) · trace(B). (17)

10. Stack of a matrix multiplication, when dimensions are appropriate for the product ABC to be well
defined, is
(ABC)S = (C T ⊗ A)B S . (18)
Two simple special cases of this identity are useful:

Ax = (Ax)S (19)

and
Ax = IAx
(20)
= (xT ⊗ I)AS

11. If A and B are both


(a) nonsingular
(b) lower (upper) triangular
(c) banded
(d) symmetric
(e) positive (negative) definite
(f) stochastic
(g) Toeplitz
(h) permutations
(i) orthogonal
then the product A ⊗ B is, respectively, [?],
(a) nonsingular
(b) lower (upper) triangular

3
(c) block banded
(d) symmetric
(e) positive (negative) definite
(f) stochastic
(g) block Toeplitz
(h) a permutations
(i) orthogonal.

4 Some Applications
1. The linear Lyapunov equation: For any Hurwitz A ∈ IRn×n and any positive-definite symmetric
Q ∈ IRn×n there exists a unique positive-definite symmetric P ∈ IRn×n satisfying the linear Lyapunov
equation
− Q = AT P + P A. (21)
The matrix P can be computed as Z ∞
T
Q= eA σ
QeAσ dσ (22)
0
or, alternatively, note that
−Q = AT P + P A
= AT P I + IP A
(23)
−QS = (I ⊗ AT )P S + (AT ⊗ I)P S
−QS = (I ⊗ AT + AT ⊗ I)P S
thus P S is given by
P S = −(I ⊗ AT + AT ⊗ I)−1 QS . (24)

2. Differential matrix/vector calculus: The derivative of vector-values and matrix-valued functions


of vectors or matrices such as
y = A(b)c (25)
where y ∈ IRn , b ∈ IRm , c ∈ IRp , and A : IRm 7→ IRn×p , can be written as
d
ẏ = dt [A(b)c]
d
= A(b)ċ + dt [A(b)]c
d
= A(b)ċ + I dt [A(b)]c
d (26)
= A(b)ċ + [I dt [A(b)]c]S
T d
= A(b)ċ + (c ⊗ I) dt [A(b)S ]
= A(b)ċ + (cT ⊗ I)Db [A(b)S ]ḃ

where Dx [y] is the usual matrix-valued jacobian operator given by


∂ ∂
···
 
∂x1 y1 ∂xr y1
Dx [y] = 
 .. .. 
(27)
. . 
∂ ∂
∂x1 yq ··· ∂xr yq

where y ∈ IRq , x ∈ IRr , and Dx [y] ∈ IRn×m .

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy