234 SUBROUTINE cptsvx( FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX,
235 $ rcond, ferr, berr, work, rwork, info )
244 INTEGER info, ldb, ldx, n, nrhs
248 REAL berr( * ), d( * ), df( * ), ferr( * ),
250 COMPLEX b( ldb, * ), e( * ), ef( * ), work( * ),
258 parameter( zero = 0.0e+0 )
281 nofact =
lsame( fact,
'N' )
282 IF( .NOT.nofact .AND. .NOT.
lsame( fact,
'F' ) )
THEN
284 ELSE IF( n.LT.0 )
THEN
286 ELSE IF( nrhs.LT.0 )
THEN
288 ELSE IF( ldb.LT.max( 1, n ) )
THEN
290 ELSE IF( ldx.LT.max( 1, n ) )
THEN
294 CALL
xerbla(
'CPTSVX', -info )
302 CALL
scopy( n, d, 1, df, 1 )
304 $ CALL
ccopy( n-1, e, 1, ef, 1 )
305 CALL
cpttrf( n, df, ef, info )
317 anorm =
clanht(
'1', n, d, e )
321 CALL
cptcon( n, df, ef, anorm, rcond, rwork, info )
325 CALL
clacpy(
'Full', n, nrhs,
b, ldb, x, ldx )
326 CALL
cpttrs(
'Lower', n, nrhs, df, ef, x, ldx, info )
331 CALL
cptrfs(
'Lower', n, nrhs, d, e, df, ef,
b, ldb, x, ldx, ferr,
332 $ berr, work, rwork, info )
336 IF( rcond.LT.
slamch(
'Epsilon' ) )
subroutine cpttrs(UPLO, N, NRHS, D, E, B, LDB, INFO)
CPTTRS
subroutine cptcon(N, D, E, ANORM, RCOND, RWORK, INFO)
CPTCON
real function clanht(NORM, N, D, E)
CLANHT returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian tridiagonal matrix.
subroutine xerbla(SRNAME, INFO)
XERBLA
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine cpttrf(N, D, E, INFO)
CPTTRF
subroutine scopy(N, SX, INCX, SY, INCY)
SCOPY
logical function lsame(CA, CB)
LSAME
subroutine clacpy(UPLO, M, N, A, LDA, B, LDB)
CLACPY copies all or part of one two-dimensional array to another.
real function slamch(CMACH)
SLAMCH
subroutine cptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
subroutine cptrfs(UPLO, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CPTRFS
subroutine ccopy(N, CX, INCX, CY, INCY)
CCOPY