Multilinear multiplication: Difference between revisions

From testwiki
Jump to navigation Jump to search
imported>Citation bot
Add: isbn, publisher, year, series. Removed URL that duplicated unique identifier. | You can use this bot yourself. Report bugs here. | Activated by Headbomb | via #UCB_webform
 
(No difference)

Latest revision as of 22:02, 5 May 2020

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

Abstract definition

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

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

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

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

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

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