LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
zptsvx.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine ZPTSVX (FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
 ZPTSVX

Function/Subroutine Documentation

subroutine ZPTSVX ( CHARACTER  FACT,
INTEGER  N,
INTEGER  NRHS,
DOUBLE PRECISION, dimension( * )  D,
COMPLEX*16, dimension( * )  E,
DOUBLE PRECISION, dimension( * )  DF,
COMPLEX*16, dimension( * )  EF,
COMPLEX*16, dimension( ldb, * )  B,
INTEGER  LDB,
COMPLEX*16, dimension( ldx, * )  X,
INTEGER  LDX,
DOUBLE PRECISION  RCOND,
DOUBLE PRECISION, dimension( * )  FERR,
DOUBLE PRECISION, dimension( * )  BERR,
COMPLEX*16, dimension( * )  WORK,
DOUBLE PRECISION, dimension( * )  RWORK,
INTEGER  INFO 
)

ZPTSVX

Download ZPTSVX + dependencies [TGZ] [ZIP] [TXT]
Purpose:

 ZPTSVX uses the factorization A = L*D*L**H to compute the solution
 to a complex system of linear equations A*X = B, where A is an
 N-by-N Hermitian positive definite tridiagonal matrix and X and B
 are N-by-NRHS matrices.

 Error bounds on the solution and a condition estimate are also
 provided.
 
Description:

 The following steps are performed:

 1. If FACT = 'N', the matrix A is factored as A = L*D*L**H, where L
    is a unit lower bidiagonal matrix and D is diagonal.  The
    factorization can also be regarded as having the form
    A = U**H*D*U.

 2. If the leading i-by-i principal minor is not positive definite,
    then the routine returns with INFO = i. Otherwise, the factored
    form of A is used to estimate the condition number of the matrix
    A.  If the reciprocal of the condition number is less than machine
    precision, INFO = N+1 is returned as a warning, but the routine
    still goes on to solve for X and compute error bounds as
    described below.

 3. The system of equations is solved for X using the factored form
    of A.

 4. Iterative refinement is applied to improve the computed solution
    matrix and calculate error bounds and backward error estimates
    for it.
 
Parameters:
[in]FACT
          FACT is CHARACTER*1
          Specifies whether or not the factored form of the matrix
          A is supplied on entry.
          = 'F':  On entry, DF and EF contain the factored form of A.
                  D, E, DF, and EF will not be modified.
          = 'N':  The matrix A will be copied to DF and EF and
                  factored.
 
[in]N
          N is INTEGER
          The order of the matrix A.  N >= 0.
 
[in]NRHS
          NRHS is INTEGER
          The number of right hand sides, i.e., the number of columns
          of the matrices B and X.  NRHS >= 0.
 
[in]D
          D is DOUBLE PRECISION array, dimension (N)
          The n diagonal elements of the tridiagonal matrix A.
 
[in]E
          E is COMPLEX*16 array, dimension (N-1)
          The (n-1) subdiagonal elements of the tridiagonal matrix A.
 
[in,out]DF
          DF is DOUBLE PRECISION array, dimension (N)
          If FACT = 'F', then DF is an input argument and on entry
          contains the n diagonal elements of the diagonal matrix D
          from the L*D*L**H factorization of A.
          If FACT = 'N', then DF is an output argument and on exit
          contains the n diagonal elements of the diagonal matrix D
          from the L*D*L**H factorization of A.
 
[in,out]EF
          EF is COMPLEX*16 array, dimension (N-1)
          If FACT = 'F', then EF is an input argument and on entry
          contains the (n-1) subdiagonal elements of the unit
          bidiagonal factor L from the L*D*L**H factorization of A.
          If FACT = 'N', then EF is an output argument and on exit
          contains the (n-1) subdiagonal elements of the unit
          bidiagonal factor L from the L*D*L**H factorization of A.
 
[in]B
          B is COMPLEX*16 array, dimension (LDB,NRHS)
          The N-by-NRHS right hand side matrix B.
 
[in]LDB
          LDB is INTEGER
          The leading dimension of the array B.  LDB >= max(1,N).
 
[out]X
          X is COMPLEX*16 array, dimension (LDX,NRHS)
          If INFO = 0 or INFO = N+1, the N-by-NRHS solution matrix X.
 
[in]LDX
          LDX is INTEGER
          The leading dimension of the array X.  LDX >= max(1,N).
 
[out]RCOND
          RCOND is DOUBLE PRECISION
          The reciprocal condition number of the matrix A.  If RCOND
          is less than the machine precision (in particular, if
          RCOND = 0), the matrix is singular to working precision.
          This condition is indicated by a return code of INFO > 0.
 
[out]FERR
          FERR is DOUBLE PRECISION array, dimension (NRHS)
          The forward error bound for each solution vector
          X(j) (the j-th column of the solution matrix X).
          If XTRUE is the true solution corresponding to X(j), FERR(j)
          is an estimated upper bound for the magnitude of the largest
          element in (X(j) - XTRUE) divided by the magnitude of the
          largest element in X(j).
 
[out]BERR
          BERR is DOUBLE PRECISION array, dimension (NRHS)
          The componentwise relative backward error of each solution
          vector X(j) (i.e., the smallest relative change in any
          element of A or B that makes X(j) an exact solution).
 
[out]WORK
          WORK is COMPLEX*16 array, dimension (N)
 
[out]RWORK
          RWORK is DOUBLE PRECISION array, dimension (N)
 
[out]INFO
          INFO is INTEGER
          = 0:  successful exit
          < 0:  if INFO = -i, the i-th argument had an illegal value
          > 0:  if INFO = i, and i is
                <= N:  the leading minor of order i of A is
                       not positive definite, so the factorization
                       could not be completed, and the solution has not
                       been computed. RCOND = 0 is returned.
                = N+1: U is nonsingular, but RCOND is less than machine
                       precision, meaning that the matrix is singular
                       to working precision.  Nevertheless, the
                       solution and error bounds are computed because
                       there are a number of situations where the
                       computed solution can be more accurate than the
                       value of RCOND would suggest.
 
Author:
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date:
April 2012

Definition at line 234 of file zptsvx.f.

Here is the call graph for this function:

 All Files Functions