Kronecker 2
DOCX · 53.0 KB
Open DOCX file
A Word document section from Phil's tensor and wedge product notes, marked "do not edit, has already been copied out." It defines the tensor product of operators S and T on V⊗W, checks bilinearity, and shows G = S F T^T on a general element. It then writes (S⊗T) with index pairs, flattens it into a matrix M using integer-part and remainder index rules, and shows the Kronecker block structure, with a Maple example.
AI-written summary; may contain errors.
Extracted text (machine-read; may contain errors)
do not edit, has already been copied out
1.5 Kronecker Products
The subject here is the tensor product of two linear operators, but as will be seen, it boils down combining two rank-2 tensors to make a rank-4 tensor. The reader can regard this section as an exercise in the tensor product machinery, and the Kronecker product just arises along the way.
Let V and X be vector spaces of dimension n and m. Basis(V) = ei Basis(X) = ei
Let W and Y be vector spaces of dimension n' and m'. Basis(W) = e'i Basis(Y) = e'i
Consider linear operators S and T such that,
x = Sv = a vector in X S: V→X xi = Σa=1n Siava i = 1,2..m
y = Tw = a vector in Y T:W→Y yj = Σb=1n'Tjbwb j = 1,2..m'
The linear operator S is represented by matrix Sia which has m rows and n columns (m x n).
The linear operator T is represented by matrix Tjb which has m' rows and n' columns (m' x n').
We want to create a meaning for ST which is the tensor product of these two operators S and T.
A candidate definition for this meaning is the following,
(ST)(vw) = (xy) = (Sv)(Tw) ST : VW → XY .
Consider the following processing steps,
(ST)([αv1 + βv2]w) = (S[αv1 + βv2])(Tw) // definition of action of (ST)
= (α Sv1+ βSv2) (Tw) // S:V→X is linear
= α (Sv1)(Tw) + β(Sv2)(Tw) // using the first rule for vectors
= α (ST)(v1w) + β (ST)(v2w) . // definition of action of (ST)
This shows that (ST)(vw) is linear in v. A similar argument shows it is also linear in w. Thus, the operator (ST) as defined above is a bilinear operator on VW, and we confirm the essential characteristic of the tensor product, which is its bilinearity. We accept the candidate.
____________________________________________________________________
Exercise: Compute the action of (ST) on a general element of VW .
Applying (ST) to a general element of VW we get
(ST)[ ΣijFij eie'j] = ΣijFij (ST)( eie'j) = ΣijFij (Sei)(Te'j) .
The action of S on a vector v (and T on w) can be written as
(Sv) = Σa[Sv]aea = Σa(ΣbSabvb)ea = Σab(Sabvb)ea
(Tw) = Σc[Tw]ce'c = Σc(ΣdTcdwd)e'c = Σcd(Tcdwd)e'c .
Therefore
(Sei) = ΣabSab(ei)b ea
(Te'j) = ΣcdTcd(e'j)d e'c .
Then
(Sei)(Te'j) = [ ΣabSab(ei)b ea] [ ΣcdTcd(e'j)d e'c]
= Σabcd Sab(ei)bTcd(e'j)d (eae'c)
and so
(ST)[ ΣijFij eie'j] = ΣijFij (Sei)(Te'j)
= Σijabcd FijSab(ei)bTcd(e'j)d (eae'c)
= Σac { Σijbd FijSab(ei)bTcd(e'j)d } (eae'c)
= Σac Gac (eae'c) where Gac = Σijbd FijSab(ei)bTcd(e'j)d .
In the special case that ei and e'j are the standard unit vector bases for V and W, the result simplifies,
Gac = Σijbd FijSabδi,bTcd δj,d = Σij FijSaiTcj = Σij SaiFijTTjc = (SFTT)ac
or
G = SFTT . // G(m x m') = S(m x n) F(n x n') TT (n' x m'), so matrices "conform"
This shows explicitly how bilinear operator (ST) acts on a general element of VW to produce an element of the space XY which has basis eie'j.
_______________________________________________________________
It is useful now to consider the component analysis of the action of ST on a pure element of VW in the sense of outer products. Then
(xy) = (ST)(vw) = (Sv)(Tw)
so
(xy)ii' = [(ST)(vw)]ii' = [(Sv)(Tw)]ii' . (**)
The right side of (**) is easily processed as above,
[(Sv)(Tw)]ii' = (Sv)i(Tw)i' = (Σj Sijvj)(Σj'Ti'j'wj') (*)
= Σjj' SijTi'j' vjwj' = Σjj' SijTi'j' (vw)jj' . (***)
It is helpful to visualize the object in the middle of (**) in this manner,
[(ST)(vw)]ii' = Σjj' (ST)ii',jj' (vw)jj' (****)
so then (**) becomes
(xy)ii' = Σjj' (ST)ii',jj' (vw)jj'
as if we were multiplying a vector (vw) by a matrix (ST), but the usual summation index is replaced by two summation indices j and j'. In a multiindex notation one might write the above as
(xy)I = [(ST)(vw)]I = ΣJ (ST)I,J (vw)J I = {i,i'} J = {j,j'} .
Comparing (***) and (****) we find that,
(ST)ii',jj' = SijTi'j'
Note carefully how the indices are arranged: S gets the firsts, T gets the seconds. This same equation appeared earlier in Section 1.4.
The object (ST)ii',jj' is a rank-4 tensor, since it is the outer product of two rank-2 tensors Sij and Ti'j', and as such it has four indices. As shown earlier, normally one would write (ST)iji'j' with no comma and with the indices in the same order as those in SijTi'j'. The alternate comma notation allows the quasi-matrix multiplication point of view shown above.
Is there some way to write ST as a standard matrix with two indices instead of four? Go back to our equation
(xy)ii' = Σjj' (ST)ii',jj' (vw)jj'
or
(xiyi') = Σjj' (ST)ii',jj' (vjwj') (ST)ii',jj' = (SijTi'j') .
We want to write this somehow in a form
q'r = Σs Mrs qs .
For illustration purposes, assume n = 2 and n' = 3. Then write the components (vjwj') as a single column vector in this obvious manner, where the w component index moves fastest,
= = q with components qs where s = 1,2....n*n' .
If vjwj' → qs, one can compute s from j,j' as follows: ( here 3 = n' = dim(W) for this special case )
s = (j-1)3 + j' (s-1) = (j-1)3 + (j'-1) = (j-1) +
int() = j-1 and rem () = j'-1 .
Thus for general n' we can compute j and j' from s in this way (integer part and remainder)
j = 1+int( ) j' = 1+rem( ) . s = 1,2....n*n'
One can similarly consider xiyi'→ q'r where the column vector q' has m*m' components. The rules here are
i = 1+int( ) i' = 1+rem( ) . r = 1,2...m*m'
Therefore, the desired Mrs is given by
Mrs = (ST)ii',jj' = SijTi'j' where
i = 1+int( ) j = 1+int( ) s = 1,2....n*n'
i' = 1+rem( ) j' = 1+rem( ) r = 1,2...m*m' .
It is a bit tedious to compute and display one of these M matrices by hand, so we let Maple do it for us. For this example we use
S = m x n = 2 x 3 rows = m*m' = 6
T = m' x n' = 3 x 4 cols = n*n' = 12
Symbolically we can write M = (ST), with the meaning shown above. Matrices M of this general type are known as Kronecker products. Staring at the above matrix, one can see that the T submatrix is repeated many times, and one can write this matrix in a shorthand notation as
M = where T = .
This provides an easy way to manually construct such matrices. This construction is explained if we look back at the M matrix definition,
Mrs = (ST)ii',jj' = SijTi'j' where
i = 1+int( ) j = 1+int( ) s = 1,2....n*n'
i' = 1+rem( ) j' = 1+rem( ) r = 1,2...m*m' .
The indices i,j on S select a rectangular subregion of the M matrix due to their integer part definitions. Then within each subregion the i'j' indices run through their full ranges so a copy of matrix T appears in that subregion, multiplied by the Sij for that subregion.
One is commonly interested in the case where
S: V→V S = n x n matrix
T: W→W T = n' x n' matrix
With n = m = 2 and n' = m' = 2 the above code generates this matrix M,
which can be compared with a result quoted on the wiki tensor product page.