# 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 – A batch of matrices with shape [..., m, m].

• b – 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.