Contents
cgetrf - compute an LU factorization of a general M-by-N
matrix A using partial pivoting with row interchanges
SUBROUTINE CGETRF(M, N, A, LDA, IPIVOT, INFO)
COMPLEX A(LDA,*)
INTEGER M, N, LDA, INFO
INTEGER IPIVOT(*)
SUBROUTINE CGETRF_64(M, N, A, LDA, IPIVOT, INFO)
COMPLEX A(LDA,*)
INTEGER*8 M, N, LDA, INFO
INTEGER*8 IPIVOT(*)
F95 INTERFACE
SUBROUTINE GETRF([M], [N], A, [LDA], IPIVOT, [INFO])
COMPLEX, DIMENSION(:,:) :: A
INTEGER :: M, N, LDA, INFO
INTEGER, DIMENSION(:) :: IPIVOT
SUBROUTINE GETRF_64([M], [N], A, [LDA], IPIVOT, [INFO])
COMPLEX, DIMENSION(:,:) :: A
INTEGER(8) :: M, N, LDA, INFO
INTEGER(8), DIMENSION(:) :: IPIVOT
C INTERFACE
#include <sunperf.h>
void cgetrf(int m, int n, complex *a, int lda, int *ipivot,
int *info);
void cgetrf_64(long m, long n, complex *a, long lda, long
*ipivot, long *info);
cgetrf 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 (lower trapezoidal if m > n), and U
is upper triangular (upper trapezoidal if m < n).
This is the right-looking Level 3 BLAS version of the algo-
rithm.
M (input) The number of rows of the matrix A. M >= 0.
N (input) The number of columns of the matrix A. N >= 0.
A (input/output)
On entry, the M-by-N matrix to be factored. On
exit, the factors L and U from the factorization A
= P*L*U; the unit diagonal elements of L are not
stored.
LDA (input)
The leading dimension of the array A. LDA >=
max(1,M).
IPIVOT (output)
The pivot indices; for 1 <= i <= min(M,N), row i
of the matrix was interchanged with row IPIVOT(i).
INFO (output)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille-
gal value
> 0: if INFO = i, U(i,i) is exactly zero. The
factorization has been completed, but the factor U
is exactly singular, and division by zero will
occur if it is used to solve a system of equa-
tions.