{ } Raw JSON

bundles / scipy latest / scipy / sparse / linalg / _dsolve / linsolve / spsolve_triangular

function

scipy.sparse.linalg._dsolve.linsolve:spsolve_triangular

source: /scipy/sparse/linalg/_dsolve/linsolve.py :609

Signature

def   spsolve_triangular ( A b lower = True overwrite_A = False overwrite_b = False unit_diagonal = False )

Summary

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

Parameters

A : (M, M) sparse array or matrix

A sparse square triangular matrix. Should be in CSR or CSC format.

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

Right-hand side matrix in A x = b

lower : bool, optional

Whether A is a lower or upper triangular matrix. Default is lower triangular matrix.

overwrite_A : bool, optional

Allow changing A. Enabling gives a performance gain. Default is False.

overwrite_b : bool, optional

Allow overwriting data in b. Enabling gives a performance gain. Default is False. If overwrite_b is True, it should be ensured that b has an appropriate dtype to be able to store the result.

unit_diagonal : bool, optional

If True, diagonal elements of a are assumed to be 1.

Returns

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

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

Raises

: LinAlgError

If A is singular or not triangular.

: ValueError

If shape of A or shape of b do not match the requirements.

Notes

Examples

import numpy as np
from scipy.sparse import csc_array
from scipy.sparse.linalg import spsolve_triangular
A = csc_array([[3, 0, 0], [1, -1, 0], [2, 0, 1]], dtype=float)
B = np.array([[2, 0], [-1, 0], [2, 0]], dtype=float)
x = spsolve_triangular(A, B)
np.allclose(A.dot(x), B)

Aliases

  • scipy.sparse.linalg.spsolve_triangular

Referenced by