1*> \brief \b ZERRVX 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* .. 71* .. Local Scalars .. 72 CHARACTER EQ 73 CHARACTER*2 C2 74 INTEGER I, INFO, J 75 DOUBLE PRECISION RCOND 76* .. 77* .. Local Arrays .. 78 INTEGER IP( NMAX ) 79 DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 80 $ RF( NMAX ), RW( NMAX ) 81 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 82 $ E( NMAX ), W( 2*NMAX ), X( NMAX ) 83* .. 84* .. External Functions .. 85 LOGICAL LSAMEN 86 EXTERNAL LSAMEN 87* .. 88* .. External Subroutines .. 89 EXTERNAL CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV, 90 $ ZGTSVX, ZHESV, ZHESV_RK, ZHESV_ROOK, ZHESVX, 91 $ ZHPSV, ZHPSVX, ZPBSV, ZPBSVX, ZPOSV, ZPOSVX, 92 $ ZPPSV, ZPPSVX, ZPTSV, ZPTSVX, ZSPSV, ZSPSVX, 93 $ ZSYSV, ZSYSV_AA, ZSYSV_RK, ZSYSV_ROOK, 94 $ ZSYSVX, ZHESV_AA_2STAGE 95* .. 96* .. Scalars in Common .. 97 LOGICAL LERR, OK 98 CHARACTER*32 SRNAMT 99 INTEGER INFOT, NOUT 100* .. 101* .. Common blocks .. 102 COMMON / INFOC / INFOT, NOUT, OK, LERR 103 COMMON / SRNAMC / SRNAMT 104* .. 105* .. Intrinsic Functions .. 106 INTRINSIC DBLE, DCMPLX 107* .. 108* .. Executable Statements .. 109* 110 NOUT = NUNIT 111 WRITE( NOUT, FMT = * ) 112 C2 = PATH( 2: 3 ) 113* 114* Set the variables to innocuous values. 115* 116 DO 20 J = 1, NMAX 117 DO 10 I = 1, NMAX 118 A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 119 $ -1.D0 / DBLE( I+J ) ) 120 AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 121 $ -1.D0 / DBLE( I+J ) ) 122 10 CONTINUE 123 B( J ) = 0.D0 124 E( J ) = 0.D0 125 R1( J ) = 0.D0 126 R2( J ) = 0.D0 127 W( J ) = 0.D0 128 X( J ) = 0.D0 129 C( J ) = 0.D0 130 R( J ) = 0.D0 131 IP( J ) = J 132 20 CONTINUE 133 EQ = ' ' 134 OK = .TRUE. 135* 136 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 137* 138* ZGESV 139* 140 SRNAMT = 'ZGESV ' 141 INFOT = 1 142 CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO ) 143 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 144 INFOT = 2 145 CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO ) 146 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 147 INFOT = 4 148 CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO ) 149 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 150 INFOT = 7 151 CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO ) 152 CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK ) 153* 154* ZGESVX 155* 156 SRNAMT = 'ZGESVX' 157 INFOT = 1 158 CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 159 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 160 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 161 INFOT = 2 162 CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 163 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 164 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 165 INFOT = 3 166 CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 167 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 168 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 169 INFOT = 4 170 CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1, 171 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 172 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 173 INFOT = 6 174 CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2, 175 $ X, 2, RCOND, R1, R2, W, RW, INFO ) 176 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 177 INFOT = 8 178 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2, 179 $ X, 2, RCOND, R1, R2, W, RW, INFO ) 180 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 181 INFOT = 10 182 EQ = '/' 183 CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 184 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 185 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 186 INFOT = 11 187 EQ = 'R' 188 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 189 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 190 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 191 INFOT = 12 192 EQ = 'C' 193 CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 194 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 195 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 196 INFOT = 14 197 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1, 198 $ X, 2, RCOND, R1, R2, W, RW, INFO ) 199 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 200 INFOT = 16 201 CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2, 202 $ X, 1, RCOND, R1, R2, W, RW, INFO ) 203 CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK ) 204* 205 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 206* 207* ZGBSV 208* 209 SRNAMT = 'ZGBSV ' 210 INFOT = 1 211 CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO ) 212 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 213 INFOT = 2 214 CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO ) 215 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 216 INFOT = 3 217 CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO ) 218 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 219 INFOT = 4 220 CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO ) 221 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 222 INFOT = 6 223 CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO ) 224 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 225 INFOT = 9 226 CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO ) 227 CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK ) 228* 229* ZGBSVX 230* 231 SRNAMT = 'ZGBSVX' 232 INFOT = 1 233 CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 234 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 235 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 236 INFOT = 2 237 CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 238 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 239 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 240 INFOT = 3 241 CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 242 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 243 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 244 INFOT = 4 245 CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 246 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 247 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 248 INFOT = 5 249 CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C, 250 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 251 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 252 INFOT = 6 253 CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C, 254 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 255 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 256 INFOT = 8 257 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C, 258 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 259 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 260 INFOT = 10 261 CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C, 262 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 263 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 264 INFOT = 12 265 EQ = '/' 266 CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 267 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 268 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 269 INFOT = 13 270 EQ = 'R' 271 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 272 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 273 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 274 INFOT = 14 275 EQ = 'C' 276 CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 277 $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 278 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 279 INFOT = 16 280 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 281 $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO ) 282 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 283 INFOT = 18 284 CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 285 $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO ) 286 CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK ) 287* 288 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN 289* 290* ZGTSV 291* 292 SRNAMT = 'ZGTSV ' 293 INFOT = 1 294 CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 295 $ INFO ) 296 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK ) 297 INFOT = 2 298 CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 299 $ INFO ) 300 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK ) 301 INFOT = 7 302 CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO ) 303 CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK ) 304* 305* ZGTSVX 306* 307 SRNAMT = 'ZGTSVX' 308 INFOT = 1 309 CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 310 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 311 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 312 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 313 INFOT = 2 314 CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 315 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 316 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 317 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 318 INFOT = 3 319 CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 320 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 321 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 322 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 323 INFOT = 4 324 CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 325 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 326 $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO ) 327 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 328 INFOT = 14 329 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 330 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 331 $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO ) 332 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 333 INFOT = 16 334 CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 335 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 336 $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO ) 337 CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK ) 338* 339 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN 340* 341* ZPOSV 342* 343 SRNAMT = 'ZPOSV ' 344 INFOT = 1 345 CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO ) 346 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 347 INFOT = 2 348 CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO ) 349 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 350 INFOT = 3 351 CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO ) 352 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 353 INFOT = 5 354 CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO ) 355 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 356 INFOT = 7 357 CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO ) 358 CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK ) 359* 360* ZPOSVX 361* 362 SRNAMT = 'ZPOSVX' 363 INFOT = 1 364 CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 365 $ RCOND, R1, R2, W, RW, INFO ) 366 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 367 INFOT = 2 368 CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 369 $ RCOND, R1, R2, W, RW, INFO ) 370 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 371 INFOT = 3 372 CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 373 $ RCOND, R1, R2, W, RW, INFO ) 374 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 375 INFOT = 4 376 CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1, 377 $ RCOND, R1, R2, W, RW, INFO ) 378 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 379 INFOT = 6 380 CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 381 $ RCOND, R1, R2, W, RW, INFO ) 382 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 383 INFOT = 8 384 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 385 $ RCOND, R1, R2, W, RW, INFO ) 386 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 387 INFOT = 9 388 EQ = '/' 389 CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 390 $ RCOND, R1, R2, W, RW, INFO ) 391 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 392 INFOT = 10 393 EQ = 'Y' 394 CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 395 $ RCOND, R1, R2, W, RW, INFO ) 396 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 397 INFOT = 12 398 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2, 399 $ RCOND, R1, R2, W, RW, INFO ) 400 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 401 INFOT = 14 402 CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1, 403 $ RCOND, R1, R2, W, RW, INFO ) 404 CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK ) 405* 406 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 407* 408* ZPPSV 409* 410 SRNAMT = 'ZPPSV ' 411 INFOT = 1 412 CALL ZPPSV( '/', 0, 0, A, B, 1, INFO ) 413 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 414 INFOT = 2 415 CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO ) 416 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 417 INFOT = 3 418 CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO ) 419 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 420 INFOT = 6 421 CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO ) 422 CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK ) 423* 424* ZPPSVX 425* 426 SRNAMT = 'ZPPSVX' 427 INFOT = 1 428 CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 429 $ R1, R2, W, RW, INFO ) 430 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 431 INFOT = 2 432 CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 433 $ R1, R2, W, RW, INFO ) 434 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 435 INFOT = 3 436 CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 437 $ R1, R2, W, RW, INFO ) 438 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 439 INFOT = 4 440 CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND, 441 $ R1, R2, W, RW, INFO ) 442 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 443 INFOT = 7 444 EQ = '/' 445 CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 446 $ R1, R2, W, RW, INFO ) 447 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 448 INFOT = 8 449 EQ = 'Y' 450 CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 451 $ R1, R2, W, RW, INFO ) 452 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 453 INFOT = 10 454 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND, 455 $ R1, R2, W, RW, INFO ) 456 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 457 INFOT = 12 458 CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND, 459 $ R1, R2, W, RW, INFO ) 460 CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK ) 461* 462 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 463* 464* ZPBSV 465* 466 SRNAMT = 'ZPBSV ' 467 INFOT = 1 468 CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO ) 469 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 470 INFOT = 2 471 CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 472 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 473 INFOT = 3 474 CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 475 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 476 INFOT = 4 477 CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 478 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 479 INFOT = 6 480 CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO ) 481 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 482 INFOT = 8 483 CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO ) 484 CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK ) 485* 486* ZPBSVX 487* 488 SRNAMT = 'ZPBSVX' 489 INFOT = 1 490 CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 491 $ RCOND, R1, R2, W, RW, INFO ) 492 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 493 INFOT = 2 494 CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 495 $ RCOND, R1, R2, W, RW, INFO ) 496 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 497 INFOT = 3 498 CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 499 $ 1, RCOND, R1, R2, W, RW, INFO ) 500 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 501 INFOT = 4 502 CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 503 $ 1, RCOND, R1, R2, W, RW, INFO ) 504 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 505 INFOT = 5 506 CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 507 $ 1, RCOND, R1, R2, W, RW, INFO ) 508 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 509 INFOT = 7 510 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 511 $ RCOND, R1, R2, W, RW, INFO ) 512 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 513 INFOT = 9 514 CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 515 $ RCOND, R1, R2, W, RW, INFO ) 516 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 517 INFOT = 10 518 EQ = '/' 519 CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 520 $ RCOND, R1, R2, W, RW, INFO ) 521 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 522 INFOT = 11 523 EQ = 'Y' 524 CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 525 $ RCOND, R1, R2, W, RW, INFO ) 526 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 527 INFOT = 13 528 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2, 529 $ RCOND, R1, R2, W, RW, INFO ) 530 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 531 INFOT = 15 532 CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1, 533 $ RCOND, R1, R2, W, RW, INFO ) 534 CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK ) 535* 536 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN 537* 538* ZPTSV 539* 540 SRNAMT = 'ZPTSV ' 541 INFOT = 1 542 CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO ) 543 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK ) 544 INFOT = 2 545 CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO ) 546 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK ) 547 INFOT = 6 548 CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO ) 549 CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK ) 550* 551* ZPTSVX 552* 553 SRNAMT = 'ZPTSVX' 554 INFOT = 1 555 CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 556 $ 1, RCOND, R1, R2, W, RW, INFO ) 557 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 558 INFOT = 2 559 CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 560 $ 1, RCOND, R1, R2, W, RW, INFO ) 561 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 562 INFOT = 3 563 CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 564 $ 1, RCOND, R1, R2, W, RW, INFO ) 565 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 566 INFOT = 9 567 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X, 568 $ 2, RCOND, R1, R2, W, RW, INFO ) 569 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 570 INFOT = 11 571 CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X, 572 $ 1, RCOND, R1, R2, W, RW, INFO ) 573 CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK ) 574* 575 ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN 576* 577* ZHESV 578* 579 SRNAMT = 'ZHESV ' 580 INFOT = 1 581 CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 582 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 583 INFOT = 2 584 CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 585 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 586 INFOT = 3 587 CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 588 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 589 INFOT = 5 590 CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO ) 591 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 592 INFOT = 8 593 CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 594 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 595 INFOT = 10 596 CALL ZHESV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 597 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 598 INFOT = 10 599 CALL ZHESV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 600 CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK ) 601* 602* ZHESVX 603* 604 SRNAMT = 'ZHESVX' 605 INFOT = 1 606 CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 607 $ RCOND, R1, R2, W, 1, RW, INFO ) 608 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 609 INFOT = 2 610 CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 611 $ RCOND, R1, R2, W, 1, RW, INFO ) 612 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 613 INFOT = 3 614 CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, 615 $ RCOND, R1, R2, W, 1, RW, INFO ) 616 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 617 INFOT = 4 618 CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, 619 $ RCOND, R1, R2, W, 1, RW, INFO ) 620 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 621 INFOT = 6 622 CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2, 623 $ RCOND, R1, R2, W, 4, RW, INFO ) 624 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 625 INFOT = 8 626 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2, 627 $ RCOND, R1, R2, W, 4, RW, INFO ) 628 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 629 INFOT = 11 630 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2, 631 $ RCOND, R1, R2, W, 4, RW, INFO ) 632 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 633 INFOT = 13 634 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1, 635 $ RCOND, R1, R2, W, 4, RW, INFO ) 636 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 637 INFOT = 18 638 CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2, 639 $ RCOND, R1, R2, W, 3, RW, INFO ) 640 CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK ) 641* 642 ELSE IF( LSAMEN( 2, C2, 'HR' ) ) THEN 643* 644* ZHESV_ROOK 645* 646 SRNAMT = 'ZHESV_ROOK' 647 INFOT = 1 648 CALL ZHESV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 649 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 650 INFOT = 2 651 CALL ZHESV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 652 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 653 INFOT = 3 654 CALL ZHESV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 655 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 656 INFOT = 8 657 CALL ZHESV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 658 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 659 INFOT = 10 660 CALL ZHESV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 661 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 662 INFOT = 10 663 CALL ZHESV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 664 CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK ) 665* 666 ELSE IF( LSAMEN( 2, C2, 'HK' ) ) THEN 667* 668* ZSYSV_RK 669* 670* Test error exits of the driver that uses factorization 671* of a Hermitian indefinite matrix with rook 672* (bounded Bunch-Kaufman) pivoting with the new storage 673* format for factors L ( or U) and D. 674* 675* L (or U) is stored in A, diagonal of D is stored on the 676* diagonal of A, subdiagonal of D is stored in a separate array E. 677* 678 SRNAMT = 'ZHESV_RK' 679 INFOT = 1 680 CALL ZHESV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 681 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 682 INFOT = 2 683 CALL ZHESV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 684 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 685 INFOT = 3 686 CALL ZHESV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO ) 687 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 688 INFOT = 5 689 CALL ZHESV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO ) 690 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 691 INFOT = 9 692 CALL ZHESV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO ) 693 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 694 INFOT = 11 695 CALL ZHESV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO ) 696 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 697 INFOT = 11 698 CALL ZHESV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO ) 699 CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK ) 700* 701 ELSE IF( LSAMEN( 2, C2, 'HA' ) ) THEN 702* 703* ZHESV_AA 704* 705 SRNAMT = 'ZHESV_AA' 706 INFOT = 1 707 CALL ZHESV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 708 CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK ) 709 INFOT = 2 710 CALL ZHESV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 711 CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK ) 712 INFOT = 3 713 CALL ZHESV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 714 CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK ) 715 INFOT = 8 716 CALL ZHESV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 717 CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK ) 718* 719 ELSE IF( LSAMEN( 2, C2, 'H2' ) ) THEN 720* 721* ZHESV_AASEN_2STAGE 722* 723 SRNAMT = 'ZHESV_AA_2STAGE' 724 INFOT = 1 725 CALL ZHESV_AA_2STAGE( '/', 0, 0, A, 1, A, 1, IP, IP, B, 1, 726 $ W, 1, INFO ) 727 CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 728 INFOT = 2 729 CALL ZHESV_AA_2STAGE( 'U', -1, 0, A, 1, A, 1, IP, IP, B, 1, 730 $ W, 1, INFO ) 731 CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 732 INFOT = 3 733 CALL ZHESV_AA_2STAGE( 'U', 0, -1, A, 1, A, 1, IP, IP, B, 1, 734 $ W, 1, INFO ) 735 CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 736 INFOT = 5 737 CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1, 738 $ W, 1, INFO ) 739 CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 740 INFOT = 11 741 CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1, 742 $ W, 1, INFO ) 743 CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 744 INFOT = 7 745 CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2, 746 $ W, 1, INFO ) 747 CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 748* 749 ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN 750* 751* ZSYSV_AASEN_2STAGE 752* 753 SRNAMT = 'ZSYSV_AA_2STAGE' 754 INFOT = 1 755 CALL ZSYSV_AA_2STAGE( '/', 0, 0, A, 1, A, 1, IP, IP, B, 1, 756 $ W, 1, INFO ) 757 CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 758 INFOT = 2 759 CALL ZSYSV_AA_2STAGE( 'U', -1, 0, A, 1, A, 1, IP, IP, B, 1, 760 $ W, 1, INFO ) 761 CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 762 INFOT = 3 763 CALL ZSYSV_AA_2STAGE( 'U', 0, -1, A, 1, A, 1, IP, IP, B, 1, 764 $ W, 1, INFO ) 765 CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 766 INFOT = 5 767 CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1, 768 $ W, 1, INFO ) 769 CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 770 INFOT = 11 771 CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1, 772 $ W, 1, INFO ) 773 CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 774 INFOT = 7 775 CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2, 776 $ W, 1, INFO ) 777 CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 778** 779 ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN 780* 781* ZHPSV 782* 783 SRNAMT = 'ZHPSV ' 784 INFOT = 1 785 CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO ) 786 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 787 INFOT = 2 788 CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO ) 789 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 790 INFOT = 3 791 CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO ) 792 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 793 INFOT = 7 794 CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO ) 795 CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK ) 796* 797* ZHPSVX 798* 799 SRNAMT = 'ZHPSVX' 800 INFOT = 1 801 CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 802 $ R2, W, RW, INFO ) 803 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 804 INFOT = 2 805 CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 806 $ R2, W, RW, INFO ) 807 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 808 INFOT = 3 809 CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 810 $ R2, W, RW, INFO ) 811 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 812 INFOT = 4 813 CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1, 814 $ R2, W, RW, INFO ) 815 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 816 INFOT = 9 817 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1, 818 $ R2, W, RW, INFO ) 819 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 820 INFOT = 11 821 CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1, 822 $ R2, W, RW, INFO ) 823 CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK ) 824* 825 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN 826* 827* ZSYSV 828* 829 SRNAMT = 'ZSYSV ' 830 INFOT = 1 831 CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 832 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 833 INFOT = 2 834 CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 835 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 836 INFOT = 3 837 CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 838 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 839 INFOT = 8 840 CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 841 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 842 INFOT = 10 843 CALL ZSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 844 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 845 INFOT = 10 846 CALL ZSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 847 CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK ) 848* 849* ZSYSVX 850* 851 SRNAMT = 'ZSYSVX' 852 INFOT = 1 853 CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 854 $ RCOND, R1, R2, W, 1, RW, INFO ) 855 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 856 INFOT = 2 857 CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 858 $ RCOND, R1, R2, W, 1, RW, INFO ) 859 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 860 INFOT = 3 861 CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, 862 $ RCOND, R1, R2, W, 1, RW, INFO ) 863 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 864 INFOT = 4 865 CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, 866 $ RCOND, R1, R2, W, 1, RW, INFO ) 867 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 868 INFOT = 6 869 CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2, 870 $ RCOND, R1, R2, W, 4, RW, INFO ) 871 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 872 INFOT = 8 873 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2, 874 $ RCOND, R1, R2, W, 4, RW, INFO ) 875 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 876 INFOT = 11 877 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2, 878 $ RCOND, R1, R2, W, 4, RW, INFO ) 879 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 880 INFOT = 13 881 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1, 882 $ RCOND, R1, R2, W, 4, RW, INFO ) 883 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 884 INFOT = 18 885 CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2, 886 $ RCOND, R1, R2, W, 3, RW, INFO ) 887 CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK ) 888* 889 ELSE IF( LSAMEN( 2, C2, 'SR' ) ) THEN 890* 891* ZSYSV_ROOK 892* 893 SRNAMT = 'ZSYSV_ROOK' 894 INFOT = 1 895 CALL ZSYSV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 896 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 897 INFOT = 2 898 CALL ZSYSV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 899 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 900 INFOT = 3 901 CALL ZSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 902 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 903 INFOT = 8 904 CALL ZSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 905 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 906 INFOT = 10 907 CALL ZSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 908 CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK ) 909 INFOT = 10 910 CALL ZSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 911* 912 ELSE IF( LSAMEN( 2, C2, 'SK' ) ) THEN 913* 914* ZSYSV_RK 915* 916* Test error exits of the driver that uses factorization 917* of a symmetric indefinite matrix with rook 918* (bounded Bunch-Kaufman) pivoting with the new storage 919* format for factors L ( or U) and D. 920* 921* L (or U) is stored in A, diagonal of D is stored on the 922* diagonal of A, subdiagonal of D is stored in a separate array E. 923* 924 SRNAMT = 'ZSYSV_RK' 925 INFOT = 1 926 CALL ZSYSV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 927 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 928 INFOT = 2 929 CALL ZSYSV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 930 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 931 INFOT = 3 932 CALL ZSYSV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO ) 933 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 934 INFOT = 5 935 CALL ZSYSV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO ) 936 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 937 INFOT = 9 938 CALL ZSYSV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO ) 939 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 940 INFOT = 11 941 CALL ZSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO ) 942 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 943 INFOT = 11 944 CALL ZSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO ) 945 CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK ) 946* 947 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN 948* 949* ZSPSV 950* 951 SRNAMT = 'ZSPSV ' 952 INFOT = 1 953 CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO ) 954 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 955 INFOT = 2 956 CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO ) 957 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 958 INFOT = 3 959 CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO ) 960 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 961 INFOT = 7 962 CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO ) 963 CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK ) 964* 965* ZSPSVX 966* 967 SRNAMT = 'ZSPSVX' 968 INFOT = 1 969 CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 970 $ R2, W, RW, INFO ) 971 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 972 INFOT = 2 973 CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 974 $ R2, W, RW, INFO ) 975 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 976 INFOT = 3 977 CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 978 $ R2, W, RW, INFO ) 979 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 980 INFOT = 4 981 CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1, 982 $ R2, W, RW, INFO ) 983 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 984 INFOT = 9 985 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1, 986 $ R2, W, RW, INFO ) 987 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 988 INFOT = 11 989 CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1, 990 $ R2, W, RW, INFO ) 991 CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK ) 992 END IF 993* 994* Print a summary line. 995* 996 IF( OK ) THEN 997 WRITE( NOUT, FMT = 9999 )PATH 998 ELSE 999 WRITE( NOUT, FMT = 9998 )PATH 1000 END IF 1001* 1002 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' ) 1003 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', 1004 $ 'exits ***' ) 1005* 1006 RETURN 1007* 1008* End of ZERRVX 1009* 1010 END 1011