Module linxal::factorization::lu [] [src]

Compute the LU-factorization of a rectangular matrix.

A rectangular matrix A is factored into the product P *L*U`, such that:

  • P is a permutation matrix

  • L is lower triangular (if m <= n) or lower trapezoidal (if m

    = n), with unit diagonal.

  • U is upper triangular (if m >= n) or upper trapezodial (if m < n)

Currently, the LU-factorization will fail if the matrix is not of full row rank. In some sense, this is acceptable because most operation with LU factorizations are non-sensible with a singular matrix.

The LU factorization can be used to solve Ax=b equations or compute the inverse of A.

Remarks

The various LAPACKE backends differ on how degenerate matrices are treated. OpenBLAS will still return success, but the resulting factorization doesn't work for solving least-squares or doing matrix inversions. Netlib seems to fail entirely.

Structs

LUFactors

Representation of the components L, U, P of the factorization of matrix A.

Enums

LUError

Error for LU-based computations.

Traits

LU

Trait defined on scalars to support LU-factorization.