1*> \brief \b ZERRVXX 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE ZERRVX( PATH, NUNIT ) 12* 13* .. Scalar Arguments .. 14* CHARACTER*3 PATH 15* INTEGER NUNIT 16* .. 17* 18* 19*> \par Purpose: 20* ============= 21*> 22*> \verbatim 23*> 24*> ZERRVX tests the error exits for the COMPLEX*16 driver routines 25*> for solving linear systems of equations. 26*> \endverbatim 27* 28* Arguments: 29* ========== 30* 31*> \param[in] PATH 32*> \verbatim 33*> PATH is CHARACTER*3 34*> The LAPACK path name for the routines to be tested. 35*> \endverbatim 36*> 37*> \param[in] NUNIT 38*> \verbatim 39*> NUNIT is INTEGER 40*> The unit number for output. 41*> \endverbatim 42* 43* Authors: 44* ======== 45* 46*> \author Univ. of Tennessee 47*> \author Univ. of California Berkeley 48*> \author Univ. of Colorado Denver 49*> \author NAG Ltd. 50* 51*> \ingroup complex16_lin 52* 53* ===================================================================== 54 SUBROUTINE ZERRVX( PATH, NUNIT ) 55* 56* -- LAPACK test routine -- 57* -- LAPACK is a software package provided by Univ. of Tennessee, -- 58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 59* 60* .. Scalar Arguments .. 61 CHARACTER*3 PATH 62 INTEGER NUNIT 63* .. 64* 65* ===================================================================== 66* 67* .. Parameters .. 68 INTEGER NMAX 69 PARAMETER ( NMAX = 4 ) 70 REAL ONE 71 PARAMETER ( ONE = 1.0D+0 ) 72* .. 73* .. Local Scalars .. 74 CHARACTER EQ 75 CHARACTER*2 C2 76 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 77 DOUBLE PRECISION RCOND, RPVGRW, BERR 78* .. 79* .. Local Arrays .. 80 INTEGER IP( NMAX ) 81 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 82 $ RF( NMAX ), RW( NMAX ), ERR_BNDS_N( NMAX, 3 ), 83 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 ) 84 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 85 $ E( NMAX ), W( 2*NMAX ), X( NMAX ) 86* .. 87* .. External Functions .. 88 LOGICAL LSAMEN 89 EXTERNAL LSAMEN 90* .. 91* .. External Subroutines .. 92 EXTERNAL CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV, 93 $ ZGTSVX, ZHESV, ZHESV_RK, ZHESV_ROOK, ZHESVX, 94 $ ZHPSV, ZHPSVX, ZPBSV, ZPBSVX, ZPOSV, ZPOSVX, 95 $ ZPPSV, ZPPSVX, ZPTSV, ZPTSVX, ZSPSV, ZSPSVX, 96 $ ZSYSV, ZSYSV_RK, ZSYSV_ROOK, ZSYSVX, ZGESVXX, 97 $ ZSYSVXX, ZPOSVXX, ZHESVXX, ZGBSVXX 98* .. 99* .. Scalars in Common .. 100 LOGICAL LERR, OK 101 CHARACTER*32 SRNAMT 102 INTEGER INFOT, NOUT 103* .. 104* .. Common blocks .. 105 COMMON / INFOC / INFOT, NOUT, OK, LERR 106 COMMON / SRNAMC / SRNAMT 107* .. 108* .. Intrinsic Functions .. 109 INTRINSIC DBLE, DCMPLX 110* .. 111* .. Executable Statements .. 112* 113 NOUT = NUNIT 114 WRITE( NOUT, FMT = * ) 115 C2 = PATH( 2: 3 ) 116* 117* Set the variables to innocuous values. 118* 119 DO 20 J = 1, NMAX 120 DO 10 I = 1, NMAX 121 A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 122 $ -1.D0 / DBLE( I+J ) ) 123 AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 124 $ -1.D0 / DBLE( I+J ) ) 125 10 CONTINUE 126 B( J ) = 0.D0 127 E( J ) = 0.D0 128 R1( J ) = 0.D0 129 R2( J ) = 0.D0 130 W( J ) = 0.D0 131 X( J ) = 0.D0 132 C( J ) = 0.D0 133 R( J ) = 0.D0 134 IP( J ) = J 135 20 CONTINUE 136 EQ = ' ' 137 OK = .TRUE. 138* 139 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 140* 141* ZGESV 142* 143 SRNAMT = 'ZGESV ' 144 INFOT = 1 145 CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO ) 146 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 147 INFOT = 2 148 CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO ) 149 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 150 INFOT = 4 151 CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO ) 152 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 153 INFOT = 7 154 CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO ) 155 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 156* 157* ZGESVX 158* 159 SRNAMT = 'ZGESVX' 160 INFOT = 1 161 CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 162 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 163 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 164 INFOT = 2 165 CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 166 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 167 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 168 INFOT = 3 169 CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 170 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 171 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 172 INFOT = 4 173 CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1, 174 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 175 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 176 INFOT = 6 177 CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2, 178 $ X, 2, RCOND, R1, R2, W, RW, INFO ) 179 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 180 INFOT = 8 181 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2, 182 $ X, 2, RCOND, R1, R2, W, RW, INFO ) 183 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 184 INFOT = 10 185 EQ = '/' 186 CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 187 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 188 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 189 INFOT = 11 190 EQ = 'R' 191 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 192 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 193 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 194 INFOT = 12 195 EQ = 'C' 196 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 197 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 198 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 199 INFOT = 14 200 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1, 201 $ X, 2, RCOND, R1, R2, W, RW, INFO ) 202 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 203 INFOT = 16 204 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2, 205 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 206 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 207* 208* ZGESVXX 209* 210 N_ERR_BNDS = 3 211 NPARAMS = 1 212 SRNAMT = 'ZGESVXX' 213 INFOT = 1 214 CALL ZGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 215 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 216 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 217 $ INFO ) 218 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 219 INFOT = 2 220 CALL ZGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 221 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 222 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 223 $ INFO ) 224 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 225 INFOT = 3 226 CALL ZGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 227 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 228 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 229 $ INFO ) 230 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 231 INFOT = 4 232 CALL ZGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 233 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 234 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 235 $ INFO ) 236 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 237 INFOT = 6 238 CALL ZGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 239 $ 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 240 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 241 $ INFO ) 242 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 243 INFOT = 8 244 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 245 $ 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 246 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 247 $ INFO ) 248 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 249 INFOT = 10 250 EQ = '/' 251 CALL ZGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 252 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 253 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 254 $ INFO ) 255 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 256 INFOT = 11 257 EQ = 'R' 258 CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 259 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 260 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 261 $ INFO ) 262 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 263 INFOT = 12 264 EQ = 'C' 265 CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 266 $ 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 267 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 268 $ INFO ) 269 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 270 INFOT = 14 271 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 272 $ 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 273 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 274 $ INFO ) 275 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 276 INFOT = 16 277 CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 278 $ 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 279 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 280 $ INFO ) 281 CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK ) 282* 283 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 284* 285* ZGBSV 286* 287 SRNAMT = 'ZGBSV ' 288 INFOT = 1 289 CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO ) 290 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 291 INFOT = 2 292 CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO ) 293 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 294 INFOT = 3 295 CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO ) 296 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 297 INFOT = 4 298 CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO ) 299 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 300 INFOT = 6 301 CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO ) 302 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 303 INFOT = 9 304 CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO ) 305 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 306* 307* ZGBSVX 308* 309 SRNAMT = 'ZGBSVX' 310 INFOT = 1 311 CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 312 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 313 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 314 INFOT = 2 315 CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 316 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 317 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 318 INFOT = 3 319 CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 320 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 321 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 322 INFOT = 4 323 CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 324 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 325 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 326 INFOT = 5 327 CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C, 328 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 329 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 330 INFOT = 6 331 CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C, 332 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 333 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 334 INFOT = 8 335 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C, 336 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 337 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 338 INFOT = 10 339 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C, 340 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 341 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 342 INFOT = 12 343 EQ = '/' 344 CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 345 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 346 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 347 INFOT = 13 348 EQ = 'R' 349 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 350 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 351 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 352 INFOT = 14 353 EQ = 'C' 354 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 355 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 356 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 357 INFOT = 16 358 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 359 $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO ) 360 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 361 INFOT = 18 362 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 363 $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO ) 364 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 365* 366* ZGBSVXX 367* 368 N_ERR_BNDS = 3 369 NPARAMS = 1 370 SRNAMT = 'ZGBSVXX' 371 INFOT = 1 372 CALL ZGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 373 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 374 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 375 $ INFO ) 376 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 377 INFOT = 2 378 CALL ZGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C, 379 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 380 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 381 $ INFO ) 382 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 383 INFOT = 3 384 CALL ZGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C, 385 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 386 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 387 $ INFO ) 388 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 389 INFOT = 4 390 CALL ZGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ, 391 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 392 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 393 $ INFO ) 394 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 395 INFOT = 5 396 CALL ZGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ, 397 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 398 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 399 $ INFO ) 400 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 401 INFOT = 6 402 CALL ZGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C, 403 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 404 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 405 $ INFO ) 406 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 407 INFOT = 8 408 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C, 409 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 410 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 411 $ INFO ) 412 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 413 INFOT = 10 414 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C, 415 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 416 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 417 $ INFO ) 418 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 419 INFOT = 12 420 EQ = '/' 421 CALL ZGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C, 422 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 423 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 424 $ INFO ) 425 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 426 INFOT = 13 427 EQ = 'R' 428 CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C, 429 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 430 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 431 $ INFO ) 432 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 433 INFOT = 14 434 EQ = 'C' 435 CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C, 436 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 437 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 438 $ INFO ) 439 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 440 INFOT = 15 441 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C, 442 $ B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 443 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 444 $ INFO ) 445 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 446 INFOT = 16 447 CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C, 448 $ B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 449 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW, 450 $ INFO ) 451 CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK ) 452* 453 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN 454* 455* ZGTSV 456* 457 SRNAMT = 'ZGTSV ' 458 INFOT = 1 459 CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 460 $ INFO ) 461 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK ) 462 INFOT = 2 463 CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 464 $ INFO ) 465 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK ) 466 INFOT = 7 467 CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO ) 468 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK ) 469* 470* ZGTSVX 471* 472 SRNAMT = 'ZGTSVX' 473 INFOT = 1 474 CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 475 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 476 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 477 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 478 INFOT = 2 479 CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 480 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 481 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 482 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 483 INFOT = 3 484 CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 485 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 486 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 487 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 488 INFOT = 4 489 CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 490 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 491 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 492 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 493 INFOT = 14 494 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 495 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 496 $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO ) 497 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 498 INFOT = 16 499 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 500 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 501 $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO ) 502 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 503* 504 ELSE IF( LSAMEN( 2, C2, 'HR' ) ) THEN 505* 506* ZHESV_ROOK 507* 508 SRNAMT = 'ZHESV_ROOK' 509 INFOT = 1 510 CALL ZHESV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 511 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 512 INFOT = 2 513 CALL ZHESV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 514 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 515 INFOT = 3 516 CALL ZHESV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 517 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 518 INFOT = 8 519 CALL ZHESV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 520 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 521* 522 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN 523* 524* ZPOSV 525* 526 SRNAMT = 'ZPOSV ' 527 INFOT = 1 528 CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO ) 529 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 530 INFOT = 2 531 CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO ) 532 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 533 INFOT = 3 534 CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO ) 535 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 536 INFOT = 5 537 CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO ) 538 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 539 INFOT = 7 540 CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO ) 541 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 542* 543* ZPOSVX 544* 545 SRNAMT = 'ZPOSVX' 546 INFOT = 1 547 CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 548 $ RCOND, R1, R2, W, RW, INFO ) 549 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 550 INFOT = 2 551 CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 552 $ RCOND, R1, R2, W, RW, INFO ) 553 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 554 INFOT = 3 555 CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 556 $ RCOND, R1, R2, W, RW, INFO ) 557 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 558 INFOT = 4 559 CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1, 560 $ RCOND, R1, R2, W, RW, INFO ) 561 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 562 INFOT = 6 563 CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 564 $ RCOND, R1, R2, W, RW, INFO ) 565 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 566 INFOT = 8 567 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 568 $ RCOND, R1, R2, W, RW, INFO ) 569 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 570 INFOT = 9 571 EQ = '/' 572 CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 573 $ RCOND, R1, R2, W, RW, INFO ) 574 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 575 INFOT = 10 576 EQ = 'Y' 577 CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 578 $ RCOND, R1, R2, W, RW, INFO ) 579 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 580 INFOT = 12 581 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2, 582 $ RCOND, R1, R2, W, RW, INFO ) 583 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 584 INFOT = 14 585 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1, 586 $ RCOND, R1, R2, W, RW, INFO ) 587 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 588* 589* ZPOSVXX 590* 591 N_ERR_BNDS = 3 592 NPARAMS = 1 593 SRNAMT = 'ZPOSVXX' 594 INFOT = 1 595 CALL ZPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 596 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 597 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 598 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 599 INFOT = 2 600 CALL ZPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 601 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 602 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 603 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 604 INFOT = 3 605 CALL ZPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 606 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 607 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 608 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 609 INFOT = 4 610 CALL ZPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1, 611 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 612 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 613 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 614 INFOT = 6 615 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 616 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 617 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 618 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 619 INFOT = 8 620 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 621 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 622 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 623 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 624 INFOT = 9 625 EQ = '/' 626 CALL ZPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 627 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 628 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 629 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 630 INFOT = 10 631 EQ = 'Y' 632 CALL ZPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 633 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 634 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 635 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 636 INFOT = 12 637 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2, 638 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 639 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 640 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 641 INFOT = 14 642 CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1, 643 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 644 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 645 CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK ) 646* 647 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 648* 649* ZPPSV 650* 651 SRNAMT = 'ZPPSV ' 652 INFOT = 1 653 CALL ZPPSV( '/', 0, 0, A, B, 1, INFO ) 654 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 655 INFOT = 2 656 CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO ) 657 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 658 INFOT = 3 659 CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO ) 660 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 661 INFOT = 6 662 CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO ) 663 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 664* 665* ZPPSVX 666* 667 SRNAMT = 'ZPPSVX' 668 INFOT = 1 669 CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 670 $ R1, R2, W, RW, INFO ) 671 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 672 INFOT = 2 673 CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 674 $ R1, R2, W, RW, INFO ) 675 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 676 INFOT = 3 677 CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 678 $ R1, R2, W, RW, INFO ) 679 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 680 INFOT = 4 681 CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND, 682 $ R1, R2, W, RW, INFO ) 683 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 684 INFOT = 7 685 EQ = '/' 686 CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 687 $ R1, R2, W, RW, INFO ) 688 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 689 INFOT = 8 690 EQ = 'Y' 691 CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 692 $ R1, R2, W, RW, INFO ) 693 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 694 INFOT = 10 695 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND, 696 $ R1, R2, W, RW, INFO ) 697 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 698 INFOT = 12 699 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND, 700 $ R1, R2, W, RW, INFO ) 701 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 702* 703 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 704* 705* ZPBSV 706* 707 SRNAMT = 'ZPBSV ' 708 INFOT = 1 709 CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO ) 710 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 711 INFOT = 2 712 CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 713 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 714 INFOT = 3 715 CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 716 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 717 INFOT = 4 718 CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 719 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 720 INFOT = 6 721 CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO ) 722 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 723 INFOT = 8 724 CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO ) 725 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 726* 727* ZPBSVX 728* 729 SRNAMT = 'ZPBSVX' 730 INFOT = 1 731 CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 732 $ RCOND, R1, R2, W, RW, INFO ) 733 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 734 INFOT = 2 735 CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 736 $ RCOND, R1, R2, W, RW, INFO ) 737 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 738 INFOT = 3 739 CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 740 $ 1, RCOND, R1, R2, W, RW, INFO ) 741 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 742 INFOT = 4 743 CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 744 $ 1, RCOND, R1, R2, W, RW, INFO ) 745 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 746 INFOT = 5 747 CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 748 $ 1, RCOND, R1, R2, W, RW, INFO ) 749 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 750 INFOT = 7 751 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 752 $ RCOND, R1, R2, W, RW, INFO ) 753 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 754 INFOT = 9 755 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 756 $ RCOND, R1, R2, W, RW, INFO ) 757 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 758 INFOT = 10 759 EQ = '/' 760 CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 761 $ RCOND, R1, R2, W, RW, INFO ) 762 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 763 INFOT = 11 764 EQ = 'Y' 765 CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 766 $ RCOND, R1, R2, W, RW, INFO ) 767 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 768 INFOT = 13 769 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2, 770 $ RCOND, R1, R2, W, RW, INFO ) 771 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 772 INFOT = 15 773 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1, 774 $ RCOND, R1, R2, W, RW, INFO ) 775 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 776* 777 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN 778* 779* ZPTSV 780* 781 SRNAMT = 'ZPTSV ' 782 INFOT = 1 783 CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO ) 784 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK ) 785 INFOT = 2 786 CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO ) 787 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK ) 788 INFOT = 6 789 CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO ) 790 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK ) 791* 792* ZPTSVX 793* 794 SRNAMT = 'ZPTSVX' 795 INFOT = 1 796 CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 797 $ 1, RCOND, R1, R2, W, RW, INFO ) 798 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 799 INFOT = 2 800 CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 801 $ 1, RCOND, R1, R2, W, RW, INFO ) 802 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 803 INFOT = 3 804 CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 805 $ 1, RCOND, R1, R2, W, RW, INFO ) 806 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 807 INFOT = 9 808 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 809 $ 2, RCOND, R1, R2, W, RW, INFO ) 810 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 811 INFOT = 11 812 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X, 813 $ 1, RCOND, R1, R2, W, RW, INFO ) 814 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 815* 816 ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN 817* 818* ZHESV 819* 820 SRNAMT = 'ZHESV ' 821 INFOT = 1 822 CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 823 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 824 INFOT = 2 825 CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 826 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 827 INFOT = 3 828 CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 829 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 830 INFOT = 5 831 CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO ) 832 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 833 INFOT = 8 834 CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 835 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 836 INFOT = 10 837 CALL ZHESV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 838 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 839 INFOT = 10 840 CALL ZHESV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 841 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 842* 843* ZHESVX 844* 845 SRNAMT = 'ZHESVX' 846 INFOT = 1 847 CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 848 $ RCOND, R1, R2, W, 1, RW, INFO ) 849 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 850 INFOT = 2 851 CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 852 $ RCOND, R1, R2, W, 1, RW, INFO ) 853 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 854 INFOT = 3 855 CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, 856 $ RCOND, R1, R2, W, 1, RW, INFO ) 857 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 858 INFOT = 4 859 CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, 860 $ RCOND, R1, R2, W, 1, RW, INFO ) 861 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 862 INFOT = 6 863 CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2, 864 $ RCOND, R1, R2, W, 4, RW, INFO ) 865 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 866 INFOT = 8 867 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2, 868 $ RCOND, R1, R2, W, 4, RW, INFO ) 869 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 870 INFOT = 11 871 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2, 872 $ RCOND, R1, R2, W, 4, RW, INFO ) 873 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 874 INFOT = 13 875 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1, 876 $ RCOND, R1, R2, W, 4, RW, INFO ) 877 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 878 INFOT = 18 879 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2, 880 $ RCOND, R1, R2, W, 3, RW, INFO ) 881 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 882* 883* ZHESVXX 884* 885 N_ERR_BNDS = 3 886 NPARAMS = 1 887 SRNAMT = 'ZHESVXX' 888 INFOT = 1 889 CALL ZHESVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X, 890 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 891 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 892 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 893 INFOT = 2 894 CALL ZHESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X, 895 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 896 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 897 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 898 INFOT = 3 899 CALL ZHESVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X, 900 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 901 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 902 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 903 INFOT = 4 904 CALL ZHESVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, C, B, 1, X, 905 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 906 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 907 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 908 INFOT = 6 909 CALL ZHESVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, C, B, 2, X, 910 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 911 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 912 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 913 INFOT = 8 914 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, C, B, 2, X, 915 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 916 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 917 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 918 INFOT = 9 919 EQ = '/' 920 CALL ZHESVXX( 'F', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X, 921 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 922 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 923 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 924 INFOT = 10 925 EQ = 'Y' 926 CALL ZHESVXX( 'F', 'U', 1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X, 927 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 928 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 929 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 930 INFOT = 12 931 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 1, X, 932 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 933 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 934 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 935 INFOT = 14 936 CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 2, X, 937 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 938 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 939 CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK ) 940* 941 ELSE IF( LSAMEN( 2, C2, 'HR' ) ) THEN 942* 943* ZHESV_ROOK 944* 945 SRNAMT = 'ZHESV_ROOK' 946 INFOT = 1 947 CALL ZHESV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 948 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 949 INFOT = 2 950 CALL ZHESV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 951 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 952 INFOT = 3 953 CALL ZHESV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 954 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 955 INFOT = 8 956 CALL ZHESV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 957 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 958 INFOT = 10 959 CALL ZHESV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 960 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 961 INFOT = 10 962 CALL ZHESV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 963 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 964* 965 ELSE IF( LSAMEN( 2, C2, 'HK' ) ) THEN 966* 967* ZSYSV_RK 968* 969* Test error exits of the driver that uses factorization 970* of a Hermitian indefinite matrix with rook 971* (bounded Bunch-Kaufman) pivoting with the new storage 972* format for factors L ( or U) and D. 973* 974* L (or U) is stored in A, diagonal of D is stored on the 975* diagonal of A, subdiagonal of D is stored in a separate array E. 976* 977 SRNAMT = 'ZHESV_RK' 978 INFOT = 1 979 CALL ZHESV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 980 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 981 INFOT = 2 982 CALL ZHESV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 983 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 984 INFOT = 3 985 CALL ZHESV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO ) 986 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 987 INFOT = 5 988 CALL ZHESV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO ) 989 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 990 INFOT = 9 991 CALL ZHESV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO ) 992 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 993 INFOT = 11 994 CALL ZHESV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO ) 995 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 996 INFOT = 11 997 CALL ZHESV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO ) 998 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 999* 1000 ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN 1001* 1002* ZHPSV 1003* 1004 SRNAMT = 'ZHPSV ' 1005 INFOT = 1 1006 CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO ) 1007 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 1008 INFOT = 2 1009 CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO ) 1010 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 1011 INFOT = 3 1012 CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO ) 1013 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 1014 INFOT = 7 1015 CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO ) 1016 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 1017* 1018* ZHPSVX 1019* 1020 SRNAMT = 'ZHPSVX' 1021 INFOT = 1 1022 CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 1023 $ R2, W, RW, INFO ) 1024 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 1025 INFOT = 2 1026 CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 1027 $ R2, W, RW, INFO ) 1028 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 1029 INFOT = 3 1030 CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 1031 $ R2, W, RW, INFO ) 1032 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 1033 INFOT = 4 1034 CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1, 1035 $ R2, W, RW, INFO ) 1036 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 1037 INFOT = 9 1038 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1, 1039 $ R2, W, RW, INFO ) 1040 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 1041 INFOT = 11 1042 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1, 1043 $ R2, W, RW, INFO ) 1044 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 1045* 1046 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN 1047* 1048* ZSYSV 1049* 1050 SRNAMT = 'ZSYSV ' 1051 INFOT = 1 1052 CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 1053 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 1054 INFOT = 2 1055 CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 1056 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 1057 INFOT = 3 1058 CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 1059 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 1060 INFOT = 8 1061 CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 1062 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 1063 INFOT = 10 1064 CALL ZSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 1065 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 1066 INFOT = 10 1067 CALL ZSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 1068 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 1069* 1070* ZSYSVX 1071* 1072 SRNAMT = 'ZSYSVX' 1073 INFOT = 1 1074 CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 1075 $ RCOND, R1, R2, W, 1, RW, INFO ) 1076 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1077 INFOT = 2 1078 CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 1079 $ RCOND, R1, R2, W, 1, RW, INFO ) 1080 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1081 INFOT = 3 1082 CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, 1083 $ RCOND, R1, R2, W, 1, RW, INFO ) 1084 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1085 INFOT = 4 1086 CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, 1087 $ RCOND, R1, R2, W, 1, RW, INFO ) 1088 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1089 INFOT = 6 1090 CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2, 1091 $ RCOND, R1, R2, W, 4, RW, INFO ) 1092 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1093 INFOT = 8 1094 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2, 1095 $ RCOND, R1, R2, W, 4, RW, INFO ) 1096 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1097 INFOT = 11 1098 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2, 1099 $ RCOND, R1, R2, W, 4, RW, INFO ) 1100 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1101 INFOT = 13 1102 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1, 1103 $ RCOND, R1, R2, W, 4, RW, INFO ) 1104 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1105 INFOT = 18 1106 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2, 1107 $ RCOND, R1, R2, W, 3, RW, INFO ) 1108 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 1109* 1110* ZSYSVXX 1111* 1112 N_ERR_BNDS = 3 1113 NPARAMS = 1 1114 SRNAMT = 'ZSYSVXX' 1115 INFOT = 1 1116 EQ = 'N' 1117 CALL ZSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X, 1118 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1119 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1120 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1121 INFOT = 2 1122 CALL ZSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X, 1123 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1124 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1125 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1126 INFOT = 3 1127 CALL ZSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X, 1128 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1129 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1130 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1131 INFOT = 4 1132 EQ = '/' 1133 CALL ZSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X, 1134 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1135 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1136 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1137 EQ = 'Y' 1138 INFOT = 6 1139 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X, 1140 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1141 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1142 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1143 INFOT = 8 1144 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X, 1145 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1146 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1147 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1148 INFOT = 10 1149 CALL ZSYSVXX( 'F', 'U', 2, 0, A, 2, AF, 2, IP, 'A', R, B, 2, X, 1150 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1151 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1152 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1153 INFOT = 11 1154 EQ='Y' 1155 CALL ZSYSVXX( 'F', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X, 1156 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1157 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1158 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1159 INFOT = 11 1160 EQ='Y' 1161 R(1) = -ONE 1162 CALL ZSYSVXX( 'F', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X, 1163 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1164 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1165 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1166 INFOT = 13 1167 EQ = 'N' 1168 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X, 1169 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1170 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1171 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1172 INFOT = 15 1173 CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X, 1174 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 1175 $ ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO ) 1176 CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK ) 1177* 1178 ELSE IF( LSAMEN( 2, C2, 'SR' ) ) THEN 1179* 1180* ZSYSV_ROOK 1181* 1182 SRNAMT = 'ZSYSV_ROOK' 1183 INFOT = 1 1184 CALL ZSYSV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 1185 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 1186 INFOT = 2 1187 CALL ZSYSV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 1188 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 1189 INFOT = 3 1190 CALL ZSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 1191 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 1192 INFOT = 8 1193 CALL ZSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 1194 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 1195 INFOT = 10 1196 CALL ZSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 1197 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 1198 INFOT = 10 1199 CALL ZSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 1200* 1201 ELSE IF( LSAMEN( 2, C2, 'SK' ) ) THEN 1202* 1203* ZSYSV_RK 1204* 1205* Test error exits of the driver that uses factorization 1206* of a symmetric indefinite matrix with rook 1207* (bounded Bunch-Kaufman) pivoting with the new storage 1208* format for factors L ( or U) and D. 1209* 1210* L (or U) is stored in A, diagonal of D is stored on the 1211* diagonal of A, subdiagonal of D is stored in a separate array E. 1212* 1213 SRNAMT = 'ZSYSV_RK' 1214 INFOT = 1 1215 CALL ZSYSV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 1216 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1217 INFOT = 2 1218 CALL ZSYSV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 1219 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1220 INFOT = 3 1221 CALL ZSYSV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO ) 1222 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1223 INFOT = 5 1224 CALL ZSYSV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO ) 1225 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1226 INFOT = 9 1227 CALL ZSYSV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO ) 1228 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1229 INFOT = 11 1230 CALL ZSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO ) 1231 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1232 INFOT = 11 1233 CALL ZSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO ) 1234 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 1235* 1236 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN 1237* 1238* ZSPSV 1239* 1240 SRNAMT = 'ZSPSV ' 1241 INFOT = 1 1242 CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO ) 1243 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 1244 INFOT = 2 1245 CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO ) 1246 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 1247 INFOT = 3 1248 CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO ) 1249 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 1250 INFOT = 7 1251 CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO ) 1252 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 1253* 1254* ZSPSVX 1255* 1256 SRNAMT = 'ZSPSVX' 1257 INFOT = 1 1258 CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 1259 $ R2, W, RW, INFO ) 1260 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 1261 INFOT = 2 1262 CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 1263 $ R2, W, RW, INFO ) 1264 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 1265 INFOT = 3 1266 CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 1267 $ R2, W, RW, INFO ) 1268 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 1269 INFOT = 4 1270 CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1, 1271 $ R2, W, RW, INFO ) 1272 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 1273 INFOT = 9 1274 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1, 1275 $ R2, W, RW, INFO ) 1276 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 1277 INFOT = 11 1278 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1, 1279 $ R2, W, RW, INFO ) 1280 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 1281 END IF 1282* 1283* Print a summary line. 1284* 1285 IF( OK ) THEN 1286 WRITE( NOUT, FMT = 9999 )PATH 1287 ELSE 1288 WRITE( NOUT, FMT = 9998 )PATH 1289 END IF 1290* 1291 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' ) 1292 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', 1293 $ 'exits ***' ) 1294* 1295 RETURN 1296* 1297* End of ZERRVXX 1298* 1299 END 1300