Contents
     zgetrf - compute an LU factorization  of  a  general  M-by-N
     matrix A using partial pivoting with row interchanges
     SUBROUTINE ZGETRF(M, N, A, LDA, IPIVOT, INFO)
     DOUBLE COMPLEX A(LDA,*)
     INTEGER M, N, LDA, INFO
     INTEGER IPIVOT(*)
     SUBROUTINE ZGETRF_64(M, N, A, LDA, IPIVOT, INFO)
     DOUBLE COMPLEX A(LDA,*)
     INTEGER*8 M, N, LDA, INFO
     INTEGER*8 IPIVOT(*)
  F95 INTERFACE
     SUBROUTINE GETRF([M], [N], A, [LDA], IPIVOT, [INFO])
     COMPLEX(8), DIMENSION(:,:) :: A
     INTEGER :: M, N, LDA, INFO
     INTEGER, DIMENSION(:) :: IPIVOT
     SUBROUTINE GETRF_64([M], [N], A, [LDA], IPIVOT, [INFO])
     COMPLEX(8), DIMENSION(:,:) :: A
     INTEGER(8) :: M, N, LDA, INFO
     INTEGER(8), DIMENSION(:) :: IPIVOT
  C INTERFACE
     #include <sunperf.h>
     void zgetrf(int m, int n, doublecomplex  *a,  int  lda,  int
               *ipivot, int *info);
     void zgetrf_64(long m, long n, doublecomplex *a,  long  lda,
               long *ipivot, long *info);
     zgetrf 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.