1*> \brief \b DERRPOX 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE DERRPO( PATH, NUNIT ) 12* 13* .. Scalar Arguments .. 14* CHARACTER*3 PATH 15* INTEGER NUNIT 16* .. 17* 18* 19*> \par Purpose: 20* ============= 21*> 22*> \verbatim 23*> 24*> DERRPO tests the error exits for the DOUBLE PRECISION routines 25*> for symmetric positive definite matrices. 26*> 27*> Note that this file is used only when the XBLAS are available, 28*> otherwise derrpo.f defines this subroutine. 29*> \endverbatim 30* 31* Arguments: 32* ========== 33* 34*> \param[in] PATH 35*> \verbatim 36*> PATH is CHARACTER*3 37*> The LAPACK path name for the routines to be tested. 38*> \endverbatim 39*> 40*> \param[in] NUNIT 41*> \verbatim 42*> NUNIT is INTEGER 43*> The unit number for output. 44*> \endverbatim 45* 46* Authors: 47* ======== 48* 49*> \author Univ. of Tennessee 50*> \author Univ. of California Berkeley 51*> \author Univ. of Colorado Denver 52*> \author NAG Ltd. 53* 54*> \date November 2011 55* 56*> \ingroup double_lin 57* 58* ===================================================================== 59 SUBROUTINE DERRPO( PATH, NUNIT ) 60* 61* -- LAPACK test routine (version 3.4.0) -- 62* -- LAPACK is a software package provided by Univ. of Tennessee, -- 63* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 64* November 2011 65* 66* .. Scalar Arguments .. 67 CHARACTER*3 PATH 68 INTEGER NUNIT 69* .. 70* 71* ===================================================================== 72* 73* .. Parameters .. 74 INTEGER NMAX 75 PARAMETER ( NMAX = 4 ) 76* .. 77* .. Local Scalars .. 78 CHARACTER EQ 79 CHARACTER*2 C2 80 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 81 DOUBLE PRECISION ANRM, RCOND, BERR 82* .. 83* .. Local Arrays .. 84 INTEGER IW( NMAX ) 85 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 86 $ R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX ), 87 $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ), 88 $ ERR_BNDS_C( NMAX, 3), PARAMS( 1 ) 89* .. 90* .. External Functions .. 91 LOGICAL LSAMEN 92 EXTERNAL LSAMEN 93* .. 94* .. External Subroutines .. 95 EXTERNAL ALAESM, CHKXER, DPBCON, DPBEQU, DPBRFS, DPBTF2, 96 $ DPBTRF, DPBTRS, DPOCON, DPOEQU, DPORFS, DPOTF2, 97 $ DPOTRF, DPOTRI, DPOTRS, DPPCON, DPPEQU, DPPRFS, 98 $ DPPTRF, DPPTRI, DPPTRS, DPOEQUB, DPORFSX 99* .. 100* .. Scalars in Common .. 101 LOGICAL LERR, OK 102 CHARACTER*32 SRNAMT 103 INTEGER INFOT, NOUT 104* .. 105* .. Common blocks .. 106 COMMON / INFOC / INFOT, NOUT, OK, LERR 107 COMMON / SRNAMC / SRNAMT 108* .. 109* .. Intrinsic Functions .. 110 INTRINSIC DBLE 111* .. 112* .. Executable Statements .. 113* 114 NOUT = NUNIT 115 WRITE( NOUT, FMT = * ) 116 C2 = PATH( 2: 3 ) 117* 118* Set the variables to innocuous values. 119* 120 DO 20 J = 1, NMAX 121 DO 10 I = 1, NMAX 122 A( I, J ) = 1.D0 / DBLE( I+J ) 123 AF( I, J ) = 1.D0 / DBLE( I+J ) 124 10 CONTINUE 125 B( J ) = 0.D0 126 R1( J ) = 0.D0 127 R2( J ) = 0.D0 128 W( J ) = 0.D0 129 X( J ) = 0.D0 130 S( J ) = 0.D0 131 IW( J ) = J 132 20 CONTINUE 133 OK = .TRUE. 134* 135 IF( LSAMEN( 2, C2, 'PO' ) ) THEN 136* 137* Test error exits of the routines that use the Cholesky 138* decomposition of a symmetric positive definite matrix. 139* 140* DPOTRF 141* 142 SRNAMT = 'DPOTRF' 143 INFOT = 1 144 CALL DPOTRF( '/', 0, A, 1, INFO ) 145 CALL CHKXER( 'DPOTRF', INFOT, NOUT, LERR, OK ) 146 INFOT = 2 147 CALL DPOTRF( 'U', -1, A, 1, INFO ) 148 CALL CHKXER( 'DPOTRF', INFOT, NOUT, LERR, OK ) 149 INFOT = 4 150 CALL DPOTRF( 'U', 2, A, 1, INFO ) 151 CALL CHKXER( 'DPOTRF', INFOT, NOUT, LERR, OK ) 152* 153* DPOTF2 154* 155 SRNAMT = 'DPOTF2' 156 INFOT = 1 157 CALL DPOTF2( '/', 0, A, 1, INFO ) 158 CALL CHKXER( 'DPOTF2', INFOT, NOUT, LERR, OK ) 159 INFOT = 2 160 CALL DPOTF2( 'U', -1, A, 1, INFO ) 161 CALL CHKXER( 'DPOTF2', INFOT, NOUT, LERR, OK ) 162 INFOT = 4 163 CALL DPOTF2( 'U', 2, A, 1, INFO ) 164 CALL CHKXER( 'DPOTF2', INFOT, NOUT, LERR, OK ) 165* 166* DPOTRI 167* 168 SRNAMT = 'DPOTRI' 169 INFOT = 1 170 CALL DPOTRI( '/', 0, A, 1, INFO ) 171 CALL CHKXER( 'DPOTRI', INFOT, NOUT, LERR, OK ) 172 INFOT = 2 173 CALL DPOTRI( 'U', -1, A, 1, INFO ) 174 CALL CHKXER( 'DPOTRI', INFOT, NOUT, LERR, OK ) 175 INFOT = 4 176 CALL DPOTRI( 'U', 2, A, 1, INFO ) 177 CALL CHKXER( 'DPOTRI', INFOT, NOUT, LERR, OK ) 178* 179* DPOTRS 180* 181 SRNAMT = 'DPOTRS' 182 INFOT = 1 183 CALL DPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) 184 CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK ) 185 INFOT = 2 186 CALL DPOTRS( 'U', -1, 0, A, 1, B, 1, INFO ) 187 CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK ) 188 INFOT = 3 189 CALL DPOTRS( 'U', 0, -1, A, 1, B, 1, INFO ) 190 CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK ) 191 INFOT = 5 192 CALL DPOTRS( 'U', 2, 1, A, 1, B, 2, INFO ) 193 CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK ) 194 INFOT = 7 195 CALL DPOTRS( 'U', 2, 1, A, 2, B, 1, INFO ) 196 CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK ) 197* 198* DPORFS 199* 200 SRNAMT = 'DPORFS' 201 INFOT = 1 202 CALL DPORFS( '/', 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, IW, 203 $ INFO ) 204 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 205 INFOT = 2 206 CALL DPORFS( 'U', -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 207 $ IW, INFO ) 208 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 209 INFOT = 3 210 CALL DPORFS( 'U', 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 211 $ IW, INFO ) 212 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 213 INFOT = 5 214 CALL DPORFS( 'U', 2, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, IW, 215 $ INFO ) 216 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 217 INFOT = 7 218 CALL DPORFS( 'U', 2, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, IW, 219 $ INFO ) 220 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 221 INFOT = 9 222 CALL DPORFS( 'U', 2, 1, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, IW, 223 $ INFO ) 224 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 225 INFOT = 11 226 CALL DPORFS( 'U', 2, 1, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, IW, 227 $ INFO ) 228 CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK ) 229* 230* DPORFSX 231* 232 N_ERR_BNDS = 3 233 NPARAMS = 0 234 SRNAMT = 'DPORFSX' 235 INFOT = 1 236 CALL DPORFSX( '/', EQ, 0, 0, A, 1, AF, 1, S, B, 1, X, 1, 237 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 238 $ PARAMS, W, IW, INFO ) 239 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 240 INFOT = 2 241 CALL DPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1, 242 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 243 $ PARAMS, W, IW, INFO ) 244 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 245 EQ = 'N' 246 INFOT = 3 247 CALL DPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1, 248 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 249 $ PARAMS, W, IW, INFO ) 250 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 251 INFOT = 4 252 CALL DPORFSX( 'U', EQ, 0, -1, A, 1, AF, 1, S, B, 1, X, 1, 253 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 254 $ PARAMS, W, IW, INFO ) 255 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 256 INFOT = 6 257 CALL DPORFSX( 'U', EQ, 2, 1, A, 1, AF, 2, S, B, 2, X, 2, 258 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 259 $ PARAMS, W, IW, INFO ) 260 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 261 INFOT = 8 262 CALL DPORFSX( 'U', EQ, 2, 1, A, 2, AF, 1, S, B, 2, X, 2, 263 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 264 $ PARAMS, W, IW, INFO ) 265 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 266 INFOT = 11 267 CALL DPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 1, X, 2, 268 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 269 $ PARAMS, W, IW, INFO ) 270 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 271 INFOT = 13 272 CALL DPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 2, X, 1, 273 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 274 $ PARAMS, W, IW, INFO ) 275 CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK ) 276* 277* DPOCON 278* 279 SRNAMT = 'DPOCON' 280 INFOT = 1 281 CALL DPOCON( '/', 0, A, 1, ANRM, RCOND, W, IW, INFO ) 282 CALL CHKXER( 'DPOCON', INFOT, NOUT, LERR, OK ) 283 INFOT = 2 284 CALL DPOCON( 'U', -1, A, 1, ANRM, RCOND, W, IW, INFO ) 285 CALL CHKXER( 'DPOCON', INFOT, NOUT, LERR, OK ) 286 INFOT = 4 287 CALL DPOCON( 'U', 2, A, 1, ANRM, RCOND, W, IW, INFO ) 288 CALL CHKXER( 'DPOCON', INFOT, NOUT, LERR, OK ) 289* 290* DPOEQU 291* 292 SRNAMT = 'DPOEQU' 293 INFOT = 1 294 CALL DPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO ) 295 CALL CHKXER( 'DPOEQU', INFOT, NOUT, LERR, OK ) 296 INFOT = 3 297 CALL DPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO ) 298 CALL CHKXER( 'DPOEQU', INFOT, NOUT, LERR, OK ) 299* 300* DPOEQUB 301* 302 SRNAMT = 'DPOEQUB' 303 INFOT = 1 304 CALL DPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO ) 305 CALL CHKXER( 'DPOEQUB', INFOT, NOUT, LERR, OK ) 306 INFOT = 3 307 CALL DPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO ) 308 CALL CHKXER( 'DPOEQUB', INFOT, NOUT, LERR, OK ) 309* 310 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 311* 312* Test error exits of the routines that use the Cholesky 313* decomposition of a symmetric positive definite packed matrix. 314* 315* DPPTRF 316* 317 SRNAMT = 'DPPTRF' 318 INFOT = 1 319 CALL DPPTRF( '/', 0, A, INFO ) 320 CALL CHKXER( 'DPPTRF', INFOT, NOUT, LERR, OK ) 321 INFOT = 2 322 CALL DPPTRF( 'U', -1, A, INFO ) 323 CALL CHKXER( 'DPPTRF', INFOT, NOUT, LERR, OK ) 324* 325* DPPTRI 326* 327 SRNAMT = 'DPPTRI' 328 INFOT = 1 329 CALL DPPTRI( '/', 0, A, INFO ) 330 CALL CHKXER( 'DPPTRI', INFOT, NOUT, LERR, OK ) 331 INFOT = 2 332 CALL DPPTRI( 'U', -1, A, INFO ) 333 CALL CHKXER( 'DPPTRI', INFOT, NOUT, LERR, OK ) 334* 335* DPPTRS 336* 337 SRNAMT = 'DPPTRS' 338 INFOT = 1 339 CALL DPPTRS( '/', 0, 0, A, B, 1, INFO ) 340 CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK ) 341 INFOT = 2 342 CALL DPPTRS( 'U', -1, 0, A, B, 1, INFO ) 343 CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK ) 344 INFOT = 3 345 CALL DPPTRS( 'U', 0, -1, A, B, 1, INFO ) 346 CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK ) 347 INFOT = 6 348 CALL DPPTRS( 'U', 2, 1, A, B, 1, INFO ) 349 CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK ) 350* 351* DPPRFS 352* 353 SRNAMT = 'DPPRFS' 354 INFOT = 1 355 CALL DPPRFS( '/', 0, 0, A, AF, B, 1, X, 1, R1, R2, W, IW, 356 $ INFO ) 357 CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK ) 358 INFOT = 2 359 CALL DPPRFS( 'U', -1, 0, A, AF, B, 1, X, 1, R1, R2, W, IW, 360 $ INFO ) 361 CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK ) 362 INFOT = 3 363 CALL DPPRFS( 'U', 0, -1, A, AF, B, 1, X, 1, R1, R2, W, IW, 364 $ INFO ) 365 CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK ) 366 INFOT = 7 367 CALL DPPRFS( 'U', 2, 1, A, AF, B, 1, X, 2, R1, R2, W, IW, 368 $ INFO ) 369 CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK ) 370 INFOT = 9 371 CALL DPPRFS( 'U', 2, 1, A, AF, B, 2, X, 1, R1, R2, W, IW, 372 $ INFO ) 373 CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK ) 374* 375* DPPCON 376* 377 SRNAMT = 'DPPCON' 378 INFOT = 1 379 CALL DPPCON( '/', 0, A, ANRM, RCOND, W, IW, INFO ) 380 CALL CHKXER( 'DPPCON', INFOT, NOUT, LERR, OK ) 381 INFOT = 2 382 CALL DPPCON( 'U', -1, A, ANRM, RCOND, W, IW, INFO ) 383 CALL CHKXER( 'DPPCON', INFOT, NOUT, LERR, OK ) 384* 385* DPPEQU 386* 387 SRNAMT = 'DPPEQU' 388 INFOT = 1 389 CALL DPPEQU( '/', 0, A, R1, RCOND, ANRM, INFO ) 390 CALL CHKXER( 'DPPEQU', INFOT, NOUT, LERR, OK ) 391 INFOT = 2 392 CALL DPPEQU( 'U', -1, A, R1, RCOND, ANRM, INFO ) 393 CALL CHKXER( 'DPPEQU', INFOT, NOUT, LERR, OK ) 394* 395 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 396* 397* Test error exits of the routines that use the Cholesky 398* decomposition of a symmetric positive definite band matrix. 399* 400* DPBTRF 401* 402 SRNAMT = 'DPBTRF' 403 INFOT = 1 404 CALL DPBTRF( '/', 0, 0, A, 1, INFO ) 405 CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK ) 406 INFOT = 2 407 CALL DPBTRF( 'U', -1, 0, A, 1, INFO ) 408 CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK ) 409 INFOT = 3 410 CALL DPBTRF( 'U', 1, -1, A, 1, INFO ) 411 CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK ) 412 INFOT = 5 413 CALL DPBTRF( 'U', 2, 1, A, 1, INFO ) 414 CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK ) 415* 416* DPBTF2 417* 418 SRNAMT = 'DPBTF2' 419 INFOT = 1 420 CALL DPBTF2( '/', 0, 0, A, 1, INFO ) 421 CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK ) 422 INFOT = 2 423 CALL DPBTF2( 'U', -1, 0, A, 1, INFO ) 424 CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK ) 425 INFOT = 3 426 CALL DPBTF2( 'U', 1, -1, A, 1, INFO ) 427 CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK ) 428 INFOT = 5 429 CALL DPBTF2( 'U', 2, 1, A, 1, INFO ) 430 CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK ) 431* 432* DPBTRS 433* 434 SRNAMT = 'DPBTRS' 435 INFOT = 1 436 CALL DPBTRS( '/', 0, 0, 0, A, 1, B, 1, INFO ) 437 CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK ) 438 INFOT = 2 439 CALL DPBTRS( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 440 CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK ) 441 INFOT = 3 442 CALL DPBTRS( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 443 CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK ) 444 INFOT = 4 445 CALL DPBTRS( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 446 CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK ) 447 INFOT = 6 448 CALL DPBTRS( 'U', 2, 1, 1, A, 1, B, 1, INFO ) 449 CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK ) 450 INFOT = 8 451 CALL DPBTRS( 'U', 2, 0, 1, A, 1, B, 1, INFO ) 452 CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK ) 453* 454* DPBRFS 455* 456 SRNAMT = 'DPBRFS' 457 INFOT = 1 458 CALL DPBRFS( '/', 0, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 459 $ IW, INFO ) 460 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 461 INFOT = 2 462 CALL DPBRFS( 'U', -1, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 463 $ IW, INFO ) 464 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 465 INFOT = 3 466 CALL DPBRFS( 'U', 1, -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 467 $ IW, INFO ) 468 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 469 INFOT = 4 470 CALL DPBRFS( 'U', 0, 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 471 $ IW, INFO ) 472 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 473 INFOT = 6 474 CALL DPBRFS( 'U', 2, 1, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, 475 $ IW, INFO ) 476 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 477 INFOT = 8 478 CALL DPBRFS( 'U', 2, 1, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, 479 $ IW, INFO ) 480 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 481 INFOT = 10 482 CALL DPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 1, X, 2, R1, R2, W, 483 $ IW, INFO ) 484 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 485 INFOT = 12 486 CALL DPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 2, X, 1, R1, R2, W, 487 $ IW, INFO ) 488 CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK ) 489* 490* DPBCON 491* 492 SRNAMT = 'DPBCON' 493 INFOT = 1 494 CALL DPBCON( '/', 0, 0, A, 1, ANRM, RCOND, W, IW, INFO ) 495 CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK ) 496 INFOT = 2 497 CALL DPBCON( 'U', -1, 0, A, 1, ANRM, RCOND, W, IW, INFO ) 498 CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK ) 499 INFOT = 3 500 CALL DPBCON( 'U', 1, -1, A, 1, ANRM, RCOND, W, IW, INFO ) 501 CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK ) 502 INFOT = 5 503 CALL DPBCON( 'U', 2, 1, A, 1, ANRM, RCOND, W, IW, INFO ) 504 CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK ) 505* 506* DPBEQU 507* 508 SRNAMT = 'DPBEQU' 509 INFOT = 1 510 CALL DPBEQU( '/', 0, 0, A, 1, R1, RCOND, ANRM, INFO ) 511 CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK ) 512 INFOT = 2 513 CALL DPBEQU( 'U', -1, 0, A, 1, R1, RCOND, ANRM, INFO ) 514 CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK ) 515 INFOT = 3 516 CALL DPBEQU( 'U', 1, -1, A, 1, R1, RCOND, ANRM, INFO ) 517 CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK ) 518 INFOT = 5 519 CALL DPBEQU( 'U', 2, 1, A, 1, R1, RCOND, ANRM, INFO ) 520 CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK ) 521 END IF 522* 523* Print a summary line. 524* 525 CALL ALAESM( PATH, OK, NOUT ) 526* 527 RETURN 528* 529* End of DERRPO 530* 531 END 532