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