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