Cholesky decomposition of a tensor

Share:

Description

A tensor can be seen as a linear mapping of a tensor to a tensor. This function computes its Cholesky decomposition.

Usage

1
chol.tensor(X,i,j,...,name="lambda")

Arguments

X

The tensor to be decomposed

i

The image dimensions of the linear mapping

j

The coimage dimensions of the linear mapping

name

The name of the eigenspace dimension. This is the dimension created by the decompositions, in which the eigenvectors are e_i

...

for generic use only

Details

A tensor can be seen as a linear mapping of a tensor to a tensor. Let denote R_i the space of real tensors with dimensions i_1...i_d.

  • chol.tensorComputes for a tensor a_{i_1...i_dj_1...j_d} representing a positive definit mapping form R_j to R_j with equal dimension structure in i and j its "Cholesky" decomposition L_{i_1...i_d lambda} such that

    a_{i_1...i_dj_1...j_d}=∑_{λ{}} L_{i_1...i_d λ{}}L_{j_1...j_d λ{}}

Value

a tensor

Note

A by argument is not necessary, since both processing dimensions have to be given.

Author(s)

K. Gerald van den Boogaart

See Also

to.tensor, svd.tensor

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
A <- to.tensor(rnorm(15),c(a=3,b=5))
AAt <- einstein.tensor(A,mark(A,i="a"))
ch <- chol.tensor(AAt,"a","a'",name="lambda")
#names(ch)[1]<-"lambda"
einstein.tensor(ch,mark(ch,i="a")) # AAt

A <- to.tensor(rnorm(30),c(a=3,b=5,c=2))
AAt <- einstein.tensor(A,mark(A,i="a"),by="c")
ch <- chol.tensor(AAt,"a","a'",name="lambda")
einstein.tensor(ch,mark(ch,i="a"),by="c") #AAt

	     

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.