Kronecker Products_KPpaper
PDF · 18 pages · 153.1 KB
Open PDF file
A 2003 paper by Amy Langville and William Stewart (North Carolina State), a companion to Van Loan's Ubiquitous Kronecker Product paper. It collects definitions and properties (basic, structure, factorizations, trace, norms, rank, eigenvalues, determinants) with proofs, and proves new properties on generalized inverses. It ends with Stochastic Automata Networks and preconditioning. It appears to be a reference copy in Phil's math files, not his own work.
AI-written summary; may contain errors.
Extracted text (machine-read; may contain errors)
The Kronecker Product and Stochastic Automata Networks
Amy N. Langville∗and William J. Stewart†
September 29, 2003
Abstract
This paper can be thought of as a companion paper to Van Loan’s The Ubiquitous Kronecker
Product paper [23]. We collect and catalog the most useful properties of the Kronecker product
and present them in one place. We prove several new properties that we discovered in our search
for a Stochastic Automata Network preconditioner. We conclude by describing one application of
the Kronecker product, omitted from Van Loan’s list of applications, namely Stochastic Automata
Networks.
Key words: Stochastic automata networks, Kronecker products, Kronecker product properties, Precon-
ditioning.
∗Operations Research Program, N. Carolina State University
Raleigh, NC 27695-7913, USA
[email protected]
Phone: (919) 513-1907, Fax: (919) 513-1908
†Department of Computer Science, N. Carolina State University
Raleigh, N.C. 27695-8206, USA
[email protected]
Phone: (919) 515-7824, Fax: (919) 515-7896
Research supported in part by NSF (CCR-9731856).
1 Introduction
Stochastic Automata Networks (SANs) have become an increasingly important modeling tool since
the 1980s. SANs are used to efficiently model very large Markov chains whose state space is on the order
of millions. The key to a SAN’s ability to compactly and efficiently model such large Markov chains
lies in their extensive use of the Kronecker product operation. In order to understand SANs and their
advantages, one needs some familiarity with the Kronecker product. The first half of this paper (section 2)
is meant to provide such familiarity by collecting many of the known names, definitions, and properties
of the Kronecker product. In addition, three new properties pertaining to the Kronecker product’s
compatibility with generalized inverses are proven in section 2.6. After this theoretical introduction to the
Kronecker product, we describe the practical uses of the Kronecker product, listing several applications
1
of the operation, ranging from image processing and generalized spectral analysis to analysis of chess
endgames and fast transform algorithms. The number of different uses of the Kronecker product has
grown recently, prompting Charlie Van Loan to call the operation ubiquitous . His 2000 paper describes
dozens of interesting applications [23]. We use the second half of this paper (section 4) to add one more
application of the Kronecker product to Van Loan’s list: SANs. We use examples and a discussion of the
solution methods for SANs to show the Kronecker product’s connection to SAN modeling.
2 The Kronecker product
The operation defined by the symbol ⊗was first used by Johann Georg Zehfuss in 1858 [5]. It has since
been called by various names, including the Zehfuss product, the Producttransformation, the conjunction,
the tensor product, the direct product and the Kronecker product. In the end, the Kronecker product
stuck as the name for the symbol and operation, ⊗.
2.1 Definition of the Kronecker Product
Definition: The Kronecker product ofAmA×nA∈ /RfracturmA×nAandBmB×nB∈ /RfracturmA×nA, written A⊗B,
is the tensor algebraic operation defined as
A⊗B=
a1,1B a 1,2B . . . a 1,nAB
a2,1B a 2,2B . . . a 2,nAB
............
amA,1B a mA,2B . . . a mA,nAB
.
Eachai,jBis a block of size mB×nB.A⊗Bis of size mAmB×nAnB. For example, if
A=/parenleftbigg
a1,1a1,2a1,3
a2,1a2,2a2,3/parenrightbigg
, B=
b1,1b1,2
b2,1b2,2
b3,1b3,2
b4,1b4,2
,
thenA⊗B=
a1,1b1,1a1,1b1,2
a1,1b2,1a1,1b2,2
a1,1b3,1a1,1b3,2
a1,1b4,1a1,1b4,2a1,2b1,1a1,2b1,2
a1,2b2,1a1,2b2,2
a1,2b3,1a1,2b3,2
a1,2b4,1a1,2b4,2a1,3b1,1a1,3b1,2
a1,3b2,1a1,3b2,2
a1,3b3,1a1,3b3,2
a1,3b4,1a1,3b4,2
a2,1b1,1a2,1b1,2
a2,1b2,1a2,1b2,2
a2,1b3,1a2,1b3,2
a2,1b4,1a2,1b4,2a2,2b1,1a2,2b1,2
a2,2b2,1a2,2b2,2
a2,2b3,1a2,2b3,2
a2,2b4,1a2,2b4,2a2,3b1,1a2,3b1,2
a2,3b2,1a2,3b2,2
a2,3b3,1a2,3b3,2
a2,3b4,1a2,3b4,2
.
We also mention another Kronecker operation, the Kronecker sum, which is defined as the ordinary
sum of Kronecker products. The Kronecker sum, A⊕B, is defined by square matrices AandBand is
2
given by
A⊕B/triangle=A⊗InB+InA⊗B,
where nAis the size of the square matrix AandnBis the size of the square matrix B.
One advantage of Kronecker products is their compact representation. Consider the linear system
Cx=din which Ccan be written as the Kronecker product of two much smaller matrices, AandB. The
system ( A⊗B)x=dcan be solved quickly without ever forming the full matrix C=A⊗B(as is shown
in section 3); only the smaller matrices AandBneed to be stored. An iterative method such as GMRES
that uses only matrix-vector multiplications can be used to solve the compact system ( A⊗B)x=dwith
the Kronecker product-vector multiplication algorithm [3]. Suppose C10000 ×10000can be expressed as the
Kronecker product of A100×100andB100×100. The linear system Cx=donly requires the storage of two
100×100 matrices. In fact, later we will exploit properties of the Kronecker product to solve the special
system ( A⊗B)x=dvery fast.
2.2 Properties of the Kronecker Product
Before we can discuss some of the interesting applications of the Kronecker product, a complete
background of its properties is required. These properties are divided into categories by topic. For
example, the first four properties listed are basic Kronecker product properties, while the next three deal
with structure.
2.3 Basic Properties
Graham’s book [4] lists the following properties (along with proofs) of the Kronecker product such as:
1. Associativity:
A⊗(B⊗C) = (A⊗B)⊗C.
2. Distributivity over ordinary matrix addition:
(A+B)⊗(C+D) =A⊗C+B⊗C+A⊗D+B⊗D.
3. Compatibility with ordinary matrix multiplication:
AB⊗CD= (A⊗C)(B⊗D).
4. Compatibility with ordinary matrix inversion:
(A⊗B)−1=A−1⊗B−1.
2.4 Structure and Factorization Properties
Van Loan’s paper, [23], lists the following additional properties of the Kronecker product.
3
1. Compatibility with ordinary matrix transposition:
(A⊗B)T=AT⊗BT.
2. Structure theorems:
(a) If AandBare nonsingular, then A⊗Bis nonsingular.
(b) If AandBare square lower (upper) triangular, then A⊗Bis lower (upper) triangular.
(c) If AandBare banded, then A⊗Bis banded.
(d) If AandBare symmetric, then A⊗Bis symmetric.
(e) If AandBare positive definite, then A⊗Bis positive definite.
(f) If AandBare stochastic, then A⊗Bis stochastic.
(g) If AandBare Toeplitz, then A⊗Bis block Toeplitz.
(h) If AandBare orthogonal, then A⊗Bis orthogonal.
3. Factorizations:
(a)LU: Let Abe a square nonsingular matrix of order mAwithLUfactorization A=PT
ALAUA
andBbe a square nonsingular matrix of order mBwithLUfactorization B=PT
BLBUB.
Then
A⊗B= (PT
ALAUA)⊗(PT
BLBUB) = (PA⊗PB)T(LA⊗LB)(UA⊗UB).
(b) Cholesky: Let Abe a positive definite matrix of order mAwith Cholesky factor GAandBbe a
positive definite matrix of order mBwith Cholesky factor GB. Then the Cholesky factorization
ofA⊗Bis
A⊗B= (GT
AGA)⊗(GT
BGB) = (GA⊗GB)T(GA⊗GB).
(c)QR: Let Abe an mA×nAmatrix with linearly independent columns and QRfactorization
A=QARA, where Qis anmA×nAmatrix with orthonormal columns and Ris ann×nupper
triangular matrix. Bis similarly defined with B=QBRBas its QRfactorization. Then the
QRfactorization of A×Bis
A⊗B= (QARA)⊗(QBRB) = (QA⊗QB)(RA⊗RB).
(d) Schur decomposition: Let Abe a square matrix of order mAwith Schur decomposition A=
UATAUT
A, where UAis unitary and TAis upper triangular. Let Bbe a square matrix of order
mBwith Schur decomposition B=UBTBUT
B, where UBis unitary and TBis upper triangular.
Then the Schur decomposition of A⊗Bis
A⊗B= (UATAUT
A)⊗(UBTBUT
B) = (UA⊗UB)(TA⊗TB)(UA⊗UB)T.
(e) Singular value decomposition: Let Abe an mA×nAmatrix with singular value decomposition
UAΣAVT
AandBbe an mB×nBmatrix with singular value decomposition UBΣBVT
B. Let
rank(A) =rAandrank(B) =rB. Then A⊗Bhas rank rArBand singular value decomposition
A⊗B= (UAΣAVT
A)⊗(UBΣBVT
B) = (UA⊗UB)(ΣA⊗ΣB)(VA⊗VB)T.
NOTE: All of these factorizations of C=A⊗Bmerely require the factorizations of the small
AandBmatrices!
Most of the theorems have trivial proofs. Many of the proofs in this section can be found in [23], [4],
[19], [10], or [6].
4
2.5 Measure and Numerical Properties
Chapter 4 of the book by Horn and Johnson, [6], contains a wealth of information on Kronecker
products and their properties. Some of the more useful ones are listed below.
1. Trace: if AandBare square, then
tr(A⊗B) =tr(A)tr(B) =tr(B⊗A).
2. Norms: If AismA×nAandBismB×nB, then for all p-norms
/bardblA⊗B/bardbl=/bardblA/bardbl /bardblB/bardbl.
3. Rank:
rank(A⊗B) =rank(A)rank(B).
4. Eigenvalues and Eigenvectors:
ForAandBsquare, let λbe a member of the spectrum of A. That is, λ∈σ(A). Let xAbe
a corresponding eigenvector of λand let µ∈σ(B) and xBbe a corresponding eigenvector. Then
λµ∈σ(A⊗B) and xA⊗xBis the corresponding eigenvector of A⊗B. That is, every eigenvalue
ofA⊗Barises as a product of eigenvalues of AandB.
5. Singular values:
Let the rank(A) =rAandrank(B) =rB. Then the nonzero singular values of A⊗Bare the
rArBpositive numbers {σi(A)σj(B) : 1 ≤i≤rA,1≤j≤rB}, where σi(A) is the ithsingular
value of A.
6. Determinants: If Aism×mandBisn×nthen
det(A⊗B) = [det(A)]n[det(B)]m.
7. Powers: If AandBare square then
(A⊗B)n=An⊗Bn.
Below we prove or provide references to the proofs of each of the seven theorems above.
Proof of 1: LetAbem×mandBben×n.
tr(A⊗B) =m/summationdisplay
i=1tr(ai,iB) =m/summationdisplay
i=1ai,itr(B) =tr(B)m/summationdisplay
i=1ai,i=tr(B)tr(A).
/square
5
Proof of 2: We begin by proving the Frobenius norm case, /bardblA⊗B/bardblF=/bardblA/bardblF/bardblB/bardblF.
/bardblA⊗B/bardbl2
F=tr[(A⊗B)(A⊗B)T] =tr[(A⊗B)(AT⊗BT)]
=tr(AAT⊗BBT) =tr(AAT)tr(BBT) =tr(ATA)tr(BTB)
=/bardblA/bardbl2
F/bardblB/bardbl2
F= (/bardblA/bardblF/bardblB/bardblF)2.
Therefore, /bardblA⊗B/bardblF=/bardblA/bardblF/bardblB/bardblF.
Now for the 2-norm.
/bardblA/bardbl2/bardblB/bardbl2=/radicalbig
λmax(A)λmax(B)
=/radicalbig
λmax(A⊗B) =/bardblA⊗B/bardbl2.
The 1-norm case,
/bardblA⊗B/bardbl1= max
1≤jA≤nAmA/summationdisplay
iA=1|aiAjAB|
= max
1≤jA≤nA,1≤jB≤nBmA/summationdisplay
iA=1mB/summationdisplay
iB=1|aiAjAbiBjB|
= max
1≤jA≤nAmA/summationdisplay
iA=1|aiAjA|max
1≤jB≤nBmB/summationdisplay
iB=1|biBjB|
=/bardblA/bardbl1/bardblB/bardbl1.
The∞-norm is similar to the 1-norm except the largest absolute row sum is used rather than the
largest absolute column sum. /square
Proof of 3: LetAbem×nandBbep×q. IfA=QARAandB=QBRBare the QR
factorizations, where QAism×nandQBisp×q, then
rank(A⊗B) = rank(QARA⊗QBRB)
=rank((QA⊗QB)(RA⊗RB))
=rank(RA⊗RB).
Since RAandRBare both upper triangular, then RA⊗RBis upper triangular with upper
triangular blocks. Let rank(RA) =rAandrank(RB) =rB. Each row of blocks of size RBhasrB
nonzero rows. There are rAnonzero rows of such blocks. Using this and the upper triangular
structure of RA⊗RB, we conclude that rank(RA⊗RB) =rArB. Therefore,
rank(A⊗B) =rank(RA⊗RB) =rArB=rank(RA)rank(RB) =rank(A)rank(B). /square
Proof of 4 and 5: Statement of these theorems and their corresponding proofs can be found in
Chapter 4 of the book by Horn and Johnson [6]. /square
Proof of 6: LetAbem×mandBben×n. A determinant for an n×nmatrix Gcan be
determined from an LU factorization with pivoting [11]. Then
det(G) =σGuG1,1uG2,2· · ·uGn,n=σGdiagprod (UG), where σG= +1 if an even number of row
interchanges are used to obtain PGand -1 if an odd number of row interchanges are used to
obtain PG. With σAB=σAσB.
det(A⊗B) =σABdiagprod (UA⊗UB)
=σAB(uA1,1)ndiagprod (UB)(uA2,2)ndiagprod (UB)· · ·(uAm,m)ndiagprod (UB)
=σAB(diagprod (UA))n(diagprod (UB))m
= [det(A)]n[det(B)]m.
6
/square
Proof of 7: Proof by induction on n. Base case ( n= 2):
(A⊗B)2= (A⊗B)(A⊗B) =A2⊗B2.
Induction Step: Assume ( A⊗B)n=An⊗Bn. Show ( A⊗B)n+1=An+1⊗Bn+1.
(A⊗B)n+1= (A⊗B)n(A⊗B) = (An⊗Bn)(A⊗B) =An+1⊗Bn+1.
/square
2.6 Pseudoinverse Properties
We prove three new properties of the Kronecker product in our work with Markov chains and their
preconditioners. To our knowledge, these properties have not been stated or proven elsewhere. Before we
state our new theorems and proofs, we define some generalized inverses: the Drazin inverse, the group
inverse and the Moore-Penrose pseudoinverse [2, 11, 12].
•IfAis ann×nsingular matrix of index ksuch that rank(Ak) =r, then there exists a nonsingular
matrix Qsuch that
Q−1AQ=/parenleftbigg
Cr×r0
0N/parenrightbigg
,
where Cis nonsingular and Nis nilpotent of index k. The Drazin inverse ofA, denoted by AD, is
given as
AD=Q/parenleftbigg
C−10
0 0/parenrightbigg
Q−1.
•The group inverse is a special case of the Drazin inverse and applies when the index of the matrix
Ais 1. The group inverse is appropriate for singular n×nmatrices of rank n−1 and is denoted
byA#.
•IfAis anm×nmatrix of rank r, then there exist orthogonal matrices Um×mandVn×nsuch that
A=URVT=U/parenleftbigg
Cr×r0
0 0/parenrightbigg
m×nVT.
TheMoore-Penrose pseudoinverse ofA, denoted by A†is the n×mmatrix given as
A†=V/parenleftbigg
C−10
0 0/parenrightbigg
n×mUT.
With these definitions we are now ready to state our new theorems.
1. Condition number: For all matrix norms,
cond(A⊗B) =cond(A)cond(B).
7
2. Compatibility with the Drazin inverse and the group inverse:
(A1⊗A2⊗ · · · ⊗ An)D=AD
1⊗AD
2⊗ · · · ⊗ AD
n.
(A1⊗A2⊗ · · · ⊗ An)#=A#
1⊗A#
2⊗ · · · ⊗ A#
n.
3. Compatibility with the Moore-Penrose pseudoinverse:
(A1⊗A2⊗ · · · ⊗ An)†=A†
1⊗A†
2⊗ · · · ⊗ A†
n.
Proof of 1: Case 1—If AandBare nonsingular, then
cond(A⊗B) = /bardblA⊗B/bardbl /bardbl(A⊗B)−1/bardbl
=/bardblA⊗B/bardbl /bardblA−1⊗B−1/bardbl
=/bardblA/bardbl /bardblB/bardbl /bardblA−1/bardbl /bardblB−1/bardbl
=cond(A)cond(B).
Case 2—If AandBare singular, then A⊗Bis singular and
cond(A⊗B) = /bardblA⊗B/bardbl /bardbl(A⊗B)†/bardbl
=/bardblA⊗B/bardbl /bardblA†⊗B†/bardbl
=/bardblA/bardbl /bardblB/bardbl /bardblA†/bardbl /bardblB†/bardbl
=cond(A)cond(B).
Case 3—If Ais nonsingular and Bis singular, then A⊗Bis singular and
cond(A⊗B) = /bardblA⊗B/bardbl /bardbl(A⊗B)†/bardbl
=/bardblA⊗B/bardbl /bardblA†⊗B†/bardbl
=/bardblA/bardbl /bardblB/bardbl /bardblA−1/bardbl /bardblB†/bardbl
=cond(A)cond(B),
sinceA†=A−1forAnonsingular. /square
Proof of 2: (Proof by Induction on n) We begin with a proof of the base case,
(A1⊗A2)D=AD
1⊗AD
2. We derive a different expression for the right-hand side, then show that
the left-hand side can also be written this way. Every square singular matrix A1of order nA1can
be decomposed as
A1=PA1/parenleftbigg
CA10
0NA1/parenrightbigg
P−1
A1,
where CA1is nonsingular of size rA1×rA1,NA1is nilpotent of index kA1and rank( AkA1
1) =rA1.
Similarly, a square matrix A2of order nA2can be written as
A2=PA2/parenleftbigg
CA20
0NA2/parenrightbigg
P−1
A2,
again where CA2is nonsingular of size rA2×rA2,NA2is nilpotent of index kA2and
rank(AkA2
2) =rA2. According to the definition of the Drazin inverse,
AD
1=PA1/parenleftbigg
C−1
A10
0 0/parenrightbigg
P−1
A1,
8
and likewise
AD
2=PA2/parenleftbigg
C−1
A20
0 0/parenrightbigg
P−1
A2.
Thus,
AD
1⊗AD
2=/bracketleftbigg
PA1/parenleftbigg
C−1
A10
0 0/parenrightbigg
P−1
A1/bracketrightbigg
⊗/bracketleftbigg
PA2/parenleftbigg
C−1
A20
0 0/parenrightbigg
P−1
A2/bracketrightbigg
= (PA1⊗PA2)
C−1
A1⊗C−1
A20 0 0
0 0 0 0
0 0 0 0
0 0 0 0
(P−1
A1⊗P−1
A2)
= (PA1⊗PA2)/parenleftbigg
C−1
A1⊗C−1
A20
0 0/parenrightbigg
(P−1
A1⊗P−1
A2).
Now we show that ( A1⊗A2)Dis equal to the above expression.
(A1⊗A2)D=/braceleftbigg/bracketleftbigg
PA1/parenleftbigg
CA10
0NA1/parenrightbigg
P−1
A1/bracketrightbigg
⊗/bracketleftbigg
PA2/parenleftbigg
CA20
0NA2/parenrightbigg
P−1
A2/bracketrightbigg/bracerightbiggD
=/braceleftbigg
(PA1⊗PA2)/bracketleftbigg/parenleftbigg
CA10
0NA1/parenrightbigg
⊗/parenleftbigg
CA20
0NA2/parenrightbigg/bracketrightbigg
(P−1
A1⊗P−1
A2)/bracerightbiggD
=
(PA1⊗PA2)
CA1⊗CA2 0 0 0
0 CA1⊗NA2 0 0
0 0 NA1⊗CA2 0
0 0 0 NA1⊗NA2
(P−1
A1⊗P−1
A2)
D
.
LetNLbe the 3 ×3 principal submatrix of the middle matrix above. NLis nilpotent of index
k=max{kA1, kA2}. That is,
Nk
L=
CA1⊗NA2 0 0
0 NA1⊗CA2 0
0 0 NA1⊗NA2
k
= 0.
This follows from ( CA1⊗NA2)k=Ck
A1⊗Nk
A2=Ck
A1⊗0 = 0, and similarly for the other two
diagonal blocks. Using this fact,
(A1⊗A2)D=/braceleftbigg
(PA1⊗PA2)/parenleftbigg
CA1⊗CA20
0 NL/parenrightbigg
(P−1
A1⊗P−1
A2)/bracerightbiggD
.
Then with the definition of the Drazin inverse and the fact that ( CA1⊗CA2)−1=C−1
A1⊗C−1
A2, the
base case is complete.
(A1⊗A2)D= (PA1⊗PA2)/parenleftbigg
C−1
A1⊗C−1
A20
0 0/parenrightbigg
(P−1
A1⊗P−1
A2) =A1D⊗A2D.
The base case has been established: ( A1⊗A2)D=A1D⊗A2D. In the induction hypothesis, we
assume that ( A1⊗A2⊗. . .⊗An)D=AD
1⊗AD
2⊗. . .⊗AD
nand show that
(A1⊗A2⊗. . .⊗An⊗An+1)D=AD
1⊗AD
2⊗. . .⊗AD
n⊗AD
n+1. LetY=A1⊗A2⊗. . .⊗An. Then
YD= (A1⊗A2⊗. . .⊗An)D=AD
1⊗AD
2⊗. . .⊗AD
nby the induction step. And
(A1⊗A2⊗. . .⊗An⊗An+1)D= (Y⊗An+1)D
=YD⊗AD
n+1
=AD
1⊗AD
2⊗. . .⊗AD
n⊗AD
n+1.
9
The group inverse of A, denoted by A#, is a special case of the Drazin inverse for singular square
matrices with index 1. Thus,
(A1⊗A2⊗ · · · ⊗ An)#=A#
1⊗A#
2⊗ · · · ⊗ A#
n.
/square
Proof of 3: (Proof by Induction on n) We begin with a proof of the base case, ( A1⊗A2)†=A†
1⊗A†
2.
We derive a different expression for the right-hand side, then show that the left-hand side can also
be written this way. Every real mA1×nA1matrix A1has a URV factorization
A1=UA1/parenleftbigg
CA10
0 0/parenrightbigg
VT
A1,
where the orthogonal matrices UA1andVA1are of order mA1andnA1, respectively, the
nonsingular matrix CA1is size rA1×rA1andrA1=rank(A1). Similarly, a real mA2×nA2matrix
A2can be written as
A2=UA2/parenleftbigg
CA20
0 0/parenrightbigg
VT
A2,
where the orthogonal matrices UA2andVA2have size mA2×mA2andnA2×nA2respectively, the
nonsingular matrix CA2has size rA2×rA2andrA2=rank(A2). The definition of the
Moore-Penrose pseudoinverse of A1, denoted A†
1, gives
A†
1=VA1/parenleftbigg
C−1
A10
0 0/parenrightbigg
UT
A1,
and likewise,
A†
2=VA2/parenleftbigg
C−1
A20
0 0/parenrightbigg
UT
A2.
Thus,
A†
1⊗A†
2=/bracketleftbigg
VA1/parenleftbigg
C−1
A10
0 0/parenrightbigg
UT
A1/bracketrightbigg
⊗/bracketleftbigg
VA2/parenleftbigg
C−1
A20
0 0/parenrightbigg
UT
A2/bracketrightbigg
= (VA1⊗VA2)
C−1
A1⊗C−1
A20 0 0
0 0 0 0
0 0 0 0
0 0 0 0
(UT
A1⊗UT
A2)
= (VA1⊗VA2)/parenleftbigg
C−1
A1⊗C−1
A20
0 0/parenrightbigg
(UT
A1⊗UT
A2).
Now we show that ( A1⊗A2)†is equal to the above expression.
(A1⊗A2)†=/braceleftbigg/bracketleftbigg
UA1/parenleftbigg
CA10
0 0/parenrightbigg
VT
A1/bracketrightbigg
⊗/bracketleftbigg
UA2/parenleftbigg
CA20
0 0/parenrightbigg
VT
A2/bracketrightbigg/bracerightbigg†
=/braceleftbigg
(UA1⊗UA2)/bracketleftbigg/parenleftbigg
CA10
0 0/parenrightbigg
⊗/parenleftbigg
CA20
0 0/parenrightbigg/bracketrightbigg
(VT
A1⊗VT
A2)/bracerightbigg†
=
(UA1⊗UA2)
CA1⊗CA20 0 0
0 0 0 0
0 0 0 0
0 0 0 0
(VA1⊗VA2)T
†
10
=/braceleftbigg
(VA1⊗VA2)/parenleftbigg
(CA1⊗CA2)−10
0 0/parenrightbigg
(UA1⊗UA2)T/bracerightbigg
=/braceleftbigg
(VA1⊗VA2)/parenleftbigg
C−1
A1⊗C−1
A20
0 0/parenrightbigg
(UA1⊗UA2)T/bracerightbigg
.
The base case has been established. ( A1⊗A2)†=A†
1⊗A†
2. By the induction hypothesis, we have
(A1⊗A2⊗. . .⊗An)†=A†
1⊗A†
2⊗. . .⊗A†
nand show that
(A1⊗A2⊗. . .⊗An⊗An+1)†=A†
1⊗A†
2⊗. . .⊗A†
n⊗A†
n+1. Let Y=A1⊗A2⊗. . .⊗An. Then
Y†= (A1⊗A2⊗. . .⊗An)†=A†
1⊗A†
2⊗. . .⊗A†
nby the induction step. Finally,
(A1⊗A2⊗. . .⊗An⊗An+1)†= (Y⊗An+1)†
=Y†⊗A†
n+1
=A†
1⊗A†
2⊗. . .⊗A†
n⊗A†
n+1.
/square
3 Applications of Properties of Kronecker Products
To demonstrate the usefulness of applying these properties of Kronecker products, we return to the
linear system problem, ( A⊗B)x=d. Let Abem×mandBbem×m. Property 3(a) of section 2.2.2
regarding LUfactorizations can be exploited. If A⊗Bis nonsingular then a solution exists and the
system can be written as
(LA⊗LB)(UA⊗UB)x=d,
where PAA=LAUAandPBB=LBUB. First the lower triangular system ( LA⊗LB)z= (PA⊗PB)dis
solved by forward substitution in O(m3) time. Then ( UA⊗UB)x=zis solved by back substitution in
O(m3) time. Without exploiting the structure, Gaussian elimination requires O(m6) arithmetic opera-
tions. The Kronecker structure also avoids the formation of m2×m2matrices; only the smaller LA,LB,
UA,UBare needed.
For example, consider the forward substitution ( LA⊗LB)z=d, where AandBare 3 ×3 matrices
andzanddare 9×1 vectors. To simplify the notation, we assume PAandPBare identity matrices.
a110 0
a21a220
a31a32a33
⊗
b110 0
b21b220
b31b32b33
z1
z2
...
z9
=
d1
d2
...
d9
.
Then
LA⊗LB=
a11b11 0 0 0 0 0 0 0 0
a11b21a11b22 0 0 0 0 0 0 0
a11b31a11b32a11b33 0 0 0 0 0 0
a21b11 0 0 a22b11 0 0 0 0 0
a21b21a21b22 0 a22b21a22b22 0 0 0 0
a21b31a21b32a11b33a22b31a22b32a22b33 0 0 0
a31b11 0 0 a32b11 0 0 a33b11 0 0
a31b21a31b22 0 a32b21a32b22 0 a33b21a33b22 0
a31b31a31b32a31b33a32b31a32b32a32b33a33b31a33b32a33b33
,
11
which is a unit lower triangular matrix with lower triangular blocks. The first m= 3 equations of this
9×9 system represent a lower triangular matrix and can be solved in O(m2) arithmetic operations.
a11b11z1=d1,
a11b21z1+a11b22z2=d2,
a11b31z1+a11b32z2+a11b33z3=d3.
Now the next three equations are:
a21b11z1+a22b11z4=d4,
a21b21z1+a21b22z2+a22b21z4+a22b22z5=d5,
a21b31z1+a21b32z2+a21b33z3+a22b31z4+a22b32z5+a22b33z6=d6.
The boldface expression in the first equation, a21b11z1, can be computed as a21d1/a11. The second bold-
face expression, a21b21z1+a21b22z2, is just a21d2/a11, while the third expression, a21b31z1+a21b32z2+a21b33z3,
isa21d3/a11. We use the previous expressions for obtaining z1,z2andz3in the first set of equations to
simplify the second set of three equations. The simplified second set of equations becomes:
a22b11z4=d4−a21d1
a11,
a22b21z4+a22b22z5=d5−a21d2
a11,
a22b31z4+a22b32z5+a22b33z6=d6−a21d3
a11.
Solving the second set of equations takes O(m) arithmetic operations and the forward solve step takes
O(m2) operations, so obtaining z4,z5andz6takes O(m2) time. This simplification and using the work
from the previous solution step continues so that solving each of the msets of mequations takes O(m2)
time, resulting in an overall solution time of O(m3). Exploiting the Kronecker structure reduces the
usual, expected O(m4) time to solve ( LA⊗LB)z=dtoO(m3) time.
One final note regarding the exploitation of the Kronecker structure of the linear system remains.
Suppose the matrices AandBare of different sizes. Then, the time required to solve the linear system
(A⊗B)x=disO(mAm2
B), where mAis the size of AandmBis the size of B.
Van Loan’s paper [23] provides a thorough catalog of further applications of the Kronecker product.
We briefly mention a few here. One application receiving growing interest is semidefinite programming.
Due to the surge of work on interior point methods, the solution to systems involving the symmetric
Kronecker product has been studied recently. The Kronecker product appears in numerous types of
least squares problems; one example is the problem of surface fitting with splines. Kronecker products
have also been used to unify the field of fast transforms such as the fast Fourier transform, the Hartley
transform, and fast wavelet transforms. The Kronecker product plays an instrumental role in many
image restoration algorithms. The Kronecker product has also been used to form approximate inverse
preconditioners, an application we emphasize in section 4. One application of the Kronecker product not
found in Van Loan’s paper is Stochastic Automata Networks (SANs). The remainder of this paper deals
with SANs and their connection to the Kronecker product. First, we define SANs, then we discuss their
preconditioning problems.
4 Stochastic Automata Networks
Markov chains can be used to model many physical systems. For example, Markov chains are used
frequently to answer performance questions about parallel and distributed computer systems. While
12
Markov chains provide accurate measures of the system, the size of the Markov chain can quickly grow to
an enormous and even intractable size. Storing the state space and infinitesimal generator matrix Qfor
such large Markov chains (on the order of millions) has become a bottleneck. One remedy for this storage
problem is Stochastic Automata Networks, which store the infinitesimal generator of the Markov chain
in compact form using Kronecker products. Stochastic Automata Networks (SANs) [14] are particularly
applicable to parallel and distributed computer systems. The reason for this will become clear after we
define SANs.
A SAN consists of several individual stochastic automata which act independently for the most part.
Occasionally, these automata may need to coordinate their actions, thus connecting the individual au-
tomata in a network of automata which depend on one another. Each individual automaton A(i)has a
number of states associated with it. A(i)also has a number of rules which determine its movement from
one state to the next. The state of any automaton at time tis the state it occupies at time t. The state
of the collective SAN at time tis the state of each of its corresponding automata. Figure 1 gives the
high-level representation of a SAN.
Figure 1: Stochastic Automata Network
Automaton A(1)contains 4 states, A(2)contains 4 states and A(3)contains 3 states. The current
state of each automaton is denoted by the shaded circle. Thus the current state of the SAN is denoted
by all three shaded circles. The line connecting A(1)andA(2)represents the interaction between these
two automata. Somehow A(1)andA(2)need to coordinate their actions. Exactly how they might need
to do this will be described later. If the lines connecting the automata were not present in the diagram
thenA(1),A(2)andA(3)would be completely independent systems. A(1)’s stochastic behavior could be
modeled with a separate Markov chain from A(2)and so on. Thus, SANs are only useful for automata
which have some interaction. However, too much interaction among the automata can complicate the
SAN to the point that its use is questionable. Clearly, SANs should be restricted to systems with
appropriate infrequent interaction.
13
There are two general ways in which these automata may interact with one another. One concerns
the transitions themselves and the other concerns the actual transition rates. First, the global state may
change when a transition occurs. Transitions can be either local or synchronizing. Local transitions only
affect the corresponding automaton. When an automaton has a local transition, it moves from one of its
states to another of its states. Synchronizing transitions are not local. They affect the global state by
changing the state of several automata. A synchronizing transition occurs when one automaton enables
a transition to occur in two or more other automata.
The second type of interaction draws another distinction between transitions. They can be either
constant or functional. A functional transition occurs when an automaton’s transition rate is a function
of the state of another automaton. Transitions that are not functional are called constant. Constant
or functional transitions, unlike synchronizing transitions, affect only the local automata involved. Note
that synchronizing transitions may be constant or functional. This information regarding the automata
and their types of transitions provides all the information needed to formally define a SAN, as Atif
and Plateau have done [16]. While this infrequent interaction (synchronizing transitions and functional
transition rates) does complicate SANs, Plateau and her coworkers have shown that the SAN can still be
represented in compact form as a sum of Kronecker products, known as the SAN descriptor [14, 17, 20].
Plateau and Fourneau [17] have shown that SANs with Nautomata and Esynchronizing events should
be handled by separating out the local transitions for each automata and writing this local effect as the
ordinary sum of NKronecker products with each Kronecker product involving Nsmaller matrices. Then
the effect of the synchronizing events is added. Each synchronizing event requires two more Kronecker
products of Nmatrices. Thus the infinitesimal generator of a SAN can always be written as
Q=2E+N/summationdisplay
j=1⊗N
i=1Q(i)
j.
When the infinitesimal generator matrix Qis written and stored in the form/summationtext2E+N
j=1⊗N
i=1Q(i)
j, this
is called the SAN descriptor . The reader should note that the SAN descriptor is the sumof Kronecker
products.
Thus far we have only discussed the effect of synchronizing events on the structure of this SAN
descriptor. In summary, we learned that there are two more terms in the descriptor for each synchronizing
event. An increasing number of synchronizing events increases the complexity of the SAN model, which is
why SANs are restricted to systems with appropriate infrequent interaction. We now mention the effect
of functional transitions on the SAN descriptor. By extending the ordinary Kronecker product to the
generalized Kronecker product [17], [16], the SAN descriptor can still be written as above, but the elements
of the Q(i)
jmatrices may now be functions. These functional entries require that the appropriate numerical
values be computed and substituted each time the functional rate is needed. Thus, functional transitions
do not change the structure of the SAN descriptor, but they do add complexity and a computational
burden.
In practice, the modeler works from the SAN system and forms and stores each of the Q(i)
jmatrices
following the rules given in [20, 21, 17]. We emphasize that the global infinitesimal generator matrix
Qis never formed or stored. Herein lies the storage-saving capacity of the SAN formalism. Consider
a collection of four automata each of size 100. Suppose the infrequent interaction among these four
automata is described by two synchronizing events and there are no functional transitions. The global Q
is size 108but only 2 E+N= 2·2 + 4 = 8 sparse matrices of size 100 need to be stored, thanks to the
Kronecker product!
14
4.1 Stationary Analysis of a Stochastic Automata Network
The computation of the stationary solution πof a continuous-time ergodic Markov chain involves
solving the linear system πQ= 0 and πeT= 1, where Qis the infinitesimal generator of the Markov
chain and erepresents the unit row vector. Qis singular with rank n−1. Thus, finding the stationary
solution of a continuous-time Markov chain can be viewed as a linear system problem. Another way to
view the same problem is as an eigenvalue problem. Pis the transition probability matrix associated
with the same system. In fact, P=I+ ∆tQwhere ∆ t≤1
max|qii|.Pis a stochastic matrix with a
unit eigenvalue. Then finding the stationary solution πinvolves solving π=πP, which is an eigenvalue
problem. Now this eigenvalue problem can be used to define the power method, an iterative method for
finding πby computing iterates with
x(k+1)=x(k)P.
With a suitable initial iterate x(0),x(k+1)will converge to the eigenvector πwhich can then be normalized
so that πcontains the stationary solution.
Very large Markov chains are often represented as SANs using the SAN descriptor in place of Q.
Namely, Q=/summationtextT
j=1⊗N
i=1Q(i)
j, where T= 2E+N,Eis the number of synchronizing events and Nis the
number of automata. Since P=I+ ∆tQ, then in the SAN formalism,
P=I+ ∆tQ=⊗N
i=1Ini+T/summationdisplay
j=1∆t⊗N
i=1Q(i)
j,
and the power method for SANs can be written as
x(k+1)=x(k)(I+ ∆tQ) =x(k)+ ∆tx(k)(T/summationdisplay
j=1⊗N
i=1Q(i)
j).
The power method is the simplest of all iterative methods for finding the stationary solution vector
π. The Jacobi, Gauss-Seidel and SOR method are three more iterative methods used for solving linear
systems, such as our homogeneous linear system πQ= 0. Yet these methods are based on splittings of the
transition matrix and thus are not easily transferable to the SAN formalism. Another class of iterative
methods is that of projection methods. These methods approximate an exact solution (in our case, the
stationary solution) by building better and better approximations which are taken from small-dimension
subspaces. Some popular projection methods are Arnoldi, GMRES, CGS, BiCGSTAB and QMR. Such
projections methods can be and have been applied to SANs [1, 15, 22]. In fact, any iterative or projection
method which involves a matrix-vector multiply can be used to find the stationary distribution of a SAN.
In place of the matrix-vector multiply, the Kronecker product-vector multiplication algorithm invented
by Fernandes and his coworkers [3] can be used. Direct methods for solving linear systems, such as
those based on LUdecompositions, are not immediately amenable to SANs because the SAN’s compact
descriptor representation of the generator matrix precludes easy access to the L,Ufactors. Furthermore,
SANs are used as a compact, alternative representation for very large Markov models. The size of such
models makes direct methods impractical [20].
4.2 Preconditioning for Stochastic Automata Networks
It is well known that the iterative methods discussed above perform better when preconditioners are
used. The convergence of an iterative method depends on the eigenvalues of the system. Any iterative
15
method can converge slowly if the eigenvalue distribution is undesirable for that method. For example,
when the subdominant eigenvalue of the iteration matrix is close to the dominant eigenvalue (which is 1
for our transition matrices P), the power method converges slowly. Thus the goal of preconditioning is
to modify the eigenvalue distribution of the iteration matrix so that convergence is improved while the
solution remains unchanged.
In general, for the linear system Ax=b, we introduce the preconditioning matrix M, so that MAx =
Mb. We hope that Mis a good approximation of A−1and thus convergence will be rapid.
For Markov chain problems, the preconditioned power method becomes
x(k+1)=x(k)(I−(I−P)M).
Since the matrix ( I−P) is singular with rank ( n−1), we choose Mto be a good approximation of the
group inverse of ( I−P), written as ( I−P)#. Thus for SANs, the preconditioned power method is
x(k+1)=x(k)(I−(I−(I+ ∆tQ))M)
=x(k)(I+ ∆tQM)
=x(k)+ ∆tx(k)QM
=x(k)+ ∆tx(k)(T/summationdisplay
j=1⊗N
i=1Q(i)
j)M.
The problem now becomes that of finding a suitable preconditioner Mthat fits nicely into the SAN
formalism. A popular set of preconditioners, ILUpreconditioners, have largely been dismissed from
consideration. The problem with adapting ILUpreconditioners to SANs (for use in an iterative method,
like the preconditioned power method) is that they are based on incomplete LUfactorizations of the
transition matrix. SANs store the transition matrix information as a sum of Kronecker products. And
thus, an LUfactorization of a SAN descriptor is not easily accessible.
Numerous other preconditioners have been proposed for SANs but each has been unsuccessful [22,
1, 18]. Recently, we discovered a nearest Kronecker product (NKP) preconditioner for SANs [8]. The
initial results for the NKP preconditioner look promising [7, 9]. Our NKP preconditioner is derived from
Pitsianis and Van Loan’s work on approximation with Kronecker products. They discovered a method
for finding the nearest Kronecker product, A⊗B, for a general matrix R[13]. Since A⊗B≈R, one
would hope that A−1⊗B−1≈R−1. They took A−1⊗B−1=Mas the preconditioner and tested this on
a small example. Their Kronecker preconditioner compared favorably with many other preconditioners.
This sparked us to try to extend this to find a suitable SAN preconditioner. For our case of Markov
chains, we want to approximate Q#rather than Q−1. However, the algorithm for finding the AandB
almost always results in a nonsingular Aand nonsingular B. Thus, we must use the standard inverses,
A−1andB−1, to form the preconditioner. In effect, we are using the ideal preconditioner M=A−1⊗B−1
for a nearby system whose coefficient matrix ˆQis almost Q. Finding the small A−1andB−1matrices
is not too difficult and the approximation is good for many matrices with nice structure. The advantage
of the Kronecker approximation for SANs is that Mneed never be formed, instead only A−1andB−1
need to be stored and used in the vector-Kronecker product multiplication of the iterative methods. In
fact, we were able to extend Pitsianis and Van Loan’s work to find any number of smaller matrices whose
Kronecker product approximates the original matrix Q[8]. Thus, we can find A, B, . . . , N such that
A⊗B⊗ · · · ⊗ N≈Q. We take M=A−1⊗B−1⊗ · · · ⊗ N−1as our NKP preconditioner for SANs. Our
initial battery of tests of the NKP preconditioner on SANs reports good results [9]. In fact, the NKP
SAN preconditioner outperforms all other current preconditioners. We would like to remind the reader
that the properties and power of the Kronecker product made this discovery of a SAN preconditioner
possible.
16
5 Conclusion
The use and power of the Kronecker product is indeed ubiquitous as Van Loan [23] has suggested. In
this paper, we have gathered and cataloged the most useful properties of the Kronecker product and we
also added several new properties to this list. We then used these properties to describe a new application
for the Kronecker product, Stochastic Automata Networks.
References
[1] P. Buchholz, Projection methods for the analysis of stochastic automata networks, in B. Plateau,
W. J. Stewart, and M. Silva, eds., Numerical Solution of Markov Chains , Prensas Universitarias de
Zaragoza, 1999, pp. 149-168.
[2] S. L. Campbell and C. D. Meyer, Generalized Inverses of Linear Transformations , Pitman Publish-
ing, London, 1979.
[3] P. Fernandes, B. Plateau, and W.J. Stewart, Efficient descriptor-vector multiplications in stochastic
automata networks, Journal of Association for Computing Machinery , 45:(1998) 381-414.
[4] A. Graham, Kronecker Products and Matrix Calculus with Applications , John Wiley and Sons, New
York, 1981.
[5] H. V. Henderson, F. Pukelsheim and S. R. Searle, On the history of the Kronecker product, Linear
and Multilinear Algebra , 14(1983) 113-120.
[6] R. A. Horn and C. R. Johnson, Topics in Matrix Analysis , Cambridge University Press, Cambridge,
1991.
[7] A. N. Langville, Preconditioning for Stochastic Automata Networks , Ph. D. Thesis, Operations Re-
search Program, North Carolina State University, May 2002.
[8] A. N. Langville and W. J. Stewart, A Kronecker product approximate inverse preconditioner for
SANs, Journal of Numerical Linear Algebra with Applications , to appear.
[9] A. N. Langville and W. J. Stewart, Testing the NKP preconditioner on MCs and SANs, INFORMS
Journal on Computing , to appear.
[10] C. C. MacDuffee, The Theory of Matrices , Chelsea, New York, 1946.
[11] C. D. Meyer, Matrix Analysis and Applied Linear Algebra , SIAM, Philadelphia, 2000.
[12] C. D. Meyer, The role of the group generalized inverse in the theory of finite Markov chains, SIAM
Review , 17(1975) 443-464.
[13] N. Pitsianis and C. Van Loan, Approximation with Kronecker products, in M. S. Moonen and
G. H. Golub, eds., Linear Algebra for Large Scale and Real Time Applications , Kluwer Academic
Publishers, 1993, pp. 293-314.
[14] B. Plateau, On the stochastic structure of parallelism and synchronization models for distributed
algorithms, Performance Evaluation Review , 13(1985) 142-154.
[15] B. Plateau, PEPS: A package for solving complex Markov models of parallel systems, in R. Puigjaner
and D. Potier, eds., Modelling Techniques and Tools for Computer Performance Evaluation , Plenum
Press, New York, 1990, pp. 291-306.
17
[16] B. Plateau and K. Atif, Stochastic automata network for modelling parallel systems, IEEE Trans-
actions on Software Engineering , 17:10(1991) 1093-1108.
[17] B. Plateau and J. M. Fourneau, A methodology for solving Markov models of parallel systems,
Journal of Parallel and Distributed Computing , 12(1991) 370-387.
[18] B. Plateau, W.J. Stewart, and P. Fernandes, On the benefits of using functional transitions in
Kronecker modelling, submitted to Performance Evaluation , Jan. 2001.
[19] W-H. Steeb, Kronecker Product of Matrices and Applications , Wissenschaftsverlag, Mannheim, 1991.
[20] W. J. Stewart, Introduction to the Numerical Solution of Markov Chains , Princeton University Press,
Princeton, 1994.
[21] W. J. Stewart, Stochastic automata networks, In W. K. Grassmann, ed., Computational Probability ,
Kluwer Academic Press, Boston, 2000, pp. 113-152.
[22] W. J. Stewart, K. Atif, and B. Plateau, The numerical solution of stochastic automata networks,
European Journal of Operational Research , 86(1995) 503-525.
[23] C. F. Van Loan, The ubiquitous Kronecker product, Journal of Computational and Applied Mathe-
matics , 123(2000) 85-100.
18