Phil Lucht Math & Physics Archive
Home / Math and Physics Files / Math / Wedge World / tensor wedge doc / tensor obs

temp2 kronecker product

DOCX · 55.3 KB
Open DOCX file

A draft section (dated 1.11.15, marked as already installed into the tensor and wedge document) deriving the tensor product of linear operators S and T in full covariant notation. It shows bilinearity, computes the action on a general element of VW, and builds the ordinary matrix M with index maps using integer part and remainder. A Maple example with 2x3 and 3x4 matrices is described, but the code and matrices are missing from the extracted text.

AI-written summary; may contain errors. This description is approximate.

Extracted text (machine-read; may contain errors)
This is the Title PhL 1.11.15 Do not edit, this has been installed into tensor and wedge on 1-/2/15. 3.2 Kronecker Products The subject here is the tensor product of two linear operators. The reader can regard this section as an exercise in using the covariant tensor product machinery. 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 . (3.2.1) We imagine that vector spaces V,X,W,Y have metric tensors g, g, g', g' which can be used to raise and lower subscripts in the standard manner shown in (2.2.1). Often one assumes that all these spaces have a Cartesian metric tensor, so up and down indices are the same, but we shall carry out the development below in full covariant notation as part of our "exercise". Rather than use Einstein implied sums, we shall display all sums explicitly in this section. 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' . (3.2.2) Notice that on Sia the first index is an X-space index which can be raised and lowered by metric tensor g, whereas the second index on Sia is a V-space index which can be raised and lowered by g. So we can regard Sia as the components of a "cross tensor" involving the spaces X and V. In any equation below, we are free to change the "tilt" of any contracted index pair in the manner of (2.9.1) because such tilted index pairs will always be associated with the same metric tensor. Similar comments apply to Tjb. 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) = (Sv)(Tw) . // = (xy) ST : VW → XY . (3.2.3) Consider the following processing steps, (ST)([αv1 + βv2]w) = (S[αv1 + βv2])(Tw) // (3.2.3) = (α Sv1+ βSv2) (Tw) // S:V→X is linear = α (Sv1)(Tw) + β(Sv2)(Tw) // using the first rule in (3.1.1) = α (ST)(v1w) + β (ST)(v2w) . // (3.2.3) used twice (3.2.4) 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 definition (3.2.3). ____________________________________________________________________ Exercise: Compute the action of (ST) on a general element of VW . Apply (ST) to a general element of VW using tensor expansion (2.10.4) and then (3.2.3), (ST)[ ΣijFij eie'j] = ΣijFij (ST)(eie'j) = ΣijFij (Sei)(Te'j) . (3.2.5) The action of S on a vector v (and T on w) can be written x = (Sv) = Σa[Sv]aea = Σa(ΣbSabvb)ea = Σab(Sabvb)ea y = (Tw) = Σc[Tw]ce'c = Σc(ΣdTcdwd)e'c = Σcd(Tcdwd)e'c . (3.2.6) Select v = ei and w = e'j in these last two equations to get, (Sei) = ΣabSab(ei)b ea (Te'j) = ΣcdTcd(e'j)d e'c . (3.2.7) Then (Sei)(Te'j) = [ ΣabSab(ei)b ea] [ ΣcdTcd(e'j)d e'c] = Σabcd Sab(ei)bTcd(e'j)d (eae'c) (3.2.8) and so the action of the tensor product operator (ST) is given by. (ST)[ ΣijFij eie'j] = ΣijFij (Sei)(Te'j) // (3.2.3) = Σijabcd FijSab(ei)bTcd(e'j)d (eae'c) // (3.2.8) = Σac { Σijbd FijSab(ei)bTcd(e'j)d } (eae'c) // regroup = Σac Gac (eae'c) where Gac = Σijbd FijSab(ei)bTcd(e'j)d . (3.2.9) We have then shown the action of operator ST on a general element of VW : (ST) { ΣijFij eie'j } = Σac Gac (eae'c) (ST) : VW → XY where Gac = Σijbd Fij Sab (ei)b Tcd (e'j)d . (3.2.10) _______________________________________________________________ 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) (3.2.3) so (xy)ii' = [(ST)(vw)]ii' = [(Sv)(Tw)]ii' . (3.2.11) The right side of this last equation can be expanded using (3.1.2) and (3.2.2) to get [(Sv)(Tw)]ii' = (Sv)i(Tw)i' = (Σj Sijvj)(Σj'Ti'j'wj') = Σjj' SijTi'j' vjwj' = Σjj' SijTi'j' (vw)jj' . // = (xy)ii' (3.2.12) so then (3.2.11) may be written [(ST)(vw)]ii' = Σjj' [ SijTi'j'] (vw)jj' . // = (xy)ii' (3.2.13) We now define (ST)ii',jj' ≡ SijTi'j' (3.2.14) The comma is used to distinguish the left side from the rank-4 tensor (ST)ii'jj' = Sii'Tjj' which is a different animal. Since S and T are (cross) tensors, we can raise and lower indices on the right side of (3.2.14) using the appropriate metric tensors as discussed below (3.2.1), and then the left side indices follow since this is a definition. For example. (ST)ii',jj' ≡ SijTi'j' . (3.2.15) This definition was mentioned in (3.1.11) where it was compared to the usual notation used for a rank-4 outer product tensor (ST)iji'j' = SijTi'j'. In (3.2.15) the two first indices of S and T are listed before the comma while the two second indices appear after the comma. Installing (3.2.14) into (3.2.13), one gets [(ST)(vw)]ii' = Σjj'(ST)ii',jj' (vw)jj' . // = (xy)ii' (3.2.16) The structure of this equation suggests that we are 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 xI = [(ST)(vw)]I = ΣJ (ST)IJ (vw)J . I = {i,i'} J = {j,j'} (3.2.17) Is there some way to write ST as a standard matrix with two indices instead of four? Start with (3.2.16) written as (xy)ii' = Σjj' (ST)ii',jj' (vw)jj' or (xiyi') = Σjj' (ST)ii',jj' (vjwj'). (ST)ii',jj' = (SijTi'j') . (3.2.18) We want to write this somehow in a form q'r = Σs Mrs qs . (3.2.19) 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' . (3.2.20) 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 . (3.2.21) 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' . (3.2.22) One can similarly consider xiyi'→ q'r where the column vector q' has m*m' components. The rules here are analogous to those above, i = 1+int( ) i' = 1+rem( ) r = 1,2...m*m' . (3.2.23) Therefore, comparing (3.2.19) and (3.2.18), 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' . (3.2.24) Thus we have reconfigured our multi-index equation xI = ΣJ (ST)I,J (vw)J into an ordinary matrix equation q'r = Σs Mrs qs where Mrs is given as stated above. This matrix Mrs = (ST)ii',jj' = SijTi'j' is known as the Kronecker product of the matrices S and T. The subscripts i,i',j'j' are all functions of r and s as shown in (3.2.24). Symbolically we write this Kronecker product as M = ST. Normally in writing M = ST one would imply Mabcd = SabTcd which is unrelated to the Kronecker product. 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 the following dimensions m, n, m', n' for the spaces X, V, Y, W : S = m x n = 2 x 3 rows = m*m' = 6 T = m' x n' = 3 x 4 cols = n*n' = 12 (3.2.25) The code simply does what (3.2.24) says to do: (3.2.26) (3.2.27) One should interpret each matrix element of the form SabTcd as SabTcd -- we don't know how to make Maple display things this way. If all metric tensors are Cartesian, then (3.2.27) is correct as is. 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 = . (3.2.28) This provides an easy way to manually construct such matrices. This construction can be understood 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' . (3.2.24) 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 (3.2.29) With n = m = 2 and n' = m' = 2 the above code generates this matrix M, (3.2.30) which can be compared with a result quoted on the wiki tensor product page.