# choltensor: Cholesky decomposition of a tensor In tensorA: Advanced tensors arithmetic with named indices

## 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 λ{}}

a tensor

## Note

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

## Author(s)

K. Gerald van den Boogaart

`to.tensor`, `svd.tensor`
 ``` 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 ```