getrf#

Functions

void sgetrf(
    const INT           m,
    const INT           n,
          f32* restrict A,
    const INT           lda,
          INT* restrict ipiv,
          INT*          info
);
void sgetrf(const INT m, const INT n, f32 *restrict A, const INT lda, INT *restrict ipiv, INT *info)#

Computes an LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges.

The factorization has the form

A = P * L * U

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

This is the right-looking Level 3 BLAS version of the algorithm.

Parameters

in
m

The number of rows of the matrix A. m>=0.

in
n

The number of columns of the matrix A. n>=0.

inout
A

Array of dimension (lda, n). On entry, the m-by-n matrix to be factored. On exit, the factors L and U from the factorization; the unit diagonal elements of L are not stored.

in
lda

The leading dimension of the array A. lda>=max(1,m).

out
ipiv

Array of dimension min(m,n). The pivot indices; row i was interchanged with row ipiv[i].

out
info

  • info=0: successful exit

  • info<0: if info=-i, the i-th argument had an illegal value

  • info>0: if info=i, U(i,i) is exactly zero. The factorization has been completed, but U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

Functions

void dgetrf(
    const INT           m,
    const INT           n,
          f64* restrict A,
    const INT           lda,
          INT* restrict ipiv,
          INT*          info
);
void dgetrf(const INT m, const INT n, f64 *restrict A, const INT lda, INT *restrict ipiv, INT *info)#

Computes an LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges.

The factorization has the form

A = P * L * U

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

This is the right-looking Level 3 BLAS version of the algorithm.

Parameters

in
m

The number of rows of the matrix A. m>=0.

in
n

The number of columns of the matrix A. n>=0.

inout
A

Array of dimension (lda, n). On entry, the m-by-n matrix to be factored. On exit, the factors L and U from the factorization; the unit diagonal elements of L are not stored.

in
lda

The leading dimension of the array A. lda>=max(1,m).

out
ipiv

Array of dimension min(m,n). The pivot indices; row i was interchanged with row ipiv[i].

out
info

  • info=0: successful exit

  • info<0: if info=-i, the i-th argument had an illegal value

  • info>0: if info=i, U(i,i) is exactly zero. The factorization has been completed, but U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

Functions

void cgetrf(
    const INT           m,
    const INT           n,
          c64* restrict A,
    const INT           lda,
          INT* restrict ipiv,
          INT*          info
);
void cgetrf(const INT m, const INT n, c64 *restrict A, const INT lda, INT *restrict ipiv, INT *info)#

Computes an LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges.

The factorization has the form

A = P * L * U

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

This is the right-looking Level 3 BLAS version of the algorithm.

Parameters

in
m

The number of rows of the matrix A. m>=0.

in
n

The number of columns of the matrix A. n>=0.

inout
A

Array of dimension (lda, n). On entry, the m-by-n matrix to be factored. On exit, the factors L and U from the factorization; the unit diagonal elements of L are not stored.

in
lda

The leading dimension of the array A. lda>=max(1,m).

out
ipiv

Array of dimension min(m,n). The pivot indices; row i was interchanged with row ipiv[i].

out
info

  • info=0: successful exit

  • info<0: if info=-i, the i-th argument had an illegal value

  • info>0: if info=i, U(i,i) is exactly zero. The factorization has been completed, but U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

Functions

void zgetrf(
    const INT            m,
    const INT            n,
          c128* restrict A,
    const INT            lda,
          INT*  restrict ipiv,
          INT*           info
);
void zgetrf(const INT m, const INT n, c128 *restrict A, const INT lda, INT *restrict ipiv, INT *info)#

Computes an LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges.

The factorization has the form

A = P * L * U

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

This is the right-looking Level 3 BLAS version of the algorithm.

Parameters

in
m

The number of rows of the matrix A. m>=0.

in
n

The number of columns of the matrix A. n>=0.

inout
A

Array of dimension (lda, n). On entry, the m-by-n matrix to be factored. On exit, the factors L and U from the factorization; the unit diagonal elements of L are not stored.

in
lda

The leading dimension of the array A. lda>=max(1,m).

out
ipiv

Array of dimension min(m,n). The pivot indices; row i was interchanged with row ipiv[i].

out
info

  • info=0: successful exit

  • info<0: if info=-i, the i-th argument had an illegal value

  • info>0: if info=i, U(i,i) is exactly zero. The factorization has been completed, but U is exactly singular, and division by zero will occur if it is used to solve a system of equations.