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