
Cholesky
torch_cholesky(self, upper = FALSE)
(Tensor) the input tensor *
is zero or more
batch dimensions consisting of symmetric positive-definite matrices.
(bool, optional) flag that indicates whether to return a
upper or lower triangular matrix. Default: FALSE
Computes the Cholesky decomposition of a symmetric positive-definite
matrix
If upper
is TRUE
, the returned matrix U
is upper-triangular, and
the decomposition has the form:
upper
is FALSE
, the returned matrix L
is lower-triangular, and
the decomposition has the form:
upper
is TRUE
, and upper
is FALSE
, the returned
tensor will be composed of lower-triangular Cholesky factors of each of the individual
matrices.
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
}
}
Run the code above in your browser using DataLab