scipy.linalg.solve_triangular

scipy.linalg.solve_triangular(a, b, trans=0, lower=False, unit_diagonal=False, overwrite_b=False, debug=False, check_finite=True)[source]

Solve the equation a x = b for x, assuming a is a triangular matrix.

Parameters:

a : (M, M) array_like

A triangular matrix

b : (M,) or (M, N) array_like

Right-hand side matrix in a x = b

lower : bool, optional

Use only data contained in the lower triangle of a. Default is to use upper triangle.

trans : {0, 1, 2, ‘N’, ‘T’, ‘C’}, optional

Type of system to solve:

trans system
0 or ‘N’ a x = b
1 or ‘T’ a^T x = b
2 or ‘C’ a^H x = b

unit_diagonal : bool, optional

If True, diagonal elements of a are assumed to be 1 and will not be referenced.

overwrite_b : bool, optional

Allow overwriting data in b (may enhance performance)

check_finite : bool, optional

Whether to check that the input matrices contain only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs.

Returns:

x : (M,) or (M, N) ndarray

Solution to the system a x = b. Shape of return matches b.

Raises:

LinAlgError

If a is singular

Notes

New in version 0.9.0.