Contents


NAME

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

SYNOPSIS

     SUBROUTINE SGETRF(M, N, A, LDA, IPIVOT, INFO)

     INTEGER M, N, LDA, INFO
     INTEGER IPIVOT(*)
     REAL A(LDA,*)

     SUBROUTINE SGETRF_64(M, N, A, LDA, IPIVOT, INFO)

     INTEGER*8 M, N, LDA, INFO
     INTEGER*8 IPIVOT(*)
     REAL A(LDA,*)

  F95 INTERFACE
     SUBROUTINE GETRF([M], [N], A, [LDA], IPIVOT, [INFO])

     INTEGER :: M, N, LDA, INFO
     INTEGER, DIMENSION(:) :: IPIVOT
     REAL, DIMENSION(:,:) :: A

     SUBROUTINE GETRF_64([M], [N], A, [LDA], IPIVOT, [INFO])

     INTEGER(8) :: M, N, LDA, INFO
     INTEGER(8), DIMENSION(:) :: IPIVOT
     REAL, DIMENSION(:,:) :: A

  C INTERFACE
     #include <sunperf.h>

     void sgetrf(int m, int n, float *a, int  lda,  int  *ipivot,
               int *info);

     void sgetrf_64(long m, long n,  float  *a,  long  lda,  long
               *ipivot, long *info);

PURPOSE

     sgetrf 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.