Multilinear multiplication

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In multilinear algebra, applying a map that is the tensor product of linear maps to a tensor is called a multilinear multiplication.

Abstract definition

[edit | edit source]

Let F be a field of characteristic zero, such as or . Let Vk be a finite-dimensional vector space over F, and let 𝒜V1V2Vd be an order-d simple tensor, i.e., there exist some vectors 𝐯kVk such that 𝒜=𝐯1𝐯2𝐯d. If we are given a collection of linear maps Ak:VkWk, then the multilinear multiplication of 𝒜 with (A1,A2,,Ad) is defined[1] as the action on 𝒜 of the tensor product of these linear maps,[2] namely

A1A2Ad:V1V2VdW1W2Wd,𝐯1𝐯2𝐯dA1(𝐯1)A2(𝐯2)Ad(𝐯d)

Since the tensor product of linear maps is itself a linear map,[2] and because every tensor admits a tensor rank decomposition,[1] the above expression extends linearly to all tensors. That is, for a general tensor 𝒜V1V2Vd, the multilinear multiplication is

:=(A1A2Ad)(𝒜)=(A1A2Ad)(i=1r𝐚i1𝐚i2𝐚id)=i=1rA1(𝐚i1)A2(𝐚i2)Ad(𝐚id)

where 𝒜=i=1r𝐚i1𝐚i2𝐚id with 𝐚ikVk is one of 𝒜's tensor rank decompositions. The validity of the above expression is not limited to a tensor rank decomposition; in fact, it is valid for any expression of 𝒜 as a linear combination of pure tensors, which follows from the universal property of the tensor product.

It is standard to use the following shorthand notations in the literature for multilinear multiplications:(A1,A2,,Ad)𝒜:=(A1A2Ad)(𝒜)andAkk𝒜:=(IdV1,,IdVk1,Ak,IdVk+1,,IdVd)𝒜,where IdVk:VkVk is the identity operator.

Definition in coordinates

[edit | edit source]

In computational multilinear algebra it is conventional to work in coordinates. Assume that an inner product is fixed on Vk and let Vk* denote the dual vector space of Vk. Let {e1k,,enkk} be a basis for Vk, let {(e1k)*,,(enkk)*} be the dual basis, and let {f1k,,fmkk} be a basis for Wk. The linear map Mk=i=1mkj=1nkmi,j(k)fik(ejk)* is then represented by the matrix M^k=[mi,j(k)]Fmk×nk. Likewise, with respect to the standard tensor product basis {ej11ej22ejdd}j1,j2,,jd, the abstract tensor𝒜=j1=1n1j2=1n2jd=1ndaj1,j2,,jdej11ej22ejddis represented by the multidimensional array 𝒜^=[aj1,j2,,jd]Fn1×n2××nd . Observe that 𝒜^=j1=1n1j2=1n2jd=1ndaj1,j2,,jd𝐞j11𝐞j22𝐞jdd,

where 𝐞jkFnk is the jth standard basis vector of Fnk and the tensor product of vectors is the affine Segre map :(𝐯(1),𝐯(2),,𝐯(d))[vi1(1)vi2(2)vid(d)]i1,i2,,id. It follows from the above choices of bases that the multilinear multiplication =(M1,M2,,Md)𝒜 becomes

^=(M^1,M^2,,M^d)j1=1n1j2=1n2jd=1ndaj1,j2,,jd𝐞j11𝐞j22𝐞jdd=j1=1n1j2=1n2jd=1ndaj1,j2,,jd(M^1,M^2,,M^d)(𝐞j11𝐞j22𝐞jdd)=j1=1n1j2=1n2jd=1ndaj1,j2,,jd(M^1𝐞j11)(M^2𝐞j22)(M^d𝐞jdd).

The resulting tensor ^ lives in Fm1×m2××md.

Element-wise definition

[edit | edit source]

From the above expression, an element-wise definition of the multilinear multiplication is obtained. Indeed, since ^ is a multidimensional array, it may be expressed as ^=j1=1n1j2=1n2jd=1ndbj1,j2,,jd𝐞j11𝐞j22𝐞jdd,where bj1,j2,,jdF are the coefficients. Then it follows from the above formulae that

((𝐞i11)T,(𝐞i22)T,,(𝐞idd)T)^=j1=1n1j2=1n2jd=1ndbj1,j2,,jd((𝐞i11)T𝐞j11)((𝐞i22)T𝐞j22)((𝐞idd)T𝐞jdd)=j1=1n1j2=1n2jd=1ndbj1,j2,,jdδi1,j1δi2,j2δid,jd=bi1,i2,,id,

where δi,j is the Kronecker delta. Hence, if =(M1,M2,,Md)𝒜, then

bi1,i2,,id=((𝐞i11)T,(𝐞i22)T,,(𝐞idd)T)^=((𝐞i11)T,(𝐞i22)T,,(𝐞idd)T)(M^1,M^2,,M^d)j1=1n1j2=1n2jd=1ndaj1,j2,,jd𝐞j11𝐞j22𝐞jdd=j1=1n1j2=1n2jd=1ndaj1,j2,,jd((𝐞i11)TM^1𝐞j11)((𝐞i22)TM^2𝐞j22)((𝐞idd)TM^d𝐞jdd)=j1=1n1j2=1n2jd=1ndaj1,j2,,jdmi1,j1(1)mi2,j2(2)mid,jd(d),

where the mi,j(k) are the elements of M^k as defined above.

Properties

[edit | edit source]

Let 𝒜V1V2Vd be an order-d tensor over the tensor product of F-vector spaces.

Since a multilinear multiplication is the tensor product of linear maps, we have the following multilinearity property (in the construction of the map):[1][2]

A1Ak1(αAk+βB)Ak+1Ad=αA1Ad+βA1Ak1BAk+1Ad

Multilinear multiplication is a linear map:[1][2] (M1,M2,,Md)(α𝒜+β)=α(M1,M2,,Md)𝒜+β(M1,M2,,Md)

It follows from the definition that the composition of two multilinear multiplications is also a multilinear multiplication:[1][2]

(M1,M2,,Md)((K1,K2,,Kd)𝒜)=(M1K1,M2K2,,MdKd)𝒜,

where Mk:UkWk and Kk:VkUk are linear maps.

Observe specifically that multilinear multiplications in different factors commute,

Mkk(M𝒜)=M(Mkk𝒜)=MkkM𝒜,

if k.

Computation

[edit | edit source]

The factor-k multilinear multiplication Mkk𝒜 can be computed in coordinates as follows. Observe first that

Mkk𝒜=Mkkj1=1n1j2=1n2jd=1ndaj1,j2,,jd𝐞j11𝐞j22𝐞jdd=j1=1n1jk1=1nk1jk+1=1nk+1jd=1nd𝐞j11𝐞jk1k1Mk(jk=1nkaj1,j2,,jd𝐞jkk)𝐞jk+1k+1𝐞jdd.

Next, since

Fn1Fn2FndFnk(Fn1Fnk1Fnk+1Fnd)FnkFn1nk1nk+1nd,

there is a bijective map, called the factor-k standard flattening,[1] denoted by ()(k), that identifies Mkk𝒜 with an element from the latter space, namely

(Mkk𝒜)(k):=j1=1n1jk1=1nk1jk+1=1nk+1jd=1ndMk(jk=1nkaj1,j2,,jd𝐞jkk)𝐞μk(j1,,jk1,jk+1,,jd):=Mk𝒜(k),

where 𝐞jis the jth standard basis vector of FNk, Nk=n1nk1nk+1nd, and 𝒜(k)FnkFNkFnk×Nk is the factor-k flattening matrix of 𝒜 whose columns are the factor-k vectors [aj1,,jk1,i,jk+1,,jd]i=1nk in some order, determined by the particular choice of the bijective map

μk:[1,n1]××[1,nk1]×[1,nk+1]××[1,nd][1,Nk].

In other words, the multilinear multiplication (M1,M2,,Md)𝒜 can be computed as a sequence of d factor-k multilinear multiplications, which themselves can be implemented efficiently as classic matrix multiplications.

Applications

[edit | edit source]

The higher-order singular value decomposition (HOSVD) factorizes a tensor given in coordinates 𝒜Fn1×n2××nd as the multilinear multiplication 𝒜=(U1,U2,,Ud)𝒮, where UkFnk×nk are orthogonal matrices and 𝒮Fn1×n2××nd.

Further reading

[edit | edit source]
  1. ^ a b c d e f Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).