- SUBROUTINE ZGETC2(
- N, A, LDA, IPIV, JPIV, INFO )
- INTEGER INFO, LDA, N
- INTEGER IPIV( * ), JPIV( * )
- COMPLEX*16 A( LDA, * )
PURPOSEZGETC2 computes an LU factorization, using 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.
This is a level 1 BLAS version of the algorithm.
- N (input) INTEGER
- The order of the matrix A. N >= 0.
- A (input/output) COMPLEX*16 array, dimension (LDA, N)
- On entry, the n-by-n matrix to be factored. 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, giving a nonsingular perturbed system.
- LDA (input) INTEGER
- The leading dimension of the array A. LDA >= max(1, N).
- IPIV (output) INTEGER array, dimension (N).
- The pivot indices; for 1 <= i <= N, row i of the matrix has been interchanged with row IPIV(i).
- JPIV (output) INTEGER array, dimension (N).
- The pivot indices; for 1 <= j <= N, column j of the matrix has been interchanged with column JPIV(j).
- INFO (output) INTEGER
= 0: successful exit
> 0: if INFO = k, U(k, k) is likely to produce overflow if one tries to solve for x in Ax = b. So U is perturbed to avoid the overflow.
FURTHER DETAILSBased on contributions by
Bo Kagstrom and Peter Poromaa, Department of Computing Science,
Umea University, S-901 87 Umea, Sweden.