CXML

DGETRI (3lapack)


SYNOPSIS

  SUBROUTINE DGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )

      INTEGER        INFO, LDA, LWORK, N

      INTEGER        IPIV( * )

      DOUBLE         PRECISION A( LDA, * ), WORK( LWORK )

PURPOSE

  DGETRI computes the inverse of a matrix using the LU factorization computed
  by DGETRF.

  This method inverts U and then computes inv(A) by solving the system
  inv(A)*L = inv(U) for inv(A).

ARGUMENTS

  N       (input) INTEGER
          The order of the matrix A.  N >= 0.

  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
          On entry, the factors L and U from the factorization A = P*L*U as
          computed by DGETRF.  On exit, if INFO = 0, the inverse of the
          original matrix A.

  LDA     (input) INTEGER
          The leading dimension of the array A.  LDA >= max(1,N).

  IPIV    (input) INTEGER array, dimension (N)
          The pivot indices from DGETRF; for 1<=i<=N, row i of the matrix was
          interchanged with row IPIV(i).

  WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
          On exit, if INFO=0, then WORK(1) returns the optimal LWORK.

  LWORK   (input) INTEGER
          The dimension of the array WORK.  LWORK >= max(1,N).  For optimal
          performance LWORK >= N*NB, where NB is the optimal blocksize
          returned by ILAENV.

  INFO    (output) INTEGER
          = 0:  successful exit
          < 0:  if INFO = -i, the i-th argument had an illegal value
          > 0:  if INFO = i, U(i,i) is exactly zero; the matrix is singular
          and its inverse could not be computed.

CXML Home Page

Index of CXML Routines