# Cholesky decomposition of a tensor

### 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 |

`...` |
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
``` |