![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b CERRGEX 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 CERRGE( 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 *> CERRGE tests the error exits for the COMPLEX routines 00025 *> for general matrices. 00026 *> 00027 *> Note that this file is used only when the XBLAS are available, 00028 *> otherwise cerrge.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 complex_lin 00057 * 00058 * ===================================================================== 00059 SUBROUTINE CERRGE( 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 REAL ANRM, CCOND, RCOND, BERR 00082 * .. 00083 * .. Local Arrays .. 00084 INTEGER IP( NMAX ) 00085 REAL R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ), 00086 $ RS( NMAX ) 00087 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 00088 $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ), 00089 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 ) 00090 * .. 00091 * .. External Functions .. 00092 LOGICAL LSAMEN 00093 EXTERNAL LSAMEN 00094 * .. 00095 * .. External Subroutines .. 00096 EXTERNAL ALAESM, CGBCON, CGBEQU, CGBRFS, CGBTF2, CGBTRF, 00097 $ CGBTRS, CGECON, CGEEQU, CGERFS, CGETF2, CGETRF, 00098 $ CGETRI, CGETRS, CHKXER, CGEEQUB, CGERFSX, 00099 $ CGBEQUB, CGBRFSX 00100 * .. 00101 * .. Scalars in Common .. 00102 LOGICAL LERR, OK 00103 CHARACTER*32 SRNAMT 00104 INTEGER INFOT, NOUT 00105 * .. 00106 * .. Common blocks .. 00107 COMMON / INFOC / INFOT, NOUT, OK, LERR 00108 COMMON / SRNAMC / SRNAMT 00109 * .. 00110 * .. Intrinsic Functions .. 00111 INTRINSIC CMPLX, REAL 00112 * .. 00113 * .. Executable Statements .. 00114 * 00115 NOUT = NUNIT 00116 WRITE( NOUT, FMT = * ) 00117 C2 = PATH( 2: 3 ) 00118 * 00119 * Set the variables to innocuous values. 00120 * 00121 DO 20 J = 1, NMAX 00122 DO 10 I = 1, NMAX 00123 A( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) ) 00124 AF( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) ) 00125 10 CONTINUE 00126 B( J ) = 0. 00127 R1( J ) = 0. 00128 R2( J ) = 0. 00129 W( J ) = 0. 00130 X( J ) = 0. 00131 CS( J ) = 0. 00132 RS( J ) = 0. 00133 IP( J ) = J 00134 20 CONTINUE 00135 OK = .TRUE. 00136 * 00137 * Test error exits of the routines that use the LU decomposition 00138 * of a general matrix. 00139 * 00140 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 00141 * 00142 * CGETRF 00143 * 00144 SRNAMT = 'CGETRF' 00145 INFOT = 1 00146 CALL CGETRF( -1, 0, A, 1, IP, INFO ) 00147 CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK ) 00148 INFOT = 2 00149 CALL CGETRF( 0, -1, A, 1, IP, INFO ) 00150 CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK ) 00151 INFOT = 4 00152 CALL CGETRF( 2, 1, A, 1, IP, INFO ) 00153 CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK ) 00154 * 00155 * CGETF2 00156 * 00157 SRNAMT = 'CGETF2' 00158 INFOT = 1 00159 CALL CGETF2( -1, 0, A, 1, IP, INFO ) 00160 CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK ) 00161 INFOT = 2 00162 CALL CGETF2( 0, -1, A, 1, IP, INFO ) 00163 CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK ) 00164 INFOT = 4 00165 CALL CGETF2( 2, 1, A, 1, IP, INFO ) 00166 CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK ) 00167 * 00168 * CGETRI 00169 * 00170 SRNAMT = 'CGETRI' 00171 INFOT = 1 00172 CALL CGETRI( -1, A, 1, IP, W, 1, INFO ) 00173 CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK ) 00174 INFOT = 3 00175 CALL CGETRI( 2, A, 1, IP, W, 2, INFO ) 00176 CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK ) 00177 INFOT = 6 00178 CALL CGETRI( 2, A, 2, IP, W, 1, INFO ) 00179 CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK ) 00180 * 00181 * CGETRS 00182 * 00183 SRNAMT = 'CGETRS' 00184 INFOT = 1 00185 CALL CGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO ) 00186 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 00187 INFOT = 2 00188 CALL CGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO ) 00189 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 00190 INFOT = 3 00191 CALL CGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO ) 00192 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 00193 INFOT = 5 00194 CALL CGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO ) 00195 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 00196 INFOT = 8 00197 CALL CGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO ) 00198 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 00199 * 00200 * CGERFS 00201 * 00202 SRNAMT = 'CGERFS' 00203 INFOT = 1 00204 CALL CGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W, 00205 $ R, INFO ) 00206 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00207 INFOT = 2 00208 CALL CGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, 00209 $ W, R, INFO ) 00210 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00211 INFOT = 3 00212 CALL CGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, 00213 $ W, R, INFO ) 00214 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00215 INFOT = 5 00216 CALL CGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W, 00217 $ R, INFO ) 00218 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00219 INFOT = 7 00220 CALL CGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W, 00221 $ R, INFO ) 00222 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00223 INFOT = 10 00224 CALL CGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W, 00225 $ R, INFO ) 00226 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00227 INFOT = 12 00228 CALL CGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W, 00229 $ R, INFO ) 00230 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 00231 * 00232 * CGERFSX 00233 * 00234 N_ERR_BNDS = 3 00235 NPARAMS = 0 00236 SRNAMT = 'CGERFSX' 00237 INFOT = 1 00238 CALL CGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X, 00239 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00240 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00241 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00242 INFOT = 2 00243 EQ = '/' 00244 CALL CGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X, 00245 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00246 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00247 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00248 INFOT = 3 00249 EQ = 'R' 00250 CALL CGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X, 00251 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00252 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00253 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00254 INFOT = 4 00255 CALL CGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 1, X, 00256 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00257 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00258 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00259 INFOT = 6 00260 CALL CGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X, 00261 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00262 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00263 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00264 INFOT = 8 00265 CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, RS, CS, B, 2, X, 00266 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00267 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00268 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00269 INFOT = 13 00270 EQ = 'C' 00271 CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 1, X, 00272 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00273 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00274 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00275 INFOT = 15 00276 CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 2, X, 00277 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00278 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00279 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 00280 * 00281 * CGECON 00282 * 00283 SRNAMT = 'CGECON' 00284 INFOT = 1 00285 CALL CGECON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO ) 00286 CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK ) 00287 INFOT = 2 00288 CALL CGECON( '1', -1, A, 1, ANRM, RCOND, W, R, INFO ) 00289 CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK ) 00290 INFOT = 4 00291 CALL CGECON( '1', 2, A, 1, ANRM, RCOND, W, R, INFO ) 00292 CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK ) 00293 * 00294 * CGEEQU 00295 * 00296 SRNAMT = 'CGEEQU' 00297 INFOT = 1 00298 CALL CGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 00299 CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK ) 00300 INFOT = 2 00301 CALL CGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 00302 CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK ) 00303 INFOT = 4 00304 CALL CGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 00305 CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK ) 00306 * 00307 * CGEEQUB 00308 * 00309 SRNAMT = 'CGEEQUB' 00310 INFOT = 1 00311 CALL CGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 00312 CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK ) 00313 INFOT = 2 00314 CALL CGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 00315 CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK ) 00316 INFOT = 4 00317 CALL CGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 00318 CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK ) 00319 * 00320 * Test error exits of the routines that use the LU decomposition 00321 * of a general band matrix. 00322 * 00323 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 00324 * 00325 * CGBTRF 00326 * 00327 SRNAMT = 'CGBTRF' 00328 INFOT = 1 00329 CALL CGBTRF( -1, 0, 0, 0, A, 1, IP, INFO ) 00330 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 00331 INFOT = 2 00332 CALL CGBTRF( 0, -1, 0, 0, A, 1, IP, INFO ) 00333 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 00334 INFOT = 3 00335 CALL CGBTRF( 1, 1, -1, 0, A, 1, IP, INFO ) 00336 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 00337 INFOT = 4 00338 CALL CGBTRF( 1, 1, 0, -1, A, 1, IP, INFO ) 00339 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 00340 INFOT = 6 00341 CALL CGBTRF( 2, 2, 1, 1, A, 3, IP, INFO ) 00342 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 00343 * 00344 * CGBTF2 00345 * 00346 SRNAMT = 'CGBTF2' 00347 INFOT = 1 00348 CALL CGBTF2( -1, 0, 0, 0, A, 1, IP, INFO ) 00349 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 00350 INFOT = 2 00351 CALL CGBTF2( 0, -1, 0, 0, A, 1, IP, INFO ) 00352 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 00353 INFOT = 3 00354 CALL CGBTF2( 1, 1, -1, 0, A, 1, IP, INFO ) 00355 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 00356 INFOT = 4 00357 CALL CGBTF2( 1, 1, 0, -1, A, 1, IP, INFO ) 00358 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 00359 INFOT = 6 00360 CALL CGBTF2( 2, 2, 1, 1, A, 3, IP, INFO ) 00361 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 00362 * 00363 * CGBTRS 00364 * 00365 SRNAMT = 'CGBTRS' 00366 INFOT = 1 00367 CALL CGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO ) 00368 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00369 INFOT = 2 00370 CALL CGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO ) 00371 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00372 INFOT = 3 00373 CALL CGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO ) 00374 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00375 INFOT = 4 00376 CALL CGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO ) 00377 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00378 INFOT = 5 00379 CALL CGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO ) 00380 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00381 INFOT = 7 00382 CALL CGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO ) 00383 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00384 INFOT = 10 00385 CALL CGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO ) 00386 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 00387 * 00388 * CGBRFS 00389 * 00390 SRNAMT = 'CGBRFS' 00391 INFOT = 1 00392 CALL CGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 00393 $ R2, W, R, INFO ) 00394 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00395 INFOT = 2 00396 CALL CGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 00397 $ R2, W, R, INFO ) 00398 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00399 INFOT = 3 00400 CALL CGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 00401 $ R2, W, R, INFO ) 00402 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00403 INFOT = 4 00404 CALL CGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 00405 $ R2, W, R, INFO ) 00406 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00407 INFOT = 5 00408 CALL CGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, 00409 $ R2, W, R, INFO ) 00410 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00411 INFOT = 7 00412 CALL CGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1, 00413 $ R2, W, R, INFO ) 00414 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00415 INFOT = 9 00416 CALL CGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1, 00417 $ R2, W, R, INFO ) 00418 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00419 INFOT = 12 00420 CALL CGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1, 00421 $ R2, W, R, INFO ) 00422 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00423 INFOT = 14 00424 CALL CGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1, 00425 $ R2, W, R, INFO ) 00426 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 00427 * 00428 * CGBRFSX 00429 * 00430 N_ERR_BNDS = 3 00431 NPARAMS = 0 00432 SRNAMT = 'CGBRFSX' 00433 INFOT = 1 00434 CALL CGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 00435 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00436 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00437 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00438 INFOT = 2 00439 EQ = '/' 00440 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B, 00441 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00442 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00443 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00444 INFOT = 3 00445 EQ = 'R' 00446 CALL CGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, RS, CS, B, 00447 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00448 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00449 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00450 INFOT = 4 00451 EQ = 'R' 00452 CALL CGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, RS, CS, B, 00453 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00454 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00455 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00456 INFOT = 5 00457 EQ = 'R' 00458 CALL CGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, RS, CS, B, 00459 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00460 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00461 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00462 INFOT = 6 00463 CALL CGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 00464 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00465 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00466 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00467 INFOT = 8 00468 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B, 00469 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00470 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00471 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00472 INFOT = 10 00473 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, RS, CS, B, 00474 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00475 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00476 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00477 INFOT = 13 00478 EQ = 'C' 00479 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B, 00480 $ 1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00481 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00482 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00483 INFOT = 15 00484 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B, 00485 $ 2, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 00486 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 00487 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 00488 * 00489 * CGBCON 00490 * 00491 SRNAMT = 'CGBCON' 00492 INFOT = 1 00493 CALL CGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 00494 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 00495 INFOT = 2 00496 CALL CGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 00497 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 00498 INFOT = 3 00499 CALL CGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 00500 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 00501 INFOT = 4 00502 CALL CGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, R, INFO ) 00503 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 00504 INFOT = 6 00505 CALL CGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, R, INFO ) 00506 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 00507 * 00508 * CGBEQU 00509 * 00510 SRNAMT = 'CGBEQU' 00511 INFOT = 1 00512 CALL CGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 00513 $ INFO ) 00514 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 00515 INFOT = 2 00516 CALL CGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 00517 $ INFO ) 00518 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 00519 INFOT = 3 00520 CALL CGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 00521 $ INFO ) 00522 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 00523 INFOT = 4 00524 CALL CGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, 00525 $ INFO ) 00526 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 00527 INFOT = 6 00528 CALL CGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM, 00529 $ INFO ) 00530 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 00531 * 00532 * CGBEQUB 00533 * 00534 SRNAMT = 'CGBEQUB' 00535 INFOT = 1 00536 CALL CGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 00537 $ INFO ) 00538 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 00539 INFOT = 2 00540 CALL CGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 00541 $ INFO ) 00542 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 00543 INFOT = 3 00544 CALL CGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 00545 $ INFO ) 00546 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 00547 INFOT = 4 00548 CALL CGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, 00549 $ INFO ) 00550 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 00551 INFOT = 6 00552 CALL CGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM, 00553 $ INFO ) 00554 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 00555 END IF 00556 * 00557 * Print a summary line. 00558 * 00559 CALL ALAESM( PATH, OK, NOUT ) 00560 * 00561 RETURN 00562 * 00563 * End of CERRGE 00564 * 00565 END