56 SUBROUTINE derrgt( PATH, NUNIT )
72 parameter ( nmax = 2 )
77 DOUBLE PRECISION ANORM, RCOND
80 INTEGER IP( nmax ), IW( nmax )
81 DOUBLE PRECISION B( nmax ), C( nmax ), CF( nmax ), D( nmax ),
82 $ df( nmax ), e( nmax ), ef( nmax ), f( nmax ),
83 $ r1( nmax ), r2( nmax ), w( nmax ), x( nmax )
99 COMMON / infoc / infot, nout, ok, lerr
100 COMMON / srnamc / srnamt
105 WRITE( nout, fmt = * )
118 IF( lsamen( 2, c2,
'GT' ) )
THEN
126 CALL dgttrf( -1, c, d, e, f, ip, info )
127 CALL chkxer(
'DGTTRF', infot, nout, lerr, ok )
133 CALL dgttrs(
'/', 0, 0, c, d, e, f, ip, x, 1, info )
134 CALL chkxer(
'DGTTRS', infot, nout, lerr, ok )
136 CALL dgttrs(
'N', -1, 0, c, d, e, f, ip, x, 1, info )
137 CALL chkxer(
'DGTTRS', infot, nout, lerr, ok )
139 CALL dgttrs(
'N', 0, -1, c, d, e, f, ip, x, 1, info )
140 CALL chkxer(
'DGTTRS', infot, nout, lerr, ok )
142 CALL dgttrs(
'N', 2, 1, c, d, e, f, ip, x, 1, info )
143 CALL chkxer(
'DGTTRS', infot, nout, lerr, ok )
149 CALL dgtrfs(
'/', 0, 0, c, d, e, cf, df, ef, f, ip, b, 1, x, 1,
150 $ r1, r2, w, iw, info )
151 CALL chkxer(
'DGTRFS', infot, nout, lerr, ok )
153 CALL dgtrfs(
'N', -1, 0, c, d, e, cf, df, ef, f, ip, b, 1, x,
154 $ 1, r1, r2, w, iw, info )
155 CALL chkxer(
'DGTRFS', infot, nout, lerr, ok )
157 CALL dgtrfs(
'N', 0, -1, c, d, e, cf, df, ef, f, ip, b, 1, x,
158 $ 1, r1, r2, w, iw, info )
159 CALL chkxer(
'DGTRFS', infot, nout, lerr, ok )
161 CALL dgtrfs(
'N', 2, 1, c, d, e, cf, df, ef, f, ip, b, 1, x, 2,
162 $ r1, r2, w, iw, info )
163 CALL chkxer(
'DGTRFS', infot, nout, lerr, ok )
165 CALL dgtrfs(
'N', 2, 1, c, d, e, cf, df, ef, f, ip, b, 2, x, 1,
166 $ r1, r2, w, iw, info )
167 CALL chkxer(
'DGTRFS', infot, nout, lerr, ok )
173 CALL dgtcon(
'/', 0, c, d, e, f, ip, anorm, rcond, w, iw,
175 CALL chkxer(
'DGTCON', infot, nout, lerr, ok )
177 CALL dgtcon(
'I', -1, c, d, e, f, ip, anorm, rcond, w, iw,
179 CALL chkxer(
'DGTCON', infot, nout, lerr, ok )
181 CALL dgtcon(
'I', 0, c, d, e, f, ip, -anorm, rcond, w, iw,
183 CALL chkxer(
'DGTCON', infot, nout, lerr, ok )
185 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
194 CALL dpttrf( -1, d, e, info )
195 CALL chkxer(
'DPTTRF', infot, nout, lerr, ok )
201 CALL dpttrs( -1, 0, d, e, x, 1, info )
202 CALL chkxer(
'DPTTRS', infot, nout, lerr, ok )
204 CALL dpttrs( 0, -1, d, e, x, 1, info )
205 CALL chkxer(
'DPTTRS', infot, nout, lerr, ok )
207 CALL dpttrs( 2, 1, d, e, x, 1, info )
208 CALL chkxer(
'DPTTRS', infot, nout, lerr, ok )
214 CALL dptrfs( -1, 0, d, e, df, ef, b, 1, x, 1, r1, r2, w, info )
215 CALL chkxer(
'DPTRFS', infot, nout, lerr, ok )
217 CALL dptrfs( 0, -1, d, e, df, ef, b, 1, x, 1, r1, r2, w, info )
218 CALL chkxer(
'DPTRFS', infot, nout, lerr, ok )
220 CALL dptrfs( 2, 1, d, e, df, ef, b, 1, x, 2, r1, r2, w, info )
221 CALL chkxer(
'DPTRFS', infot, nout, lerr, ok )
223 CALL dptrfs( 2, 1, d, e, df, ef, b, 2, x, 1, r1, r2, w, info )
224 CALL chkxer(
'DPTRFS', infot, nout, lerr, ok )
230 CALL dptcon( -1, d, e, anorm, rcond, w, info )
231 CALL chkxer(
'DPTCON', infot, nout, lerr, ok )
233 CALL dptcon( 0, d, e, -anorm, rcond, w, info )
234 CALL chkxer(
'DPTCON', infot, nout, lerr, ok )
239 CALL alaesm( path, ok, nout )
subroutine dpttrf(N, D, E, INFO)
DPTTRF
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine dptcon(N, D, E, ANORM, RCOND, WORK, INFO)
DPTCON
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine dgtrfs(TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DGTRFS
subroutine dgttrs(TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB, INFO)
DGTTRS
subroutine derrgt(PATH, NUNIT)
DERRGT
subroutine dgttrf(N, DL, D, DU, DU2, IPIV, INFO)
DGTTRF
subroutine dptrfs(N, NRHS, D, E, DF, EF, B, LDB, X, LDX, FERR, BERR, WORK, INFO)
DPTRFS
subroutine dgtcon(NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
DGTCON
subroutine dpttrs(N, NRHS, D, E, B, LDB, INFO)
DPTTRS