#### Previous topic

scipy.linalg.solve_circulant

#### Next topic

scipy.linalg.solve_toeplitz

# scipy.linalg.solve_triangular

`scipy.linalg.``solve_triangular`(a, b, trans=0, lower=False, unit_diagonal=False, overwrite_b=False, debug=None, check_finite=True)

  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.