Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

?getc2

Computes the LU factorization with complete pivoting of the general n-by-n matrix.

Syntax

call sgetc2( n, a, lda, ipiv, jpiv, info )

call dgetc2( n, a, lda, ipiv, jpiv, info )

call cgetc2( n, a, lda, ipiv, jpiv, info )

call zgetc2( n, a, lda, ipiv, jpiv, info )

Include Files

  • mkl.fi

Description

The routine computes an LU factorization with complete pivoting of the n-by-n matrix A. The factorization has the form A = P*L*U*Q, where P and Q are permutation matrices, L is lower triangular with unit diagonal elements and U is upper triangular.

The LU factorization computed by this routine is used by ?latdf to compute a contribution to the reciprocal Dif-estimate.

Input Parameters

n

INTEGER. The order of the matrix A (n 0).

a

REAL for sgetc2

DOUBLE PRECISION for dgetc2

COMPLEX for cgetc2

DOUBLE COMPLEX for zgetc2.

Array a(lda,*) contains the n-by-n matrix A to be factored. The second dimension of a must be at least max(1, n);

lda

INTEGER. The leading dimension of a; at least max(1, n).

Output Parameters

a

On exit, the factors L and U from the factorization A = P*L*U*Q; the unit diagonal elements of L are not stored. If U(k, k) appears to be less than smin, U(k, k) is given the value of smin, that is giving a nonsingular perturbed system.

ipiv

INTEGER.

Array, DIMENSION at least max(1,n).

The pivot indices: for 1 ≤ i ≤ n, row i of the matrix has been interchanged with row ipiv(i).

jpiv

INTEGER.

Array, DIMENSION at least max(1,n).

The pivot indices: for 1 ≤ j ≤ n, column j of the matrix has been interchanged with column jpiv(j).

info

INTEGER.

If info = 0, the execution is successful.

If info = k>0, U(k, k) is likely to produce overflow if we try to solve for x in A*x = b. So U is perturbed to avoid the overflow.