torch_triangular_solve function

Triangular_solve

Triangular_solve

torch_triangular_solve( self, A, upper = TRUE, transpose = FALSE, unitriangular = FALSE )

Arguments

  • self: (Tensor) multiple right-hand sides of size (,m,k)(*, m, k) where * is zero of more batch dimensions (bb)
  • A: (Tensor) the input triangular coefficient matrix of size (,m,m)(*, m, m) where * is zero or more batch dimensions
  • upper: (bool, optional) whether to solve the upper-triangular system of equations (default) or the lower-triangular system of equations. Default: TRUE.
  • transpose: (bool, optional) whether AA should be transposed before being sent into the solver. Default: FALSE.
  • unitriangular: (bool, optional) whether AA is unit triangular. If TRUE, the diagonal elements of AA are assumed to be 1 and not referenced from AA. Default: FALSE.

triangular_solve(input, A, upper=TRUE, transpose=False, unitriangular=False) -> (Tensor, Tensor)

Solves a system of equations with a triangular coefficient matrix AA

and multiple right-hand sides bb.

In particular, solves AX=bAX = b and assumes AA is upper-triangular with the default keyword arguments.

torch_triangular_solve(b, A) can take in 2D inputs b, A or inputs that are batches of 2D matrices. If the inputs are batches, then returns batched outputs X

Examples

if (torch_is_installed()) { A = torch_randn(c(2, 2))$triu() A b = torch_randn(c(2, 3)) b torch_triangular_solve(b, A) }
  • Maintainer: Daniel Falbel
  • License: MIT + file LICENSE
  • Last published: 2025-02-14