# `linalg.decomp_lu`¶

LU decomposition functions.

## Module Contents¶

### Functions¶

 `lu_factor`(a,overwrite_a=False,check_finite=True) Compute pivoted LU decomposition of a matrix. `lu_solve`(lu_and_piv,b,trans=0,overwrite_b=False,check_finite=True) Solve an equation system, a x = b, given the LU factorization of a `lu`(a,permute_l=False,overwrite_a=False,check_finite=True) Compute pivoted LU decomposition of a matrix.
`lu_factor`(a, overwrite_a=False, check_finite=True)

Compute pivoted LU decomposition of a matrix.

The decomposition is:

```A = P L U
```

where P is a permutation matrix, L lower triangular with unit diagonal elements, and U upper triangular.

a : (M, M) array_like
Matrix to decompose
overwrite_a : bool, optional
Whether to overwrite data in A (may increase performance)
check_finite : bool, optional
Whether to check that the input matrix contains 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.
lu : (N, N) ndarray
Matrix containing U in its upper triangle, and L in its lower triangle. The unit diagonal elements of L are not stored.
piv : (N,) ndarray
Pivot indices representing the permutation matrix P: row i of matrix was interchanged with row piv[i].

lu_solve : solve an equation system using the LU factorization of a matrix

This is a wrapper to the `*GETRF` routines from LAPACK.

`lu_solve`(lu_and_piv, b, trans=0, overwrite_b=False, check_finite=True)

Solve an equation system, a x = b, given the LU factorization of a

(lu, piv)
Factorization of the coefficient matrix a, as given by lu_factor
b : array
Right-hand side
trans : {0, 1, 2}, optional

Type of system to solve:

trans system
0 a x = b
1 a^T x = b
2 a^H x = b
overwrite_b : bool, optional
Whether to overwrite data in b (may increase 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.
x : array
Solution to the system

lu_factor : LU factorize a matrix

`lu`(a, permute_l=False, overwrite_a=False, check_finite=True)

Compute pivoted LU decomposition of a matrix.

The decomposition is:

```A = P L U
```

where P is a permutation matrix, L lower triangular with unit diagonal elements, and U upper triangular.

a : (M, N) array_like
Array to decompose
permute_l : bool, optional
Perform the multiplication P*L (Default: do not permute)
overwrite_a : bool, optional
Whether to overwrite data in a (may improve performance)
check_finite : bool, optional
Whether to check that the input matrix contains 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.

(If permute_l == False)

p : (M, M) ndarray
Permutation matrix
l : (M, K) ndarray
Lower triangular or trapezoidal matrix with unit diagonal. K = min(M, N)
u : (K, N) ndarray
Upper triangular or trapezoidal matrix

(If permute_l == True)

pl : (M, K) ndarray
Permuted L matrix. K = min(M, N)
u : (K, N) ndarray
Upper triangular or trapezoidal matrix

This is a LU factorization routine written for Scipy.