Letting be or , the Cholesky decomposition of a complex Hermitian or real symmetric positive-definite matrix is defined as
linalg_cholesky(A)
(Tensor): tensor of shape (*, n, n)
where *
is zero or more batch dimensions
consisting of symmetric or Hermitian positive-definite matrices.
torch:::math_to_rd(" A = LL^{H}\\mathrlap{\\qquad L \\in \\mathbb{K}^{n \\times n}} ")
where is a lower triangular matrix and is the conjugate transpose when is complex, and the transpose when is real-valued.
Supports input of float, double, cfloat and cdouble dtypes.
Also supports batches of matrices, and if A
is a batch of matrices then
the output has the same batch dimensions.
linalg_cholesky_ex()
for a version of this operation that
skips the (slow) error checking by default and instead returns the debug
information. This makes it a faster way to check if a matrix is
positive-definite.
linalg_eigh()
for a different decomposition of a Hermitian matrix.
The eigenvalue decomposition gives more information about the matrix but it
slower to compute than the Cholesky decomposition.
Other linalg:
linalg_cholesky_ex()
,
linalg_det()
,
linalg_eigh()
,
linalg_eigvalsh()
,
linalg_eigvals()
,
linalg_eig()
,
linalg_householder_product()
,
linalg_inv_ex()
,
linalg_inv()
,
linalg_lstsq()
,
linalg_matrix_norm()
,
linalg_matrix_power()
,
linalg_matrix_rank()
,
linalg_multi_dot()
,
linalg_norm()
,
linalg_pinv()
,
linalg_qr()
,
linalg_slogdet()
,
linalg_solve()
,
linalg_svdvals()
,
linalg_svd()
,
linalg_tensorinv()
,
linalg_tensorsolve()
,
linalg_vector_norm()
if (torch_is_installed()) {
a <- torch_eye(10)
linalg_cholesky(a)
}
Run the code above in your browser using DataLab