LAPACK 3.3.0
|
00001 SUBROUTINE ZERRPO( PATH, NUNIT ) 00002 * 00003 * -- LAPACK test routine (version 3.2.1) -- 00004 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. 00005 * April 2009 00006 * 00007 * .. Scalar Arguments .. 00008 CHARACTER*3 PATH 00009 INTEGER NUNIT 00010 * .. 00011 * 00012 * Purpose 00013 * ======= 00014 * 00015 * ZERRPO tests the error exits for the COMPLEX*16 routines 00016 * for Hermitian positive definite matrices. 00017 * 00018 * Note that this file is used only when the XBLAS are available, 00019 * otherwise zerrpo.f defines this subroutine. 00020 * 00021 * Arguments 00022 * ========= 00023 * 00024 * PATH (input) CHARACTER*3 00025 * The LAPACK path name for the routines to be tested. 00026 * 00027 * NUNIT (input) INTEGER 00028 * The unit number for output. 00029 * 00030 * ===================================================================== 00031 * 00032 * .. Parameters .. 00033 INTEGER NMAX 00034 PARAMETER ( NMAX = 4 ) 00035 * .. 00036 * .. Local Scalars .. 00037 CHARACTER EQ 00038 CHARACTER*2 C2 00039 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 00040 DOUBLE PRECISION ANRM, RCOND, BERR 00041 * .. 00042 * .. Local Arrays .. 00043 DOUBLE PRECISION S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 00044 $ ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ), 00045 $ PARAMS( 1 ) 00046 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 00047 $ W( 2*NMAX ), X( NMAX ) 00048 * .. 00049 * .. External Functions .. 00050 LOGICAL LSAMEN 00051 EXTERNAL LSAMEN 00052 * .. 00053 * .. External Subroutines .. 00054 EXTERNAL ALAESM, CHKXER, ZPBCON, ZPBEQU, ZPBRFS, ZPBTF2, 00055 $ ZPBTRF, ZPBTRS, ZPOCON, ZPOEQU, ZPORFS, ZPOTF2, 00056 $ ZPOTRF, ZPOTRI, ZPOTRS, ZPPCON, ZPPEQU, ZPPRFS, 00057 $ ZPPTRF, ZPPTRI, ZPPTRS, ZPOEQUB, ZPORFSX 00058 * .. 00059 * .. Scalars in Common .. 00060 LOGICAL LERR, OK 00061 CHARACTER*32 SRNAMT 00062 INTEGER INFOT, NOUT 00063 * .. 00064 * .. Common blocks .. 00065 COMMON / INFOC / INFOT, NOUT, OK, LERR 00066 COMMON / SRNAMC / SRNAMT 00067 * .. 00068 * .. Intrinsic Functions .. 00069 INTRINSIC DBLE, DCMPLX 00070 * .. 00071 * .. Executable Statements .. 00072 * 00073 NOUT = NUNIT 00074 WRITE( NOUT, FMT = * ) 00075 C2 = PATH( 2: 3 ) 00076 * 00077 * Set the variables to innocuous values. 00078 * 00079 DO 20 J = 1, NMAX 00080 DO 10 I = 1, NMAX 00081 A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 00082 $ -1.D0 / DBLE( I+J ) ) 00083 AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 00084 $ -1.D0 / DBLE( I+J ) ) 00085 10 CONTINUE 00086 B( J ) = 0.D0 00087 R1( J ) = 0.D0 00088 R2( J ) = 0.D0 00089 W( J ) = 0.D0 00090 X( J ) = 0.D0 00091 S( J ) = 0.D0 00092 20 CONTINUE 00093 ANRM = 1.D0 00094 OK = .TRUE. 00095 * 00096 * Test error exits of the routines that use the Cholesky 00097 * decomposition of a Hermitian positive definite matrix. 00098 * 00099 IF( LSAMEN( 2, C2, 'PO' ) ) THEN 00100 * 00101 * ZPOTRF 00102 * 00103 SRNAMT = 'ZPOTRF' 00104 INFOT = 1 00105 CALL ZPOTRF( '/', 0, A, 1, INFO ) 00106 CALL CHKXER( 'ZPOTRF', INFOT, NOUT, LERR, OK ) 00107 INFOT = 2 00108 CALL ZPOTRF( 'U', -1, A, 1, INFO ) 00109 CALL CHKXER( 'ZPOTRF', INFOT, NOUT, LERR, OK ) 00110 INFOT = 4 00111 CALL ZPOTRF( 'U', 2, A, 1, INFO ) 00112 CALL CHKXER( 'ZPOTRF', INFOT, NOUT, LERR, OK ) 00113 * 00114 * ZPOTF2 00115 * 00116 SRNAMT = 'ZPOTF2' 00117 INFOT = 1 00118 CALL ZPOTF2( '/', 0, A, 1, INFO ) 00119 CALL CHKXER( 'ZPOTF2', INFOT, NOUT, LERR, OK ) 00120 INFOT = 2 00121 CALL ZPOTF2( 'U', -1, A, 1, INFO ) 00122 CALL CHKXER( 'ZPOTF2', INFOT, NOUT, LERR, OK ) 00123 INFOT = 4 00124 CALL ZPOTF2( 'U', 2, A, 1, INFO ) 00125 CALL CHKXER( 'ZPOTF2', INFOT, NOUT, LERR, OK ) 00126 * 00127 * ZPOTRI 00128 * 00129 SRNAMT = 'ZPOTRI' 00130 INFOT = 1 00131 CALL ZPOTRI( '/', 0, A, 1, INFO ) 00132 CALL CHKXER( 'ZPOTRI', INFOT, NOUT, LERR, OK ) 00133 INFOT = 2 00134 CALL ZPOTRI( 'U', -1, A, 1, INFO ) 00135 CALL CHKXER( 'ZPOTRI', INFOT, NOUT, LERR, OK ) 00136 INFOT = 4 00137 CALL ZPOTRI( 'U', 2, A, 1, INFO ) 00138 CALL CHKXER( 'ZPOTRI', INFOT, NOUT, LERR, OK ) 00139 * 00140 * ZPOTRS 00141 * 00142 SRNAMT = 'ZPOTRS' 00143 INFOT = 1 00144 CALL ZPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) 00145 CALL CHKXER( 'ZPOTRS', INFOT, NOUT, LERR, OK ) 00146 INFOT = 2 00147 CALL ZPOTRS( 'U', -1, 0, A, 1, B, 1, INFO ) 00148 CALL CHKXER( 'ZPOTRS', INFOT, NOUT, LERR, OK ) 00149 INFOT = 3 00150 CALL ZPOTRS( 'U', 0, -1, A, 1, B, 1, INFO ) 00151 CALL CHKXER( 'ZPOTRS', INFOT, NOUT, LERR, OK ) 00152 INFOT = 5 00153 CALL ZPOTRS( 'U', 2, 1, A, 1, B, 2, INFO ) 00154 CALL CHKXER( 'ZPOTRS', INFOT, NOUT, LERR, OK ) 00155 INFOT = 7 00156 CALL ZPOTRS( 'U', 2, 1, A, 2, B, 1, INFO ) 00157 CALL CHKXER( 'ZPOTRS', INFOT, NOUT, LERR, OK ) 00158 * 00159 * ZPORFS 00160 * 00161 SRNAMT = 'ZPORFS' 00162 INFOT = 1 00163 CALL ZPORFS( '/', 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R, 00164 $ INFO ) 00165 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00166 INFOT = 2 00167 CALL ZPORFS( 'U', -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R, 00168 $ INFO ) 00169 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00170 INFOT = 3 00171 CALL ZPORFS( 'U', 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R, 00172 $ INFO ) 00173 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00174 INFOT = 5 00175 CALL ZPORFS( 'U', 2, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, R, 00176 $ INFO ) 00177 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00178 INFOT = 7 00179 CALL ZPORFS( 'U', 2, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, R, 00180 $ INFO ) 00181 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00182 INFOT = 9 00183 CALL ZPORFS( 'U', 2, 1, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, R, 00184 $ INFO ) 00185 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00186 INFOT = 11 00187 CALL ZPORFS( 'U', 2, 1, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, R, 00188 $ INFO ) 00189 CALL CHKXER( 'ZPORFS', INFOT, NOUT, LERR, OK ) 00190 * 00191 * ZPORFSX 00192 * 00193 N_ERR_BNDS = 3 00194 NPARAMS = 0 00195 SRNAMT = 'ZPORFSX' 00196 INFOT = 1 00197 CALL ZPORFSX( '/', EQ, 0, 0, A, 1, AF, 1, S, B, 1, X, 1, 00198 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00199 $ PARAMS, W, R, INFO ) 00200 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00201 INFOT = 2 00202 CALL ZPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1, 00203 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00204 $ PARAMS, W, R, INFO ) 00205 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00206 EQ = 'N' 00207 INFOT = 3 00208 CALL ZPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1, 00209 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00210 $ PARAMS, W, R, INFO ) 00211 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00212 INFOT = 4 00213 CALL ZPORFSX( 'U', EQ, 0, -1, A, 1, AF, 1, S, B, 1, X, 1, 00214 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00215 $ PARAMS, W, R, INFO ) 00216 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00217 INFOT = 6 00218 CALL ZPORFSX( 'U', EQ, 2, 1, A, 1, AF, 2, S, B, 2, X, 2, 00219 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00220 $ PARAMS, W, R, INFO ) 00221 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00222 INFOT = 8 00223 CALL ZPORFSX( 'U', EQ, 2, 1, A, 2, AF, 1, S, B, 2, X, 2, 00224 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00225 $ PARAMS, W, R, INFO ) 00226 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00227 INFOT = 11 00228 CALL ZPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 1, X, 2, 00229 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00230 $ PARAMS, W, R, INFO ) 00231 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00232 INFOT = 13 00233 CALL ZPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 2, X, 1, 00234 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00235 $ PARAMS, W, R, INFO ) 00236 CALL CHKXER( 'ZPORFSX', INFOT, NOUT, LERR, OK ) 00237 * 00238 * ZPOCON 00239 * 00240 SRNAMT = 'ZPOCON' 00241 INFOT = 1 00242 CALL ZPOCON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO ) 00243 CALL CHKXER( 'ZPOCON', INFOT, NOUT, LERR, OK ) 00244 INFOT = 2 00245 CALL ZPOCON( 'U', -1, A, 1, ANRM, RCOND, W, R, INFO ) 00246 CALL CHKXER( 'ZPOCON', INFOT, NOUT, LERR, OK ) 00247 INFOT = 4 00248 CALL ZPOCON( 'U', 2, A, 1, ANRM, RCOND, W, R, INFO ) 00249 CALL CHKXER( 'ZPOCON', INFOT, NOUT, LERR, OK ) 00250 INFOT = 5 00251 CALL ZPOCON( 'U', 1, A, 1, -ANRM, RCOND, W, R, INFO ) 00252 CALL CHKXER( 'ZPOCON', INFOT, NOUT, LERR, OK ) 00253 * 00254 * ZPOEQU 00255 * 00256 SRNAMT = 'ZPOEQU' 00257 INFOT = 1 00258 CALL ZPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO ) 00259 CALL CHKXER( 'ZPOEQU', INFOT, NOUT, LERR, OK ) 00260 INFOT = 3 00261 CALL ZPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO ) 00262 CALL CHKXER( 'ZPOEQU', INFOT, NOUT, LERR, OK ) 00263 * 00264 * ZPOEQUB 00265 * 00266 SRNAMT = 'ZPOEQUB' 00267 INFOT = 1 00268 CALL ZPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO ) 00269 CALL CHKXER( 'ZPOEQUB', INFOT, NOUT, LERR, OK ) 00270 INFOT = 3 00271 CALL ZPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO ) 00272 CALL CHKXER( 'ZPOEQUB', INFOT, NOUT, LERR, OK ) 00273 * 00274 * Test error exits of the routines that use the Cholesky 00275 * decomposition of a Hermitian positive definite packed matrix. 00276 * 00277 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 00278 * 00279 * ZPPTRF 00280 * 00281 SRNAMT = 'ZPPTRF' 00282 INFOT = 1 00283 CALL ZPPTRF( '/', 0, A, INFO ) 00284 CALL CHKXER( 'ZPPTRF', INFOT, NOUT, LERR, OK ) 00285 INFOT = 2 00286 CALL ZPPTRF( 'U', -1, A, INFO ) 00287 CALL CHKXER( 'ZPPTRF', INFOT, NOUT, LERR, OK ) 00288 * 00289 * ZPPTRI 00290 * 00291 SRNAMT = 'ZPPTRI' 00292 INFOT = 1 00293 CALL ZPPTRI( '/', 0, A, INFO ) 00294 CALL CHKXER( 'ZPPTRI', INFOT, NOUT, LERR, OK ) 00295 INFOT = 2 00296 CALL ZPPTRI( 'U', -1, A, INFO ) 00297 CALL CHKXER( 'ZPPTRI', INFOT, NOUT, LERR, OK ) 00298 * 00299 * ZPPTRS 00300 * 00301 SRNAMT = 'ZPPTRS' 00302 INFOT = 1 00303 CALL ZPPTRS( '/', 0, 0, A, B, 1, INFO ) 00304 CALL CHKXER( 'ZPPTRS', INFOT, NOUT, LERR, OK ) 00305 INFOT = 2 00306 CALL ZPPTRS( 'U', -1, 0, A, B, 1, INFO ) 00307 CALL CHKXER( 'ZPPTRS', INFOT, NOUT, LERR, OK ) 00308 INFOT = 3 00309 CALL ZPPTRS( 'U', 0, -1, A, B, 1, INFO ) 00310 CALL CHKXER( 'ZPPTRS', INFOT, NOUT, LERR, OK ) 00311 INFOT = 6 00312 CALL ZPPTRS( 'U', 2, 1, A, B, 1, INFO ) 00313 CALL CHKXER( 'ZPPTRS', INFOT, NOUT, LERR, OK ) 00314 * 00315 * ZPPRFS 00316 * 00317 SRNAMT = 'ZPPRFS' 00318 INFOT = 1 00319 CALL ZPPRFS( '/', 0, 0, A, AF, B, 1, X, 1, R1, R2, W, R, INFO ) 00320 CALL CHKXER( 'ZPPRFS', INFOT, NOUT, LERR, OK ) 00321 INFOT = 2 00322 CALL ZPPRFS( 'U', -1, 0, A, AF, B, 1, X, 1, R1, R2, W, R, 00323 $ INFO ) 00324 CALL CHKXER( 'ZPPRFS', INFOT, NOUT, LERR, OK ) 00325 INFOT = 3 00326 CALL ZPPRFS( 'U', 0, -1, A, AF, B, 1, X, 1, R1, R2, W, R, 00327 $ INFO ) 00328 CALL CHKXER( 'ZPPRFS', INFOT, NOUT, LERR, OK ) 00329 INFOT = 7 00330 CALL ZPPRFS( 'U', 2, 1, A, AF, B, 1, X, 2, R1, R2, W, R, INFO ) 00331 CALL CHKXER( 'ZPPRFS', INFOT, NOUT, LERR, OK ) 00332 INFOT = 9 00333 CALL ZPPRFS( 'U', 2, 1, A, AF, B, 2, X, 1, R1, R2, W, R, INFO ) 00334 CALL CHKXER( 'ZPPRFS', INFOT, NOUT, LERR, OK ) 00335 * 00336 * ZPPCON 00337 * 00338 SRNAMT = 'ZPPCON' 00339 INFOT = 1 00340 CALL ZPPCON( '/', 0, A, ANRM, RCOND, W, R, INFO ) 00341 CALL CHKXER( 'ZPPCON', INFOT, NOUT, LERR, OK ) 00342 INFOT = 2 00343 CALL ZPPCON( 'U', -1, A, ANRM, RCOND, W, R, INFO ) 00344 CALL CHKXER( 'ZPPCON', INFOT, NOUT, LERR, OK ) 00345 INFOT = 4 00346 CALL ZPPCON( 'U', 1, A, -ANRM, RCOND, W, R, INFO ) 00347 CALL CHKXER( 'ZPPCON', INFOT, NOUT, LERR, OK ) 00348 * 00349 * ZPPEQU 00350 * 00351 SRNAMT = 'ZPPEQU' 00352 INFOT = 1 00353 CALL ZPPEQU( '/', 0, A, R1, RCOND, ANRM, INFO ) 00354 CALL CHKXER( 'ZPPEQU', INFOT, NOUT, LERR, OK ) 00355 INFOT = 2 00356 CALL ZPPEQU( 'U', -1, A, R1, RCOND, ANRM, INFO ) 00357 CALL CHKXER( 'ZPPEQU', INFOT, NOUT, LERR, OK ) 00358 * 00359 * Test error exits of the routines that use the Cholesky 00360 * decomposition of a Hermitian positive definite band matrix. 00361 * 00362 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 00363 * 00364 * ZPBTRF 00365 * 00366 SRNAMT = 'ZPBTRF' 00367 INFOT = 1 00368 CALL ZPBTRF( '/', 0, 0, A, 1, INFO ) 00369 CALL CHKXER( 'ZPBTRF', INFOT, NOUT, LERR, OK ) 00370 INFOT = 2 00371 CALL ZPBTRF( 'U', -1, 0, A, 1, INFO ) 00372 CALL CHKXER( 'ZPBTRF', INFOT, NOUT, LERR, OK ) 00373 INFOT = 3 00374 CALL ZPBTRF( 'U', 1, -1, A, 1, INFO ) 00375 CALL CHKXER( 'ZPBTRF', INFOT, NOUT, LERR, OK ) 00376 INFOT = 5 00377 CALL ZPBTRF( 'U', 2, 1, A, 1, INFO ) 00378 CALL CHKXER( 'ZPBTRF', INFOT, NOUT, LERR, OK ) 00379 * 00380 * ZPBTF2 00381 * 00382 SRNAMT = 'ZPBTF2' 00383 INFOT = 1 00384 CALL ZPBTF2( '/', 0, 0, A, 1, INFO ) 00385 CALL CHKXER( 'ZPBTF2', INFOT, NOUT, LERR, OK ) 00386 INFOT = 2 00387 CALL ZPBTF2( 'U', -1, 0, A, 1, INFO ) 00388 CALL CHKXER( 'ZPBTF2', INFOT, NOUT, LERR, OK ) 00389 INFOT = 3 00390 CALL ZPBTF2( 'U', 1, -1, A, 1, INFO ) 00391 CALL CHKXER( 'ZPBTF2', INFOT, NOUT, LERR, OK ) 00392 INFOT = 5 00393 CALL ZPBTF2( 'U', 2, 1, A, 1, INFO ) 00394 CALL CHKXER( 'ZPBTF2', INFOT, NOUT, LERR, OK ) 00395 * 00396 * ZPBTRS 00397 * 00398 SRNAMT = 'ZPBTRS' 00399 INFOT = 1 00400 CALL ZPBTRS( '/', 0, 0, 0, A, 1, B, 1, INFO ) 00401 CALL CHKXER( 'ZPBTRS', INFOT, NOUT, LERR, OK ) 00402 INFOT = 2 00403 CALL ZPBTRS( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 00404 CALL CHKXER( 'ZPBTRS', INFOT, NOUT, LERR, OK ) 00405 INFOT = 3 00406 CALL ZPBTRS( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 00407 CALL CHKXER( 'ZPBTRS', INFOT, NOUT, LERR, OK ) 00408 INFOT = 4 00409 CALL ZPBTRS( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 00410 CALL CHKXER( 'ZPBTRS', INFOT, NOUT, LERR, OK ) 00411 INFOT = 6 00412 CALL ZPBTRS( 'U', 2, 1, 1, A, 1, B, 1, INFO ) 00413 CALL CHKXER( 'ZPBTRS', INFOT, NOUT, LERR, OK ) 00414 INFOT = 8 00415 CALL ZPBTRS( 'U', 2, 0, 1, A, 1, B, 1, INFO ) 00416 CALL CHKXER( 'ZPBTRS', INFOT, NOUT, LERR, OK ) 00417 * 00418 * ZPBRFS 00419 * 00420 SRNAMT = 'ZPBRFS' 00421 INFOT = 1 00422 CALL ZPBRFS( '/', 0, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00423 $ R, INFO ) 00424 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00425 INFOT = 2 00426 CALL ZPBRFS( 'U', -1, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00427 $ R, INFO ) 00428 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00429 INFOT = 3 00430 CALL ZPBRFS( 'U', 1, -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00431 $ R, INFO ) 00432 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00433 INFOT = 4 00434 CALL ZPBRFS( 'U', 0, 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00435 $ R, INFO ) 00436 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00437 INFOT = 6 00438 CALL ZPBRFS( 'U', 2, 1, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, 00439 $ R, INFO ) 00440 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00441 INFOT = 8 00442 CALL ZPBRFS( 'U', 2, 1, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, 00443 $ R, INFO ) 00444 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00445 INFOT = 10 00446 CALL ZPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 1, X, 2, R1, R2, W, 00447 $ R, INFO ) 00448 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00449 INFOT = 12 00450 CALL ZPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 2, X, 1, R1, R2, W, 00451 $ R, INFO ) 00452 CALL CHKXER( 'ZPBRFS', INFOT, NOUT, LERR, OK ) 00453 * 00454 * ZPBCON 00455 * 00456 SRNAMT = 'ZPBCON' 00457 INFOT = 1 00458 CALL ZPBCON( '/', 0, 0, A, 1, ANRM, RCOND, W, R, INFO ) 00459 CALL CHKXER( 'ZPBCON', INFOT, NOUT, LERR, OK ) 00460 INFOT = 2 00461 CALL ZPBCON( 'U', -1, 0, A, 1, ANRM, RCOND, W, R, INFO ) 00462 CALL CHKXER( 'ZPBCON', INFOT, NOUT, LERR, OK ) 00463 INFOT = 3 00464 CALL ZPBCON( 'U', 1, -1, A, 1, ANRM, RCOND, W, R, INFO ) 00465 CALL CHKXER( 'ZPBCON', INFOT, NOUT, LERR, OK ) 00466 INFOT = 5 00467 CALL ZPBCON( 'U', 2, 1, A, 1, ANRM, RCOND, W, R, INFO ) 00468 CALL CHKXER( 'ZPBCON', INFOT, NOUT, LERR, OK ) 00469 INFOT = 6 00470 CALL ZPBCON( 'U', 1, 0, A, 1, -ANRM, RCOND, W, R, INFO ) 00471 CALL CHKXER( 'ZPBCON', INFOT, NOUT, LERR, OK ) 00472 * 00473 * ZPBEQU 00474 * 00475 SRNAMT = 'ZPBEQU' 00476 INFOT = 1 00477 CALL ZPBEQU( '/', 0, 0, A, 1, R1, RCOND, ANRM, INFO ) 00478 CALL CHKXER( 'ZPBEQU', INFOT, NOUT, LERR, OK ) 00479 INFOT = 2 00480 CALL ZPBEQU( 'U', -1, 0, A, 1, R1, RCOND, ANRM, INFO ) 00481 CALL CHKXER( 'ZPBEQU', INFOT, NOUT, LERR, OK ) 00482 INFOT = 3 00483 CALL ZPBEQU( 'U', 1, -1, A, 1, R1, RCOND, ANRM, INFO ) 00484 CALL CHKXER( 'ZPBEQU', INFOT, NOUT, LERR, OK ) 00485 INFOT = 5 00486 CALL ZPBEQU( 'U', 2, 1, A, 1, R1, RCOND, ANRM, INFO ) 00487 CALL CHKXER( 'ZPBEQU', INFOT, NOUT, LERR, OK ) 00488 END IF 00489 * 00490 * Print a summary line. 00491 * 00492 CALL ALAESM( PATH, OK, NOUT ) 00493 * 00494 RETURN 00495 * 00496 * End of ZERRPO 00497 * 00498 END