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