# 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 (jax.typing.ArrayLike) â€“ A batch of matrices with shape [..., m, m].

• b (jax.typing.ArrayLike) â€“ A batch of matrices with shape [..., m, n] if left_side is True 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 of a is transposed.

• conjugate_a (bool) â€“ if True, the complex conjugate of a is used in the solve. Has no effect if a is real.

• unit_diagonal (bool) â€“ if True, the diagonal of a is assumed to be unit (all 1s) and not accessed.

Returns:

A batch of matrices the same shape and dtype as b.

Return type:

Array