imsl.linalg.lu_solve¶
- lu_solve(a, b, transpose=False)¶
Solve a general system Ax = b of linear equations.
Parameters: a : (N,N) array_like
Array containing the matrix A.
b : (N,) array_like
Array containing the right-hand side. Elements of this array must be convertible to the same type as array a.
transpose : bool, optional
If True, solve \(A^Tx = b\) (if a contains entries of type float) or \(A^Hx = b\) (if a contains entries of type complex). Default is False.
Returns: (N,) ndarray
The solution x of the linear system Ax=b.
Notes
In a first step, this function computes the LU factorization of matrix A. Then, it finds the solution of the linear system Ax = b by solving two simpler systems, \(y=L^{-1}b\) and \(x=U^{-1}y\).
This function creates a temporary LU() instance and calls method LU.solve() on that instance.
Examples
>>> import imsl.linalg as la >>> a = [[1.0, 3.0, 3.0], [1.0, 3.0, 4.0], [1.0, 4.0, 3.0]] >>> b = [1.0, 4.0, -1.0] >>> x = la.lu_solve(a, b) >>> print(x) [-2. -2. 3.]