Professional Documents
Culture Documents
Comp Mult Linear
Comp Mult Linear
⎡ ⎤
⎢
⎢
⎢
b11c11 b11c12 b11c13 b12c11 b12c12 b12c13 ⎥
⎥
⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢
⎢
⎢
b11c21 b11c22 b11c23 b12c21 b12c22 b12c23 ⎥
⎥
⎥
⎡ ⎤
⎢ ⎥
⎢ c11 c12 c13 ⎥
⎡ ⎤ ⎢ ⎥
⎢ b11 b12 ⎥⎥ ⎢
⎢
⎥
⎥
⎢
⎢
⎢
b11c31 b11c32 b11c33 b12c31 b12c32 b12c33 ⎥
⎥
⎥
⎦ ⊗ ⎢ c21 c22 c23 ⎥ =
⎢ ⎢ ⎥ ⎢ ⎥
⎣ ⎢ ⎥
b21 b22 ⎢
⎣
⎥
⎦
⎢
⎢
⎥
⎥
c31 c32 c33 ⎢
⎢
⎢ b21c11 b21c12 b21c13 b22c11 b22c12 b22c13 ⎥
⎥
⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢
⎢
⎢
b21c21 b21c22 b21c23 b22c21 b22c22 b22c23 ⎥
⎥
⎥
⎢ ⎥
⎣ ⎦
b21c31 b21c32 b21c33 b22c31 b22c32 b22c33
Quite predictable:
(B ⊗ C)T = BT ⊗ C T
(B ⊗ C)−1 = B −1 ⊗ C −1
(B ⊗ C)(D ⊗ F ) = BD ⊗ CF
B ⊗ (C ⊗ D) = (B ⊗ C) ⊗ D
Think twice:
B⊗C =C ⊗B
Takes the length-pq “card deck” x, splits it into p piles of length-q each, and
then takes one card from each pile in turn until the deck is reassembled.
C ⊗ B = Sm1,m2 (B ⊗ C)SnT1,n2 B ∈ IRm1×n1 , C ∈ IRm2×n2
E.g., ⎡ ⎤
⎢ ⎥
⎢
⎢
⎢
b11c11 b11c12 b11c13 b12c11 b12c12 b12c13 ⎥
⎥
⎥
⎢ ⎥
⎢ ⎥
⎢
⎢
⎢
b11c21 b11c22 b11c23 b12c21 b12c22 b12c23 ⎥
⎥
⎥
A=B⊗C = ⎢
⎢
⎢
⎥
⎥
⎥
⎢ ⎥
⎢ ⎥
⎢
⎢
⎢
b21c11 b21c12 b21c13 b22c11 b22c12 b22c13 ⎥
⎥
⎥
⎢ ⎥
⎣ ⎦
b21c21 b21c22 b21c23 b22c21 b22c22 b22c23
⎡ ⎤
⎢
⎢
c11b11 c11b12 c12b11 c12b12 c13b11 c13b12 ⎥⎥
⎢ ⎥
⎢ ⎥
T
⎢
⎢
⎢
c11b21 c11b22 c12b21 c12b22 c13b21 c13b22 ⎥
⎥
⎥
S2,2 A S2,3 = = C ⊗B = ⎢
⎢
⎢
⎥
⎥
⎥
⎢
⎢
⎢
c21b11 c21b12 c22b11 c22b12 c23b11 c23b12 ⎥
⎥
⎥
⎢ ⎥
⎣ ⎦
c21b21 c21b22 c22b21 c22b22 c23b21 c23b22
Inheriting Structure
⎧ ⎫ ⎧ ⎫
⎪
⎪
⎪
⎪
⎪
⎪
nonsingular ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
nonsingular ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪ ⎪ ⎪ ⎪
⎪
⎪
⎪
⎪
⎪
⎪
lower(upper) triangular
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
lower(upper)triangular⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
banded ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
block banded ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
symmetric ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
symmetric ⎪
⎪
⎪
⎪
⎪
⎪
⎨ ⎬ ⎨ ⎬
If B and C are ⎪⎪⎪ positive definite ⎪
⎪
⎪
then B ⊗ C is ⎪
⎪
⎪
positive definite ⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
stochastic ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
stochastic ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪ ⎪ ⎪ ⎪
⎪
⎪
⎪
⎪
⎪
Toeplitz ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
block Toeplitz ⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪ ⎪ ⎪ ⎪
⎪
⎪
⎪
⎪
⎪
⎪
permutations ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
a permutation ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎩ orthogonal
⎪ ⎪
⎭ ⎩ orthogonal
⎪ ⎪
⎭
Factorizations of B ⊗ C
Obvious...
B ⊗ C = (PBT LB UB ) ⊗ (PCT LC UC ) = (PB ⊗ PC )T (LB ⊗ LC )(UB ⊗ UC )
Sort of...
B ⊗ C = (QB ΛB QTB ) ⊗ (QC ΛC QTC ) = (QB ⊗ QC )(ΛB ⊗ ΛC )(QB ⊗ QC )T
Problematic...
Ordinarily, a Cholesky factorization GGT this size would cost O(m3n3) flops.
CY = F
XB T = Y
⎡ ⎤
⎢
⎢
X(:, 1) ⎥⎥
⎢ ⎥
⎢
⎢ X(:, 2) ⎥⎥⎥
X ∈ IRm×n ⇒ vec(X) = ⎢
⎢
⎢ .. ⎥
⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
X(:, n)
Sylvester:
F X + XGT = C ≡ (In ⊗ F + G ⊗ Im) vec(X) = vec(C)
Lyapunov:
F X + XF T = C ≡ (In ⊗ F + F ⊗ In) vec(X) = vec(C)
Generalized Sylvester:
F1XGT1 + F2XGT2 = C ≡ (G1 ⊗ F1 + G2 ⊗ F2) vec(X) = vec(C)
These can be solved in O(n3) time via the (generalized) Schur decomposition.
See Bartels and Stewart, Golub, Nash, and Van Loan, and J. Gardiner, M.R.
Wette, A.J. Laub, J.J. Amato, and C.B. Moler.
Talk Outline
How do we solve
(1) min W ((B ⊗ C)x − d) (weighted least quares)
(1 ) min (B ⊗ C)x − d
(2 ) U T (B ⊗ C)V = Σ
(3 ) (Ap ⊗ · · · ⊗ A1)x = b
are easy
The Rise of the Kronecker Product
X ⊗ X + AT DA u = f.
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢
⎢
0 AT I ⎥ ⎢ ∆x ⎥
⎥⎢ ⎥
⎢ rd ⎥
⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢
⎢
⎢
A 0 0 ⎥ ⎢ ∆y ⎥
⎥⎢
⎥⎢
⎥ =
⎥
⎢ r ⎥
⎢ p ⎥ .
⎢ ⎥
⎣ ⎦⎣ ⎦ ⎣ ⎦
Z⊗I 0 X ⊗I ∆z rc
⎡ ⎤
⎢
⎢
x11 x12 x13 ⎥⎥ √ √ √
⎢ ⎥ T
X = ⎢
⎢
⎢
x21 x22 x23 ⎥⎥ ⇒ svec(X) = x11 2x21 2x31 x22 2x32 x33
⎥
.
⎣ ⎦
x31 x32 x33
Sparse Factorizations
n = 2t
Fn = At · · · A1Pn
⎡ ⎤
⎢
⎢
IL/2 ΩL/2 ⎥⎥
Aq = Ir ⊗ ⎢
⎢
⎢
⎣
⎥
⎥
⎥
⎦
L = 2q , r = n/L
IL/2 −ΩL/2
⎡ ⎤ ⎡ ⎤⎡ ⎤
⎢
⎢
a11 ⎥⎥ ⎢
⎢
1 0 0 0 0 0 ⎥
⎥
⎢
⎢
a11 ⎥⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢
⎢
⎢
a12 ⎥⎥⎥ ⎢
⎢
⎢
0 0 1 0 0 0 ⎥
⎥
⎥
⎢
⎢
⎢
a21 ⎥⎥⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢
⎢
⎢ a13 ⎥⎥⎥ ⎢
⎢
⎢ 0 0 0 0 1 0 ⎥
⎥
⎥
⎢
⎢
⎢ a12 ⎥⎥⎥
⎢
⎢
⎥ = ⎢ ⎥ ⎢ ⎥
⎢
⎢
⎢
a21 ⎥⎥⎥⎥ ⎢
⎢
⎢
⎢
0 1 0 0 0 0 ⎥
⎥
⎥
⎥
⎢
⎢
⎢
⎢
a22 ⎥⎥⎥⎥
⎢
⎢
⎢
⎢
a22 ⎥⎥⎥⎥ ⎢
⎢
⎢
⎢
0 0 0 1 0 0 ⎥
⎥
⎥
⎥
⎢
⎢
⎢
⎢
a13 ⎥⎥⎥⎥
⎣
a23 ⎦ ⎣
0 0 0 0 0 1 ⎦ ⎣
a23 ⎦
⎡ ⎤
⎢ a11 a21 ⎥⎥ ⎡ ⎤T
⎢
⎢ ⎥ ⎢ a11 a12 a13 ⎥⎥
⎢
⎢ a12 a22 ⎥⎥⎥ = ⎢
⎣ ⎦
⎢
⎣ ⎦ a21 a22 a23
a13 a23
Multiple Pass Transpose
Sn,m = Γt · · · Γ1
a = vec(A)
for k = 1:t
a ← Γk a
end
Define B ∈ IRn×m by vec(B) = a.
The second pass b(2) = Γ2b(1) carries out the transposition of the blocks.
b n
a f (x) dx ≈ wi f (xi)
i=1
= wT f (x)
min (B ⊗ C)x − b
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢
⎢
W B⊗C ⎥
⎥
⎢
⎢
r ⎥
⎥
⎢
⎢
b ⎥
⎥
−1/2
min W ((B ⊗ C)x − b) 2 ≡ ⎢
⎢
⎣
⎥
⎥
⎦
⎢
⎢
⎣
⎥
⎥
⎦
= ⎢
⎢
⎣
⎥
⎥
⎦
T T
B ⊗C 0 x 0
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢
⎢
E11 E12 RB ⊗ RC ⎥
⎥
⎢
⎢
r̃1 ⎥⎥ ⎢
⎢ b̃1 ⎥⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥
⎢
⎢
⎢
E21 E22 0 ⎥
⎥
⎥
⎢
⎢
⎢
r̃2 ⎥
⎥
⎥
= ⎢
⎢
⎢
b̃2 ⎥
⎥
⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ T ⊗ T ⎦ ⎣ ⎦ ⎣ ⎦
RB RC 0 0 x 0
where
⎡ ⎤
⎢ E11 E12 ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
E21 E22
⎡ ⎤
⎢ B1 ⊗ C1 ⎥⎥
min ⎢
⎣ ⎦x − b
B2 ⊗ C2 2
⎡ ⎤ ⎡ ⎤⎡ ⎤
⎢ B1 ⊗ C1 ⎥⎥ ⎢ U1B ⊗ U2B 0 ⎥⎢ D1B ⊗ D2B ⎥⎥ T T
⎦ = ⎦ XB ⊗ XC .
⎢ ⎢ ⎥⎢
⎣ ⎣ ⎦⎣
B2 ⊗ C2 0 U1C ⊗ U2C D1C ⊗ D2C
Total Least Squares
2
LS: min r 2 AxLS = b + ropt
b + r ∈ ran(A)
2 2
TLS: min E F + r 2 (A + Eopt)xTLS = b + ropt
b + r ∈ ran(A + E)
“Errors in Variables”
Total Least Squares Solution
To solve
2 2
min E F + r 2 (A + Eopt)xTLS = b + ropt
b + r ∈ ran(A + E)
UT A b V = Σ
and set
z = (ΣB ⊗ ΣC )T g
α = gT g
Eigenvectors/Eigenvalues of Bordered Matrices
⎡ ⎤
d1⎢
⎢
0 0 0 z1 ⎥⎥
⎢ ⎥
0 ⎢
⎢
⎢
d2 0 0 z2 ⎥⎥⎥
⎢ ⎥
⎢
C= 0 ⎢
⎢
⎢
0 d3 0 z3 ⎥⎥⎥⎥
⎢
0 ⎢
⎢
⎢
0 0 d4 z4 ⎥⎥⎥⎥
⎣
z1 z2 z3 z4 α⎦
N zi2
f (µ) = µ − α + z T (D − µI)−1z = µ − α +
i=1 di − µ
Can assume that the di are distinct and that the zi are nonzero.
The zeros of f are separated by the di. Can show that the smallest root of f
(a.k.a. the smallest eigenvalue of F̃ ) is between 0 and the smallest di.
From the eigenvalue equation
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢ D z ⎥⎥ ⎢⎢ x ⎥⎥ ⎢ x ⎥
⎢
⎣ T ⎦ ⎣ ⎦ = µmin
⎢
⎣
⎥
⎦
z α −1 −1
it follows that
x = (D − µminI)−1z
Thus the sought-after singular vector of F̃ is just a unit vector in the direction
⎡ ⎤
−1
⎢ (D − µmin I) z ⎥⎥
⎢
⎢ ⎥
⎢ ⎥
⎣ ⎦
−1
Overall Solution Procedure
It follows that
and we get
y←c
for i = 1:p
−1
y ← Iρi ⊗ T (i) ⊗ Iµi y
end
The p = 2 case: (F ⊗ G − λI)x = b
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢
⎢
f11G − λIm f12G f13G f14G ⎥ ⎢ y1 ⎥
⎥⎢ ⎥
⎢
⎢
c1 ⎥⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢
⎢ 0 f22G − λIm f23G f24G ⎥ ⎢ y2 ⎥
⎥ ⎢ ⎥ ⎢
⎢ c2 ⎥⎥⎥
⎥ =
⎢ ⎥⎢ ⎥ ⎢
⎢ ⎥⎢ ⎢ ⎥
⎢
⎢
⎢
0 0 f33G − λIm f34G ⎥ ⎢ y3 ⎥
⎥⎢
⎥⎢
⎥
⎥
⎢
⎢
⎢
c3 ⎥⎥⎥
⎣ ⎦⎣ ⎦ ⎣ ⎦
0 0 0 f44G − λIm y4 c4
⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢ f11 G − λIm f12G f13G f14G ⎥ ⎢ y1 ⎥ ⎢ c1 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢
⎢ 0 f 22 G − λIm f23 G f24 G ⎥ ⎢ y2 ⎥
⎥ ⎢ ⎥ ⎢ c ⎥
⎢ 2 ⎥
⎥ =
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ ⎥⎢ ⎢ ⎥
⎢
⎢
⎢
0 0 f 33 G − λIm f34 G ⎥⎢
⎥ ⎢ y
⎥⎢ 3 ⎥
⎥
⎥ ⎢ c3 ⎥
⎢
⎢
⎥
⎥
⎣ ⎦⎣ ⎦ ⎣ ⎦
0 0 f43G f44G − λIm y4 c4
Our goal is to heighten the profile of the Kronecker product and develop an
“infrastructure” of methods thereby making it easier for the numerical linear
algebra community to spot Kronecker “opportunities”.
With precedent...
• The development of the QZ algorithm (Moler and Stewart (1973)) for the
problem Ax = λBx prompted a rethink of “standard” eigenproblems that
have the form B −1Ax = λx.