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