# Cholesky

Source:`R/gen-namespace-docs.R`

, `R/gen-namespace-examples.R`

, `R/gen-namespace.R`

`torch_cholesky.Rd`

Cholesky

## Arguments

- self
(Tensor) the input tensor \(A\) of size \((*, n, n)\) where

`*`

is zero or more batch dimensions consisting of symmetric positive-definite matrices.- upper
(bool, optional) flag that indicates whether to return a upper or lower triangular matrix. Default:

`FALSE`

## cholesky(input, upper=False, out=NULL) -> Tensor

Computes the Cholesky decomposition of a symmetric positive-definite matrix \(A\) or for batches of symmetric positive-definite matrices.

If `upper`

is `TRUE`

, the returned matrix `U`

is upper-triangular, and
the decomposition has the form:

$$
A = U^TU
$$
If `upper`

is `FALSE`

, the returned matrix `L`

is lower-triangular, and
the decomposition has the form:

$$
A = LL^T
$$
If `upper`

is `TRUE`

, and \(A\) is a batch of symmetric positive-definite
matrices, then the returned tensor will be composed of upper-triangular Cholesky factors
of each of the individual matrices. Similarly, when `upper`

is `FALSE`

, the returned
tensor will be composed of lower-triangular Cholesky factors of each of the individual
matrices.

## Examples

```
if (torch_is_installed()) {
a = torch_randn(c(3, 3))
a = torch_mm(a, a$t()) # make symmetric positive-definite
l = torch_cholesky(a)
a
l
torch_mm(l, l$t())
a = torch_randn(c(3, 2, 2))
if (FALSE) {
a = torch_matmul(a, a$transpose(-1, -2)) + 1e-03 # make symmetric positive-definite
l = torch_cholesky(a)
z = torch_matmul(l, l$transpose(-1, -2))
torch_max(torch_abs(z - a)) # Max non-zero
}
}
```