Contents


NAME

     zgetrf - compute an LU factorization  of  a  general  M-by-N
     matrix A using partial pivoting with row interchanges

SYNOPSIS

     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);

PURPOSE

     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.

ARGUMENTS

     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.