torch_cholesky_solve function

Cholesky_solve

Cholesky_solve

torch_cholesky_solve(self, input2, upper = FALSE)

Arguments

  • self: (Tensor) input matrix bb of size (,m,k)(*, m, k), where * is zero or more batch dimensions
  • input2: (Tensor) input matrix uu of size (,m,m)(*, m, m), where * is zero of more batch dimensions composed of upper or lower triangular Cholesky factor
  • upper: (bool, optional) whether to consider the Cholesky factor as a lower or upper triangular matrix. Default: FALSE.

cholesky_solve(input, input2, upper=False, out=NULL) -> Tensor

Solves a linear system of equations with a positive semidefinite matrix to be inverted given its Cholesky factor matrix uu.

If upper is FALSE, uu is and lower triangular and c is returned such that:

c=(uuT)1b c = (u u^T)^{{-1}} b

If upper is TRUE or not provided, uu is upper triangular and c is returned such that:

c=(uTu)1b c = (u^T u)^{{-1}} b

torch_cholesky_solve(b, u) can take in 2D inputs b, u or inputs that are batches of 2D matrices. If the inputs are batches, then returns batched outputs c

Examples

if (torch_is_installed()) { a = torch_randn(c(3, 3)) a = torch_mm(a, a$t()) # make symmetric positive definite u = torch_cholesky(a) a b = torch_randn(c(3, 2)) b torch_cholesky_solve(b, u) torch_mm(a$inverse(), b) }
  • Maintainer: Daniel Falbel
  • License: MIT + file LICENSE
  • Last published: 2025-02-14