00001 SUBROUTINE CERRVX( PATH, NUNIT )
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 CHARACTER*3 PATH
00012 INTEGER NUNIT
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 INTEGER NMAX
00034 PARAMETER ( NMAX = 4 )
00035
00036
00037 CHARACTER EQ
00038 CHARACTER*2 C2
00039 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
00040 REAL RCOND, RPVGRW, BERR
00041
00042
00043 INTEGER IP( NMAX )
00044 REAL C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
00045 $ RF( NMAX ), RW( NMAX ), ERR_BNDS_N( NMAX, 3 ),
00046 $ ERR_BNDS_C( NMAX, 3 ), PARAMS
00047 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00048 $ W( 2*NMAX ), X( NMAX )
00049
00050
00051 LOGICAL LSAMEN
00052 EXTERNAL LSAMEN
00053
00054
00055 EXTERNAL CGBSV, CGBSVX, CGESV, CGESVX, CGTSV, CGTSVX,
00056 $ CHESV, CHESVX, CHKXER, CHPSV, CHPSVX, CPBSV,
00057 $ CPBSVX, CPOSV, CPOSVX, CPPSV, CPPSVX, CPTSV,
00058 $ CPTSVX, CSPSV, CSPSVX, CSYSV, CSYSVX, CGESVXX,
00059 $ CPOSVXX, CSYSVXX, CHESVXX, CGBSVXX
00060
00061
00062 LOGICAL LERR, OK
00063 CHARACTER*32 SRNAMT
00064 INTEGER INFOT, NOUT
00065
00066
00067 COMMON / INFOC / INFOT, NOUT, OK, LERR
00068 COMMON / SRNAMC / SRNAMT
00069
00070
00071 INTRINSIC CMPLX, REAL
00072
00073
00074
00075 NOUT = NUNIT
00076 WRITE( NOUT, FMT = * )
00077 C2 = PATH( 2: 3 )
00078
00079
00080
00081 DO 20 J = 1, NMAX
00082 DO 10 I = 1, NMAX
00083 A( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) )
00084 AF( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) )
00085 10 CONTINUE
00086 B( J ) = 0.
00087 R1( J ) = 0.
00088 R2( J ) = 0.
00089 W( J ) = 0.
00090 X( J ) = 0.
00091 C( J ) = 0.
00092 R( J ) = 0.
00093 IP( J ) = J
00094 20 CONTINUE
00095 EQ = ' '
00096 OK = .TRUE.
00097
00098 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00099
00100
00101
00102 SRNAMT = 'CGESV '
00103 INFOT = 1
00104 CALL CGESV( -1, 0, A, 1, IP, B, 1, INFO )
00105 CALL CHKXER( 'CGESV ', INFOT, NOUT, LERR, OK )
00106 INFOT = 2
00107 CALL CGESV( 0, -1, A, 1, IP, B, 1, INFO )
00108 CALL CHKXER( 'CGESV ', INFOT, NOUT, LERR, OK )
00109 INFOT = 4
00110 CALL CGESV( 2, 1, A, 1, IP, B, 2, INFO )
00111 CALL CHKXER( 'CGESV ', INFOT, NOUT, LERR, OK )
00112 INFOT = 7
00113 CALL CGESV( 2, 1, A, 2, IP, B, 1, INFO )
00114 CALL CHKXER( 'CGESV ', INFOT, NOUT, LERR, OK )
00115
00116
00117
00118 SRNAMT = 'CGESVX'
00119 INFOT = 1
00120 CALL CGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00121 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00122 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00123 INFOT = 2
00124 CALL CGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00125 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00126 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00127 INFOT = 3
00128 CALL CGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00129 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00130 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00131 INFOT = 4
00132 CALL CGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00133 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00134 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00135 INFOT = 6
00136 CALL CGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
00137 $ X, 2, RCOND, R1, R2, W, RW, INFO )
00138 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00139 INFOT = 8
00140 CALL CGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
00141 $ X, 2, RCOND, R1, R2, W, RW, INFO )
00142 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00143 INFOT = 10
00144 EQ = '/'
00145 CALL CGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00146 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00147 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00148 INFOT = 11
00149 EQ = 'R'
00150 CALL CGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00151 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00152 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00153 INFOT = 12
00154 EQ = 'C'
00155 CALL CGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00156 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00157 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00158 INFOT = 14
00159 CALL CGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
00160 $ X, 2, RCOND, R1, R2, W, RW, INFO )
00161 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00162 INFOT = 16
00163 CALL CGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
00164 $ X, 1, RCOND, R1, R2, W, RW, INFO )
00165 CALL CHKXER( 'CGESVX', INFOT, NOUT, LERR, OK )
00166
00167
00168
00169 N_ERR_BNDS = 3
00170 NPARAMS = 0
00171 SRNAMT = 'CGESVXX'
00172 INFOT = 1
00173 CALL CGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00174 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00175 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00176 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00177 INFOT = 2
00178 CALL CGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00179 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00180 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00181 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00182 INFOT = 3
00183 CALL CGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00184 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00185 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00186 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00187 INFOT = 4
00188 CALL CGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00189 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00190 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00191 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00192 INFOT = 6
00193 CALL CGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
00194 $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00195 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00196 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00197 INFOT = 8
00198 CALL CGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
00199 $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00200 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00201 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00202 INFOT = 10
00203 EQ = '/'
00204 CALL CGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00205 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00206 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00207 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00208 INFOT = 11
00209 EQ = 'R'
00210 CALL CGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00211 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00212 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00213 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00214 INFOT = 12
00215 EQ = 'C'
00216 CALL CGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00217 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00218 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00219 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00220 INFOT = 14
00221 CALL CGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
00222 $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00223 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00224 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00225 INFOT = 16
00226 CALL CGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
00227 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00228 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00229 CALL CHKXER( 'CGESVXX', INFOT, NOUT, LERR, OK )
00230
00231 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00232
00233
00234
00235 SRNAMT = 'CGBSV '
00236 INFOT = 1
00237 CALL CGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
00238 CALL CHKXER( 'CGBSV ', INFOT, NOUT, LERR, OK )
00239 INFOT = 2
00240 CALL CGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
00241 CALL CHKXER( 'CGBSV ', INFOT, NOUT, LERR, OK )
00242 INFOT = 3
00243 CALL CGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
00244 CALL CHKXER( 'CGBSV ', INFOT, NOUT, LERR, OK )
00245 INFOT = 4
00246 CALL CGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
00247 CALL CHKXER( 'CGBSV ', INFOT, NOUT, LERR, OK )
00248 INFOT = 6
00249 CALL CGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
00250 CALL CHKXER( 'CGBSV ', INFOT, NOUT, LERR, OK )
00251 INFOT = 9
00252 CALL CGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
00253 CALL CHKXER( 'CGBSV ', INFOT, NOUT, LERR, OK )
00254
00255
00256
00257 SRNAMT = 'CGBSVX'
00258 INFOT = 1
00259 CALL CGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00260 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00261 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00262 INFOT = 2
00263 CALL CGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00264 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00265 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00266 INFOT = 3
00267 CALL CGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00268 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00269 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00270 INFOT = 4
00271 CALL CGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00272 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00273 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00274 INFOT = 5
00275 CALL CGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
00276 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00277 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00278 INFOT = 6
00279 CALL CGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
00280 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00281 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00282 INFOT = 8
00283 CALL CGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
00284 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00285 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00286 INFOT = 10
00287 CALL CGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
00288 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00289 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00290 INFOT = 12
00291 EQ = '/'
00292 CALL CGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00293 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00294 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00295 INFOT = 13
00296 EQ = 'R'
00297 CALL CGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00298 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00299 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00300 INFOT = 14
00301 EQ = 'C'
00302 CALL CGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00303 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00304 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00305 INFOT = 16
00306 CALL CGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00307 $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
00308 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00309 INFOT = 18
00310 CALL CGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00311 $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
00312 CALL CHKXER( 'CGBSVX', INFOT, NOUT, LERR, OK )
00313
00314
00315
00316 N_ERR_BNDS = 3
00317 NPARAMS = 0
00318 SRNAMT = 'CGBSVXX'
00319 INFOT = 1
00320 CALL CGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00321 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00322 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00323 $ INFO )
00324 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00325 INFOT = 2
00326 CALL CGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
00327 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00328 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00329 $ INFO )
00330 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00331 INFOT = 3
00332 CALL CGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
00333 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00334 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00335 $ INFO )
00336 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00337 INFOT = 4
00338 CALL CGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ,
00339 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00340 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00341 $ INFO )
00342 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00343 INFOT = 5
00344 CALL CGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ,
00345 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00346 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00347 $ INFO )
00348 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00349 INFOT = 6
00350 CALL CGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C,
00351 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00352 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00353 $ INFO )
00354 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00355 INFOT = 8
00356 CALL CGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C,
00357 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00358 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00359 $ INFO )
00360 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00361 INFOT = 10
00362 CALL CGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C,
00363 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00364 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00365 $ INFO )
00366 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00367 INFOT = 12
00368 EQ = '/'
00369 CALL CGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
00370 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00371 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00372 $ INFO )
00373 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00374 INFOT = 13
00375 EQ = 'R'
00376 CALL CGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
00377 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00378 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00379 $ INFO )
00380 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00381 INFOT = 14
00382 EQ = 'C'
00383 CALL CGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
00384 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00385 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00386 $ INFO )
00387 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00388 INFOT = 15
00389 CALL CGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
00390 $ B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00391 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00392 $ INFO )
00393 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00394 INFOT = 16
00395 CALL CGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
00396 $ B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00397 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00398 $ INFO )
00399 CALL CHKXER( 'CGBSVXX', INFOT, NOUT, LERR, OK )
00400
00401 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
00402
00403
00404
00405 SRNAMT = 'CGTSV '
00406 INFOT = 1
00407 CALL CGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00408 $ INFO )
00409 CALL CHKXER( 'CGTSV ', INFOT, NOUT, LERR, OK )
00410 INFOT = 2
00411 CALL CGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00412 $ INFO )
00413 CALL CHKXER( 'CGTSV ', INFOT, NOUT, LERR, OK )
00414 INFOT = 7
00415 CALL CGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
00416 CALL CHKXER( 'CGTSV ', INFOT, NOUT, LERR, OK )
00417
00418
00419
00420 SRNAMT = 'CGTSVX'
00421 INFOT = 1
00422 CALL CGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00423 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00424 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00425 CALL CHKXER( 'CGTSVX', INFOT, NOUT, LERR, OK )
00426 INFOT = 2
00427 CALL CGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00428 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00429 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00430 CALL CHKXER( 'CGTSVX', INFOT, NOUT, LERR, OK )
00431 INFOT = 3
00432 CALL CGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00433 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00434 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00435 CALL CHKXER( 'CGTSVX', INFOT, NOUT, LERR, OK )
00436 INFOT = 4
00437 CALL CGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00438 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00439 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00440 CALL CHKXER( 'CGTSVX', INFOT, NOUT, LERR, OK )
00441 INFOT = 14
00442 CALL CGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00443 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00444 $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
00445 CALL CHKXER( 'CGTSVX', INFOT, NOUT, LERR, OK )
00446 INFOT = 16
00447 CALL CGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00448 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00449 $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
00450 CALL CHKXER( 'CGTSVX', INFOT, NOUT, LERR, OK )
00451
00452 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00453
00454
00455
00456 SRNAMT = 'CPOSV '
00457 INFOT = 1
00458 CALL CPOSV( '/', 0, 0, A, 1, B, 1, INFO )
00459 CALL CHKXER( 'CPOSV ', INFOT, NOUT, LERR, OK )
00460 INFOT = 2
00461 CALL CPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
00462 CALL CHKXER( 'CPOSV ', INFOT, NOUT, LERR, OK )
00463 INFOT = 3
00464 CALL CPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
00465 CALL CHKXER( 'CPOSV ', INFOT, NOUT, LERR, OK )
00466 INFOT = 5
00467 CALL CPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
00468 CALL CHKXER( 'CPOSV ', INFOT, NOUT, LERR, OK )
00469 INFOT = 7
00470 CALL CPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
00471 CALL CHKXER( 'CPOSV ', INFOT, NOUT, LERR, OK )
00472
00473
00474
00475 SRNAMT = 'CPOSVX'
00476 INFOT = 1
00477 CALL CPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00478 $ RCOND, R1, R2, W, RW, INFO )
00479 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00480 INFOT = 2
00481 CALL CPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00482 $ RCOND, R1, R2, W, RW, INFO )
00483 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00484 INFOT = 3
00485 CALL CPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00486 $ RCOND, R1, R2, W, RW, INFO )
00487 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00488 INFOT = 4
00489 CALL CPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00490 $ RCOND, R1, R2, W, RW, INFO )
00491 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00492 INFOT = 6
00493 CALL CPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00494 $ RCOND, R1, R2, W, RW, INFO )
00495 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00496 INFOT = 8
00497 CALL CPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00498 $ RCOND, R1, R2, W, RW, INFO )
00499 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00500 INFOT = 9
00501 EQ = '/'
00502 CALL CPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00503 $ RCOND, R1, R2, W, RW, INFO )
00504 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00505 INFOT = 10
00506 EQ = 'Y'
00507 CALL CPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00508 $ RCOND, R1, R2, W, RW, INFO )
00509 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00510 INFOT = 12
00511 CALL CPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00512 $ RCOND, R1, R2, W, RW, INFO )
00513 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00514 INFOT = 14
00515 CALL CPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00516 $ RCOND, R1, R2, W, RW, INFO )
00517 CALL CHKXER( 'CPOSVX', INFOT, NOUT, LERR, OK )
00518
00519
00520
00521 N_ERR_BNDS = 3
00522 NPARAMS = 0
00523 SRNAMT = 'CPOSVXX'
00524 INFOT = 1
00525 CALL CPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00526 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00527 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00528 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00529 INFOT = 2
00530 CALL CPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00531 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00532 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00533 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00534 INFOT = 3
00535 CALL CPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00536 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00537 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00538 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00539 INFOT = 4
00540 CALL CPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00541 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00542 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00543 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00544 INFOT = 6
00545 CALL CPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00546 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00547 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00548 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00549 INFOT = 8
00550 CALL CPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00551 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00552 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00553 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00554 INFOT = 9
00555 EQ = '/'
00556 CALL CPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00557 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00558 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00559 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00560 INFOT = 10
00561 EQ = 'Y'
00562 CALL CPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00563 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00564 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00565 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00566 INFOT = 12
00567 CALL CPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00568 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00569 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00570 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00571 INFOT = 14
00572 CALL CPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00573 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00574 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00575 CALL CHKXER( 'CPOSVXX', INFOT, NOUT, LERR, OK )
00576
00577 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00578
00579
00580
00581 SRNAMT = 'CPPSV '
00582 INFOT = 1
00583 CALL CPPSV( '/', 0, 0, A, B, 1, INFO )
00584 CALL CHKXER( 'CPPSV ', INFOT, NOUT, LERR, OK )
00585 INFOT = 2
00586 CALL CPPSV( 'U', -1, 0, A, B, 1, INFO )
00587 CALL CHKXER( 'CPPSV ', INFOT, NOUT, LERR, OK )
00588 INFOT = 3
00589 CALL CPPSV( 'U', 0, -1, A, B, 1, INFO )
00590 CALL CHKXER( 'CPPSV ', INFOT, NOUT, LERR, OK )
00591 INFOT = 6
00592 CALL CPPSV( 'U', 2, 0, A, B, 1, INFO )
00593 CALL CHKXER( 'CPPSV ', INFOT, NOUT, LERR, OK )
00594
00595
00596
00597 SRNAMT = 'CPPSVX'
00598 INFOT = 1
00599 CALL CPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00600 $ R1, R2, W, RW, INFO )
00601 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00602 INFOT = 2
00603 CALL CPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00604 $ R1, R2, W, RW, INFO )
00605 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00606 INFOT = 3
00607 CALL CPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00608 $ R1, R2, W, RW, INFO )
00609 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00610 INFOT = 4
00611 CALL CPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
00612 $ R1, R2, W, RW, INFO )
00613 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00614 INFOT = 7
00615 EQ = '/'
00616 CALL CPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00617 $ R1, R2, W, RW, INFO )
00618 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00619 INFOT = 8
00620 EQ = 'Y'
00621 CALL CPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00622 $ R1, R2, W, RW, INFO )
00623 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00624 INFOT = 10
00625 CALL CPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
00626 $ R1, R2, W, RW, INFO )
00627 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00628 INFOT = 12
00629 CALL CPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
00630 $ R1, R2, W, RW, INFO )
00631 CALL CHKXER( 'CPPSVX', INFOT, NOUT, LERR, OK )
00632
00633 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00634
00635
00636
00637 SRNAMT = 'CPBSV '
00638 INFOT = 1
00639 CALL CPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
00640 CALL CHKXER( 'CPBSV ', INFOT, NOUT, LERR, OK )
00641 INFOT = 2
00642 CALL CPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00643 CALL CHKXER( 'CPBSV ', INFOT, NOUT, LERR, OK )
00644 INFOT = 3
00645 CALL CPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00646 CALL CHKXER( 'CPBSV ', INFOT, NOUT, LERR, OK )
00647 INFOT = 4
00648 CALL CPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00649 CALL CHKXER( 'CPBSV ', INFOT, NOUT, LERR, OK )
00650 INFOT = 6
00651 CALL CPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
00652 CALL CHKXER( 'CPBSV ', INFOT, NOUT, LERR, OK )
00653 INFOT = 8
00654 CALL CPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
00655 CALL CHKXER( 'CPBSV ', INFOT, NOUT, LERR, OK )
00656
00657
00658
00659 SRNAMT = 'CPBSVX'
00660 INFOT = 1
00661 CALL CPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00662 $ RCOND, R1, R2, W, RW, INFO )
00663 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00664 INFOT = 2
00665 CALL CPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00666 $ RCOND, R1, R2, W, RW, INFO )
00667 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00668 INFOT = 3
00669 CALL CPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00670 $ 1, RCOND, R1, R2, W, RW, INFO )
00671 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00672 INFOT = 4
00673 CALL CPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00674 $ 1, RCOND, R1, R2, W, RW, INFO )
00675 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00676 INFOT = 5
00677 CALL CPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
00678 $ 1, RCOND, R1, R2, W, RW, INFO )
00679 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00680 INFOT = 7
00681 CALL CPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00682 $ RCOND, R1, R2, W, RW, INFO )
00683 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00684 INFOT = 9
00685 CALL CPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00686 $ RCOND, R1, R2, W, RW, INFO )
00687 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00688 INFOT = 10
00689 EQ = '/'
00690 CALL CPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00691 $ RCOND, R1, R2, W, RW, INFO )
00692 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00693 INFOT = 11
00694 EQ = 'Y'
00695 CALL CPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00696 $ RCOND, R1, R2, W, RW, INFO )
00697 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00698 INFOT = 13
00699 CALL CPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
00700 $ RCOND, R1, R2, W, RW, INFO )
00701 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00702 INFOT = 15
00703 CALL CPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
00704 $ RCOND, R1, R2, W, RW, INFO )
00705 CALL CHKXER( 'CPBSVX', INFOT, NOUT, LERR, OK )
00706
00707 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
00708
00709
00710
00711 SRNAMT = 'CPTSV '
00712 INFOT = 1
00713 CALL CPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
00714 CALL CHKXER( 'CPTSV ', INFOT, NOUT, LERR, OK )
00715 INFOT = 2
00716 CALL CPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
00717 CALL CHKXER( 'CPTSV ', INFOT, NOUT, LERR, OK )
00718 INFOT = 6
00719 CALL CPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
00720 CALL CHKXER( 'CPTSV ', INFOT, NOUT, LERR, OK )
00721
00722
00723
00724 SRNAMT = 'CPTSVX'
00725 INFOT = 1
00726 CALL CPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00727 $ 1, RCOND, R1, R2, W, RW, INFO )
00728 CALL CHKXER( 'CPTSVX', INFOT, NOUT, LERR, OK )
00729 INFOT = 2
00730 CALL CPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00731 $ 1, RCOND, R1, R2, W, RW, INFO )
00732 CALL CHKXER( 'CPTSVX', INFOT, NOUT, LERR, OK )
00733 INFOT = 3
00734 CALL CPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00735 $ 1, RCOND, R1, R2, W, RW, INFO )
00736 CALL CHKXER( 'CPTSVX', INFOT, NOUT, LERR, OK )
00737 INFOT = 9
00738 CALL CPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00739 $ 2, RCOND, R1, R2, W, RW, INFO )
00740 CALL CHKXER( 'CPTSVX', INFOT, NOUT, LERR, OK )
00741 INFOT = 11
00742 CALL CPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
00743 $ 1, RCOND, R1, R2, W, RW, INFO )
00744 CALL CHKXER( 'CPTSVX', INFOT, NOUT, LERR, OK )
00745
00746 ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN
00747
00748
00749
00750 SRNAMT = 'CHESV '
00751 INFOT = 1
00752 CALL CHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00753 CALL CHKXER( 'CHESV ', INFOT, NOUT, LERR, OK )
00754 INFOT = 2
00755 CALL CHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00756 CALL CHKXER( 'CHESV ', INFOT, NOUT, LERR, OK )
00757 INFOT = 3
00758 CALL CHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00759 CALL CHKXER( 'CHESV ', INFOT, NOUT, LERR, OK )
00760 INFOT = 5
00761 CALL CHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
00762 CALL CHKXER( 'CHESV ', INFOT, NOUT, LERR, OK )
00763 INFOT = 8
00764 CALL CHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00765 CALL CHKXER( 'CHESV ', INFOT, NOUT, LERR, OK )
00766
00767
00768
00769 SRNAMT = 'CHESVX'
00770 INFOT = 1
00771 CALL CHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00772 $ RCOND, R1, R2, W, 1, RW, INFO )
00773 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00774 INFOT = 2
00775 CALL CHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00776 $ RCOND, R1, R2, W, 1, RW, INFO )
00777 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00778 INFOT = 3
00779 CALL CHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00780 $ RCOND, R1, R2, W, 1, RW, INFO )
00781 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00782 INFOT = 4
00783 CALL CHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00784 $ RCOND, R1, R2, W, 1, RW, INFO )
00785 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00786 INFOT = 6
00787 CALL CHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00788 $ RCOND, R1, R2, W, 4, RW, INFO )
00789 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00790 INFOT = 8
00791 CALL CHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00792 $ RCOND, R1, R2, W, 4, RW, INFO )
00793 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00794 INFOT = 11
00795 CALL CHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00796 $ RCOND, R1, R2, W, 4, RW, INFO )
00797 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00798 INFOT = 13
00799 CALL CHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00800 $ RCOND, R1, R2, W, 4, RW, INFO )
00801 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00802 INFOT = 18
00803 CALL CHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00804 $ RCOND, R1, R2, W, 3, RW, INFO )
00805 CALL CHKXER( 'CHESVX', INFOT, NOUT, LERR, OK )
00806
00807
00808
00809 N_ERR_BNDS = 3
00810 NPARAMS = 0
00811 SRNAMT = 'CHESVXX'
00812 INFOT = 1
00813 CALL CHESVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00814 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00815 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00816 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00817 INFOT = 2
00818 CALL CHESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00819 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00820 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00821 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00822 INFOT = 3
00823 CALL CHESVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00824 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00825 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00826 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00827 INFOT = 4
00828 CALL CHESVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00829 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00830 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00831 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00832 INFOT = 6
00833 CALL CHESVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, C, B, 2, X,
00834 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00835 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00836 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00837 INFOT = 8
00838 CALL CHESVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, C, B, 2, X,
00839 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00840 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00841 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00842 INFOT = 9
00843 EQ = '/'
00844 CALL CHESVXX( 'F', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00845 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00846 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00847 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00848 INFOT = 10
00849 EQ = 'Y'
00850 CALL CHESVXX( 'F', 'U', 1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00851 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00852 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00853 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00854 INFOT = 12
00855 CALL CHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 1, X,
00856 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00857 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00858 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00859 INFOT = 14
00860 CALL CHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 2, X,
00861 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00862 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00863 CALL CHKXER( 'CHESVXX', INFOT, NOUT, LERR, OK )
00864
00865 ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN
00866
00867
00868
00869 SRNAMT = 'CHPSV '
00870 INFOT = 1
00871 CALL CHPSV( '/', 0, 0, A, IP, B, 1, INFO )
00872 CALL CHKXER( 'CHPSV ', INFOT, NOUT, LERR, OK )
00873 INFOT = 2
00874 CALL CHPSV( 'U', -1, 0, A, IP, B, 1, INFO )
00875 CALL CHKXER( 'CHPSV ', INFOT, NOUT, LERR, OK )
00876 INFOT = 3
00877 CALL CHPSV( 'U', 0, -1, A, IP, B, 1, INFO )
00878 CALL CHKXER( 'CHPSV ', INFOT, NOUT, LERR, OK )
00879 INFOT = 7
00880 CALL CHPSV( 'U', 2, 0, A, IP, B, 1, INFO )
00881 CALL CHKXER( 'CHPSV ', INFOT, NOUT, LERR, OK )
00882
00883
00884
00885 SRNAMT = 'CHPSVX'
00886 INFOT = 1
00887 CALL CHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00888 $ R2, W, RW, INFO )
00889 CALL CHKXER( 'CHPSVX', INFOT, NOUT, LERR, OK )
00890 INFOT = 2
00891 CALL CHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00892 $ R2, W, RW, INFO )
00893 CALL CHKXER( 'CHPSVX', INFOT, NOUT, LERR, OK )
00894 INFOT = 3
00895 CALL CHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00896 $ R2, W, RW, INFO )
00897 CALL CHKXER( 'CHPSVX', INFOT, NOUT, LERR, OK )
00898 INFOT = 4
00899 CALL CHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
00900 $ R2, W, RW, INFO )
00901 CALL CHKXER( 'CHPSVX', INFOT, NOUT, LERR, OK )
00902 INFOT = 9
00903 CALL CHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
00904 $ R2, W, RW, INFO )
00905 CALL CHKXER( 'CHPSVX', INFOT, NOUT, LERR, OK )
00906 INFOT = 11
00907 CALL CHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
00908 $ R2, W, RW, INFO )
00909 CALL CHKXER( 'CHPSVX', INFOT, NOUT, LERR, OK )
00910
00911 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
00912
00913
00914
00915 SRNAMT = 'CSYSV '
00916 INFOT = 1
00917 CALL CSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00918 CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
00919 INFOT = 2
00920 CALL CSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00921 CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
00922 INFOT = 3
00923 CALL CSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00924 CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
00925 INFOT = 8
00926 CALL CSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00927 CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
00928
00929
00930
00931 SRNAMT = 'CSYSVX'
00932 INFOT = 1
00933 CALL CSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00934 $ RCOND, R1, R2, W, 1, RW, INFO )
00935 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00936 INFOT = 2
00937 CALL CSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00938 $ RCOND, R1, R2, W, 1, RW, INFO )
00939 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00940 INFOT = 3
00941 CALL CSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00942 $ RCOND, R1, R2, W, 1, RW, INFO )
00943 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00944 INFOT = 4
00945 CALL CSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00946 $ RCOND, R1, R2, W, 1, RW, INFO )
00947 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00948 INFOT = 6
00949 CALL CSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00950 $ RCOND, R1, R2, W, 4, RW, INFO )
00951 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00952 INFOT = 8
00953 CALL CSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00954 $ RCOND, R1, R2, W, 4, RW, INFO )
00955 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00956 INFOT = 11
00957 CALL CSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00958 $ RCOND, R1, R2, W, 4, RW, INFO )
00959 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00960 INFOT = 13
00961 CALL CSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00962 $ RCOND, R1, R2, W, 4, RW, INFO )
00963 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00964 INFOT = 18
00965 CALL CSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00966 $ RCOND, R1, R2, W, 3, RW, INFO )
00967 CALL CHKXER( 'CSYSVX', INFOT, NOUT, LERR, OK )
00968
00969
00970
00971 N_ERR_BNDS = 3
00972 NPARAMS = 0
00973 SRNAMT = 'CSYSVXX'
00974 INFOT = 1
00975 EQ = 'N'
00976 CALL CSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
00977 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00978 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00979 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
00980 INFOT = 2
00981 CALL CSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
00982 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00983 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00984 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
00985 INFOT = 3
00986 CALL CSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
00987 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00988 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00989 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
00990 INFOT = 4
00991 EQ = '/'
00992 CALL CSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X,
00993 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00994 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00995 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
00996 EQ = 'Y'
00997 INFOT = 6
00998 CALL CSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X,
00999 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01000 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01001 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
01002 INFOT = 8
01003 CALL CSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X,
01004 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01005 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01006 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
01007 INFOT = 12
01008 EQ = 'N'
01009 CALL CSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X,
01010 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01011 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01012 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
01013 INFOT = 14
01014 CALL CSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
01015 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01016 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01017 CALL CHKXER( 'CSYSVXX', INFOT, NOUT, LERR, OK )
01018
01019 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
01020
01021
01022
01023 SRNAMT = 'CSPSV '
01024 INFOT = 1
01025 CALL CSPSV( '/', 0, 0, A, IP, B, 1, INFO )
01026 CALL CHKXER( 'CSPSV ', INFOT, NOUT, LERR, OK )
01027 INFOT = 2
01028 CALL CSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
01029 CALL CHKXER( 'CSPSV ', INFOT, NOUT, LERR, OK )
01030 INFOT = 3
01031 CALL CSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
01032 CALL CHKXER( 'CSPSV ', INFOT, NOUT, LERR, OK )
01033 INFOT = 7
01034 CALL CSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
01035 CALL CHKXER( 'CSPSV ', INFOT, NOUT, LERR, OK )
01036
01037
01038
01039 SRNAMT = 'CSPSVX'
01040 INFOT = 1
01041 CALL CSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
01042 $ R2, W, RW, INFO )
01043 CALL CHKXER( 'CSPSVX', INFOT, NOUT, LERR, OK )
01044 INFOT = 2
01045 CALL CSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
01046 $ R2, W, RW, INFO )
01047 CALL CHKXER( 'CSPSVX', INFOT, NOUT, LERR, OK )
01048 INFOT = 3
01049 CALL CSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
01050 $ R2, W, RW, INFO )
01051 CALL CHKXER( 'CSPSVX', INFOT, NOUT, LERR, OK )
01052 INFOT = 4
01053 CALL CSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
01054 $ R2, W, RW, INFO )
01055 CALL CHKXER( 'CSPSVX', INFOT, NOUT, LERR, OK )
01056 INFOT = 9
01057 CALL CSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
01058 $ R2, W, RW, INFO )
01059 CALL CHKXER( 'CSPSVX', INFOT, NOUT, LERR, OK )
01060 INFOT = 11
01061 CALL CSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
01062 $ R2, W, RW, INFO )
01063 CALL CHKXER( 'CSPSVX', INFOT, NOUT, LERR, OK )
01064 END IF
01065
01066
01067
01068 IF( OK ) THEN
01069 WRITE( NOUT, FMT = 9999 )PATH
01070 ELSE
01071 WRITE( NOUT, FMT = 9998 )PATH
01072 END IF
01073
01074 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
01075 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
01076 $ 'exits ***' )
01077
01078 RETURN
01079
01080
01081
01082 END