jax.lax.linalg.triangular_solve — JAX documentation (original) (raw)
Contents
jax.lax.linalg.triangular_solve#
jax.lax.linalg.triangular_solve(a, b, *, left_side=False, lower=False, transpose_a=False, conjugate_a=False, unit_diagonal=False)[source]#
Triangular solve.
Solves either the matrix equation
\[\mathit{op}(A) . X = B\]
if left_side
is True
or
\[X . \mathit{op}(A) = B\]
if left_side
is False
.
A
must be a lower or upper triangular square matrix, and where\(\mathit{op}(A)\) may either transpose \(A\) if transpose_a
is True
and/or take its complex conjugate if conjugate_a
is True
.
Parameters:
- a (ArrayLike) – A batch of matrices with shape
[..., m, m]
. - b (ArrayLike) – A batch of matrices with shape
[..., m, n]
ifleft_side
isTrue
or shape[..., n, m]
otherwise. - left_side (bool) – describes which of the two matrix equations to solve; see above.
- lower (bool) – describes which triangle of
a
should be used. The other triangle is ignored. - transpose_a (bool) – if
True
, the value ofa
is transposed. - conjugate_a (bool) – if
True
, the complex conjugate ofa
is used in the solve. Has no effect ifa
is real. - unit_diagonal (bool) – if
True
, the diagonal ofa
is assumed to be unit (all 1s) and not accessed.
Returns:
A batch of matrices the same shape and dtype as b
.
Return type: