laorhr_col_getrfnp2#

Functions

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

SLAORHR_COL_GETRFNP2 computes the modified LU factorization without pivoting of a real general M-by-N matrix A.

The factorization has the form:

A - S = L * U,
where: S is a m-by-n diagonal sign matrix with the diagonal D, so that D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing i-1 steps of Gaussian elimination. This means that the diagonal element at each step of “modified” Gaussian elimination is at least one in absolute value (so that division-by-zero not possible during the division by the diagonal element);

L is a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if M > N);

and U is a M-by-N upper triangular matrix (upper trapezoidal if M < N).

This routine is an auxiliary routine used in the Householder reconstruction routine SORHR_COL.

This is the recursive version of the LU factorization 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

Double precision array, dimension (lda, n). On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorization A-S=L*U; the unit diagonal elements of L are not stored.

in
lda

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

out
D

Double precision array, dimension min(m, n). The diagonal elements of the diagonal M-by-N sign matrix S, D(i) = S(i,i), where 1 <= i <= min(M,N). The elements can be only plus or minus one.

out
info

  • = 0: successful exit

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

Functions

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

DLAORHR_COL_GETRFNP2 computes the modified LU factorization without pivoting of a real general M-by-N matrix A.

The factorization has the form:

A - S = L * U,
where: S is a m-by-n diagonal sign matrix with the diagonal D, so that D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing i-1 steps of Gaussian elimination. This means that the diagonal element at each step of “modified” Gaussian elimination is at least one in absolute value (so that division-by-zero not possible during the division by the diagonal element);

L is a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if M > N);

and U is a M-by-N upper triangular matrix (upper trapezoidal if M < N).

This routine is an auxiliary routine used in the Householder reconstruction routine DORHR_COL.

This is the recursive version of the LU factorization 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

Double precision array, dimension (lda, n). On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorization A-S=L*U; the unit diagonal elements of L are not stored.

in
lda

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

out
D

Double precision array, dimension min(m, n). The diagonal elements of the diagonal M-by-N sign matrix S, D(i) = S(i,i), where 1 <= i <= min(M,N). The elements can be only plus or minus one.

out
info

  • = 0: successful exit

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