74 parameter( nmax = 3, lw = 6*nmax )
75 DOUBLE PRECISION ONE, ZERO
76 parameter( one = 1.0d+0, zero = 0.0d+0 )
80 INTEGER DUMMYK, DUMMYL, I, IFST, IHI, ILO, ILST, INFO,
81 $ J, M, NCYCLE, NT, SDIM, LWORK
82 DOUBLE PRECISION ANRM, BNRM, DIF, SCALE, TOLA, TOLB
85 LOGICAL BW( NMAX ), SEL( NMAX )
86 INTEGER IW( LW ), IDUM(NMAX)
87 DOUBLE PRECISION LS( NMAX ), R1( NMAX ), R2( NMAX ),
88 $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
89 COMPLEX*16 A( NMAX, NMAX ), ALPHA( NMAX ),
90 $ B( NMAX, NMAX ), BETA( NMAX ), Q( NMAX, NMAX ),
91 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
92 $ W( LW ), Z( NMAX, NMAX )
95 LOGICAL LSAMEN, ZLCTES, ZLCTSX
111 COMMON / infoc / infot, nout, ok, lerr
112 COMMON / srnamc / srnamt
117 WRITE( nout, fmt = * )
143 IF(
lsamen( 2, c2,
'GG' ) )
THEN
149 CALL zgghrd(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
150 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
152 CALL zgghrd(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
153 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
155 CALL zgghrd(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
156 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
158 CALL zgghrd(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
159 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
161 CALL zgghrd(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
162 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
164 CALL zgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
165 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
167 CALL zgghrd(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
168 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
170 CALL zgghrd(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
171 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
173 CALL zgghrd(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
174 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
181 CALL zgghd3(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
183 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
185 CALL zgghd3(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
187 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
189 CALL zgghd3(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
191 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
193 CALL zgghd3(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
195 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
197 CALL zgghd3(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
199 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
201 CALL zgghd3(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
203 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
205 CALL zgghd3(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
207 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
209 CALL zgghd3(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
211 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
213 CALL zgghd3(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
215 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
222 CALL zhgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, alpha, beta,
223 $ q, 1, z, 1, w, 1, rw, info )
224 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
226 CALL zhgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, alpha, beta,
227 $ q, 1, z, 1, w, 1, rw, info )
228 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
230 CALL zhgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1, b, 1, alpha, beta,
231 $ q, 1, z, 1, w, 1, rw, info )
232 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
234 CALL zhgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1, b, 1, alpha, beta,
235 $ q, 1, z, 1, w, 1, rw, info )
236 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
238 CALL zhgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1, b, 1, alpha, beta,
239 $ q, 1, z, 1, w, 1, rw, info )
240 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
242 CALL zhgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1, b, 1, alpha, beta,
243 $ q, 1, z, 1, w, 1, rw, info )
244 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
246 CALL zhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1, b, 2, alpha, beta,
247 $ q, 1, z, 1, w, 1, rw, info )
248 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
250 CALL zhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2, b, 1, alpha, beta,
251 $ q, 1, z, 1, w, 1, rw, info )
252 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
254 CALL zhgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2, b, 2, alpha, beta,
255 $ q, 1, z, 1, w, 1, rw, info )
256 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
258 CALL zhgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2, b, 2, alpha, beta,
259 $ q, 1, z, 1, w, 1, rw, info )
260 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
267 CALL ztgevc(
'/',
'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
269 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
271 CALL ztgevc(
'R',
'/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
273 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
275 CALL ztgevc(
'R',
'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
277 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
279 CALL ztgevc(
'R',
'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
281 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
283 CALL ztgevc(
'R',
'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
285 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
287 CALL ztgevc(
'L',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
289 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
291 CALL ztgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
293 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
295 CALL ztgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
297 CALL chkxer(
'ZTGEVC', infot, nout, lerr, ok )
302 ELSE IF(
lsamen( 3, path,
'GSV' ) )
THEN
308 CALL zggsvd3(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
309 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
311 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
313 CALL zggsvd3(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
314 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
316 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
318 CALL zggsvd3(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
319 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
321 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
323 CALL zggsvd3(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
324 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
326 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
328 CALL zggsvd3(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
329 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
331 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
333 CALL zggsvd3(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
334 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
336 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
338 CALL zggsvd3(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1, b,
339 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
341 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
343 CALL zggsvd3(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
344 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
346 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
348 CALL zggsvd3(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
349 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
351 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
353 CALL zggsvd3(
'N',
'V',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
354 $ 2, r1, r2, u, 2, v, 1, q, 1, w, lwork, rw, idum,
356 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
358 CALL zggsvd3(
'N',
'N',
'Q', 2, 2, 2, dummyk, dummyl, a, 2, b,
359 $ 2, r1, r2, u, 2, v, 2, q, 1, w, lwork, rw, idum,
361 CALL chkxer(
'ZGGSVD3', infot, nout, lerr, ok )
368 CALL zggsvp3(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
369 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
371 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
373 CALL zggsvp3(
'N',
'/',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
374 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
376 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
378 CALL zggsvp3(
'N',
'N',
'/', 0, 0, 0, a, 1, b, 1, tola, tolb,
379 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
381 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
383 CALL zggsvp3(
'N',
'N',
'N', -1, 0, 0, a, 1, b, 1, tola, tolb,
384 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
386 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
388 CALL zggsvp3(
'N',
'N',
'N', 0, -1, 0, a, 1, b, 1, tola, tolb,
389 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
391 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
393 CALL zggsvp3(
'N',
'N',
'N', 0, 0, -1, a, 1, b, 1, tola, tolb,
394 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
396 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
398 CALL zggsvp3(
'N',
'N',
'N', 2, 1, 1, a, 1, b, 1, tola, tolb,
399 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
401 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
403 CALL zggsvp3(
'N',
'N',
'N', 1, 2, 1, a, 1, b, 1, tola, tolb,
404 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
406 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
408 CALL zggsvp3(
'U',
'N',
'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
409 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
411 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
413 CALL zggsvp3(
'N',
'V',
'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
414 $ dummyk, dummyl, u, 2, v, 1, q, 1, iw, rw, tau, w,
416 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
418 CALL zggsvp3(
'N',
'N',
'Q', 2, 2, 2, a, 2, b, 2, tola, tolb,
419 $ dummyk, dummyl, u, 2, v, 2, q, 1, iw, rw, tau, w,
421 CALL chkxer(
'ZGGSVP3', infot, nout, lerr, ok )
428 CALL ztgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
429 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
431 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
433 CALL ztgsja(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
434 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
436 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
438 CALL ztgsja(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
439 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
441 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
443 CALL ztgsja(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
444 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
446 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
448 CALL ztgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
449 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
451 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
453 CALL ztgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
454 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
456 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
458 CALL ztgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0, b,
459 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
461 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
463 CALL ztgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
464 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
466 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
468 CALL ztgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
469 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
471 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
473 CALL ztgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
474 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
476 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
478 CALL ztgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
479 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
481 CALL chkxer(
'ZTGSJA', infot, nout, lerr, ok )
486 ELSE IF(
lsamen( 3, path,
'GLM' ) )
THEN
492 CALL zggglm( -1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
494 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
496 CALL zggglm( 0, -1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
498 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
500 CALL zggglm( 0, 1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
502 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
504 CALL zggglm( 0, 0, -1, a, 1, b, 1, tau, alpha, beta, w, lw,
506 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
508 CALL zggglm( 1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
510 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
512 CALL zggglm( 0, 0, 0, a, 0, b, 1, tau, alpha, beta, w, lw,
514 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
516 CALL zggglm( 0, 0, 0, a, 1, b, 0, tau, alpha, beta, w, lw,
518 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
520 CALL zggglm( 1, 1, 1, a, 1, b, 1, tau, alpha, beta, w, 1,
522 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
527 ELSE IF(
lsamen( 3, path,
'LSE' ) )
THEN
533 CALL zgglse( -1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
535 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
537 CALL zgglse( 0, -1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
539 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
541 CALL zgglse( 0, 0, -1, a, 1, b, 1, tau, alpha, beta, w, lw,
543 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
545 CALL zgglse( 0, 0, 1, a, 1, b, 1, tau, alpha, beta, w, lw,
547 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
549 CALL zgglse( 0, 1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
551 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
553 CALL zgglse( 0, 0, 0, a, 0, b, 1, tau, alpha, beta, w, lw,
555 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
557 CALL zgglse( 0, 0, 0, a, 1, b, 0, tau, alpha, beta, w, lw,
559 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
561 CALL zgglse( 1, 1, 1, a, 1, b, 1, tau, alpha, beta, w, 1,
563 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
568 ELSE IF(
lsamen( 3, path,
'CSD' ) )
THEN
574 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
577 $ a, 1, a, 1, a, 1, a,
578 $ 1, w, lw, rw, lw, iw, info )
579 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
581 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
584 $ a, 1, a, 1, a, 1, a,
585 $ 1, w, lw, rw, lw, iw, info )
586 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
588 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
591 $ a, 1, a, 1, a, 1, a,
592 $ 1, w, lw, rw, lw, iw, info )
593 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
595 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
598 $ a, 1, a, 1, a, 1, a,
599 $ 1, w, lw, rw, lw, iw, info )
600 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
602 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
605 $ a, -1, a, 1, a, 1, a,
606 $ 1, w, lw, rw, lw, iw, info )
607 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
609 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
612 $ a, 1, a, -1, a, 1, a,
613 $ 1, w, lw, rw, lw, iw, info )
614 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
616 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
619 $ a, 1, a, 1, a, -1, a,
620 $ 1, w, lw, rw, lw, iw, info )
621 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
623 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
626 $ a, 1, a, 1, a, 1, a,
627 $ -1, w, lw, rw, lw, iw, info )
628 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
633 ELSE IF(
lsamen( 3, path,
'GQR' ) )
THEN
639 CALL zggqrf( -1, 0, 0, a, 1, alpha, b, 1, beta, w, lw, info )
640 CALL chkxer(
'ZGGQRF', infot, nout, lerr, ok )
642 CALL zggqrf( 0, -1, 0, a, 1, alpha, b, 1, beta, w, lw, info )
643 CALL chkxer(
'ZGGQRF', infot, nout, lerr, ok )
645 CALL zggqrf( 0, 0, -1, a, 1, alpha, b, 1, beta, w, lw, info )
646 CALL chkxer(
'ZGGQRF', infot, nout, lerr, ok )
648 CALL zggqrf( 0, 0, 0, a, 0, alpha, b, 1, beta, w, lw, info )
649 CALL chkxer(
'ZGGQRF', infot, nout, lerr, ok )
651 CALL zggqrf( 0, 0, 0, a, 1, alpha, b, 0, beta, w, lw, info )
652 CALL chkxer(
'ZGGQRF', infot, nout, lerr, ok )
654 CALL zggqrf( 1, 1, 2, a, 1, alpha, b, 1, beta, w, 1, info )
655 CALL chkxer(
'ZGGQRF', infot, nout, lerr, ok )
662 CALL zggrqf( -1, 0, 0, a, 1, alpha, b, 1, beta, w, lw, info )
663 CALL chkxer(
'ZGGRQF', infot, nout, lerr, ok )
665 CALL zggrqf( 0, -1, 0, a, 1, alpha, b, 1, beta, w, lw, info )
666 CALL chkxer(
'ZGGRQF', infot, nout, lerr, ok )
668 CALL zggrqf( 0, 0, -1, a, 1, alpha, b, 1, beta, w, lw, info )
669 CALL chkxer(
'ZGGRQF', infot, nout, lerr, ok )
671 CALL zggrqf( 0, 0, 0, a, 0, alpha, b, 1, beta, w, lw, info )
672 CALL chkxer(
'ZGGRQF', infot, nout, lerr, ok )
674 CALL zggrqf( 0, 0, 0, a, 1, alpha, b, 0, beta, w, lw, info )
675 CALL chkxer(
'ZGGRQF', infot, nout, lerr, ok )
677 CALL zggrqf( 1, 1, 2, a, 1, alpha, b, 1, beta, w, 1, info )
678 CALL chkxer(
'ZGGRQF', infot, nout, lerr, ok )
683 ELSE IF(
lsamen( 3, path,
'ZGS' ) .OR.
684 $
lsamen( 3, path,
'ZGV' ) .OR.
685 $
lsamen( 3, path,
'ZGX' ) .OR.
lsamen( 3, path,
'ZXV' ) )
692 CALL zgges(
'/',
'N',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
693 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
694 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
696 CALL zgges(
'N',
'/',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
697 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
698 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
700 CALL zgges(
'N',
'V',
'/',
zlctes, 1, a, 1, b, 1, sdim, alpha,
701 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
702 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
704 CALL zgges(
'N',
'V',
'S',
zlctes, -1, a, 1, b, 1, sdim, alpha,
705 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
706 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
708 CALL zgges(
'N',
'V',
'S',
zlctes, 1, a, 0, b, 1, sdim, alpha,
709 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
710 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
712 CALL zgges(
'N',
'V',
'S',
zlctes, 1, a, 1, b, 0, sdim, alpha,
713 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
714 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
716 CALL zgges(
'N',
'V',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
717 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
718 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
720 CALL zgges(
'V',
'V',
'S',
zlctes, 2, a, 2, b, 2, sdim, alpha,
721 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
722 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
724 CALL zgges(
'N',
'V',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
725 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
726 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
728 CALL zgges(
'V',
'V',
'S',
zlctes, 2, a, 2, b, 2, sdim, alpha,
729 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
730 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
732 CALL zgges(
'V',
'V',
'S',
zlctes, 2, a, 2, b, 2, sdim, alpha,
733 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
734 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
741 CALL zgges3(
'/',
'N',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
742 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
743 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
745 CALL zgges3(
'N',
'/',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
746 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
747 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
749 CALL zgges3(
'N',
'V',
'/',
zlctes, 1, a, 1, b, 1, sdim, alpha,
750 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
751 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
753 CALL zgges3(
'N',
'V',
'S',
zlctes, -1, a, 1, b, 1, sdim,
754 $ alpha, beta, q, 1, u, 1, w, 1, rw, bw, info )
755 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
757 CALL zgges3(
'N',
'V',
'S',
zlctes, 1, a, 0, b, 1, sdim, alpha,
758 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
759 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
761 CALL zgges3(
'N',
'V',
'S',
zlctes, 1, a, 1, b, 0, sdim, alpha,
762 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
763 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
765 CALL zgges3(
'N',
'V',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
766 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
767 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
769 CALL zgges3(
'V',
'V',
'S',
zlctes, 2, a, 2, b, 2, sdim, alpha,
770 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
771 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
773 CALL zgges3(
'N',
'V',
'S',
zlctes, 1, a, 1, b, 1, sdim, alpha,
774 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
775 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
777 CALL zgges3(
'V',
'V',
'S',
zlctes, 2, a, 2, b, 2, sdim, alpha,
778 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
779 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
781 CALL zgges3(
'V',
'V',
'S',
zlctes, 2, a, 2, b, 2, sdim, alpha,
782 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
783 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
790 CALL zggesx(
'/',
'N',
'S',
zlctsx,
'N', 1, a, 1, b, 1, sdim,
791 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
793 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
795 CALL zggesx(
'N',
'/',
'S',
zlctsx,
'N', 1, a, 1, b, 1, sdim,
796 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
798 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
800 CALL zggesx(
'V',
'V',
'/',
zlctsx,
'N', 1, a, 1, b, 1, sdim,
801 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
803 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
805 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'/', 1, a, 1, b, 1, sdim,
806 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
808 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
810 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', -1, a, 1, b, 1, sdim,
811 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
813 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
815 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 0, b, 1, sdim,
816 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
818 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
820 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 1, b, 0, sdim,
821 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
823 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
825 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 1, b, 1, sdim,
826 $ alpha, beta, q, 0, u, 1, rce, rcv, w, 1, rw, iw,
828 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
830 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 2, a, 2, b, 2, sdim,
831 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
833 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
835 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 1, b, 1, sdim,
836 $ alpha, beta, q, 1, u, 0, rce, rcv, w, 1, rw, iw,
838 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
840 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 2, a, 2, b, 2, sdim,
841 $ alpha, beta, q, 2, u, 1, rce, rcv, w, 1, rw, iw,
843 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
845 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'B', 2, a, 2, b, 2, sdim,
846 $ alpha, beta, q, 2, u, 2, rce, rcv, w, 1, rw, iw,
848 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
850 CALL zggesx(
'V',
'V',
'S',
zlctsx,
'V', 1, a, 1, b, 1, sdim,
851 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 32, rw, iw,
853 CALL chkxer(
'ZGGESX', infot, nout, lerr, ok )
860 CALL zggev(
'/',
'N', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
862 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
864 CALL zggev(
'N',
'/', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
866 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
868 CALL zggev(
'V',
'V', -1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
870 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
872 CALL zggev(
'V',
'V', 1, a, 0, b, 1, alpha, beta, q, 1, u, 1,
874 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
876 CALL zggev(
'V',
'V', 1, a, 1, b, 0, alpha, beta, q, 1, u, 1,
878 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
880 CALL zggev(
'N',
'V', 1, a, 1, b, 1, alpha, beta, q, 0, u, 1,
882 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
884 CALL zggev(
'V',
'V', 2, a, 2, b, 2, alpha, beta, q, 1, u, 2,
886 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
888 CALL zggev(
'V',
'N', 2, a, 2, b, 2, alpha, beta, q, 2, u, 0,
890 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
892 CALL zggev(
'V',
'V', 2, a, 2, b, 2, alpha, beta, q, 2, u, 1,
894 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
896 CALL zggev(
'V',
'V', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
898 CALL chkxer(
'ZGGEV ', infot, nout, lerr, ok )
905 CALL zggev3(
'/',
'N', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
907 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
909 CALL zggev3(
'N',
'/', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
911 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
913 CALL zggev3(
'V',
'V', -1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
915 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
917 CALL zggev3(
'V',
'V', 1, a, 0, b, 1, alpha, beta, q, 1, u, 1,
919 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
921 CALL zggev3(
'V',
'V', 1, a, 1, b, 0, alpha, beta, q, 1, u, 1,
923 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
925 CALL zggev3(
'N',
'V', 1, a, 1, b, 1, alpha, beta, q, 0, u, 1,
927 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
929 CALL zggev3(
'V',
'V', 2, a, 2, b, 2, alpha, beta, q, 1, u, 2,
931 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
933 CALL zggev3(
'V',
'N', 2, a, 2, b, 2, alpha, beta, q, 2, u, 0,
935 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
937 CALL zggev3(
'V',
'V', 2, a, 2, b, 2, alpha, beta, q, 2, u, 1,
939 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
941 CALL zggev3(
'V',
'V', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
943 CALL chkxer(
'ZGGEV3', infot, nout, lerr, ok )
950 CALL zggevx(
'/',
'N',
'N',
'N', 1, a, 1, b, 1, alpha, beta, q,
951 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
952 $ w, 1, rw, iw, bw, info )
953 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
955 CALL zggevx(
'N',
'/',
'N',
'N', 1, a, 1, b, 1, alpha, beta, q,
956 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
957 $ w, 1, rw, iw, bw, info )
958 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
960 CALL zggevx(
'N',
'N',
'/',
'N', 1, a, 1, b, 1, alpha, beta, q,
961 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
962 $ w, 1, rw, iw, bw, info )
963 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
965 CALL zggevx(
'N',
'N',
'N',
'/', 1, a, 1, b, 1, alpha, beta, q,
966 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
967 $ w, 1, rw, iw, bw, info )
968 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
970 CALL zggevx(
'N',
'N',
'N',
'N', -1, a, 1, b, 1, alpha, beta,
971 $ q, 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce,
972 $ rcv, w, 1, rw, iw, bw, info )
973 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
975 CALL zggevx(
'N',
'N',
'N',
'N', 1, a, 0, b, 1, alpha, beta, q,
976 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
977 $ w, 1, rw, iw, bw, info )
978 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
980 CALL zggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 0, alpha, beta, q,
981 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
982 $ w, 1, rw, iw, bw, info )
983 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
985 CALL zggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, alpha, beta, q,
986 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
987 $ w, 1, rw, iw, bw, info )
988 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
990 CALL zggevx(
'N',
'V',
'N',
'N', 2, a, 2, b, 2, alpha, beta, q,
991 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
992 $ w, 1, rw, iw, bw, info )
993 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
995 CALL zggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, alpha, beta, q,
996 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
997 $ w, 1, rw, iw, bw, info )
998 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
1000 CALL zggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, alpha, beta, q,
1001 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
1002 $ w, 1, rw, iw, bw, info )
1003 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
1005 CALL zggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, alpha, beta, q,
1006 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
1007 $ w, 0, rw, iw, bw, info )
1008 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
1015 CALL ztgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
1017 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1019 CALL ztgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
1021 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1023 CALL ztgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
1025 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1027 CALL ztgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1029 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1031 CALL ztgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1033 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1035 CALL ztgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1037 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1039 CALL ztgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1041 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1048 CALL ztgsen( -1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1049 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1051 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1053 CALL ztgsen( 1, .true., .true., sel, -1, a, 1, b, 1, alpha,
1054 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1056 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1058 CALL ztgsen( 1, .true., .true., sel, 1, a, 0, b, 1, alpha,
1059 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1061 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1063 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 0, alpha,
1064 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1066 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1068 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1069 $ beta, q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1071 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1073 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1074 $ beta, q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1076 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1078 CALL ztgsen( 3, .true., .true., sel, 1, a, 1, b, 1, alpha,
1079 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, -5, iw,
1081 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1083 CALL ztgsen( 0, .true., .true., sel, 1, a, 1, b, 1, alpha,
1084 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1086 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1088 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1089 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1091 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1093 CALL ztgsen( 5, .true., .true., sel, 1, a, 1, b, 1, alpha,
1094 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1096 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1103 CALL ztgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1104 $ 1, m, w, 1, iw, info )
1105 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1107 CALL ztgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1108 $ 1, m, w, 1, iw, info )
1109 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1111 CALL ztgsna(
'B',
'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1112 $ 1, m, w, 1, iw, info )
1113 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1115 CALL ztgsna(
'B',
'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
1116 $ 1, m, w, 1, iw, info )
1117 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1119 CALL ztgsna(
'B',
'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
1120 $ 1, m, w, 1, iw, info )
1121 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1123 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1124 $ 1, m, w, 1, iw, info )
1125 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1127 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
1128 $ 1, m, w, 1, iw, info )
1129 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1131 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1132 $ 0, m, w, 1, iw, info )
1133 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1135 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1136 $ 1, m, w, 0, iw, info )
1137 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1144 CALL ztgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1145 $ scale, dif, w, 1, iw, info )
1146 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1148 CALL ztgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1149 $ scale, dif, w, 1, iw, info )
1150 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1152 CALL ztgsyl(
'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1153 $ scale, dif, w, 1, iw, info )
1154 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1156 CALL ztgsyl(
'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1157 $ scale, dif, w, 1, iw, info )
1158 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1160 CALL ztgsyl(
'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1161 $ scale, dif, w, 1, iw, info )
1162 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1164 CALL ztgsyl(
'N', 0, 1, 1, a, 1, b, 0, q, 1, u, 1, v, 1, z, 1,
1165 $ scale, dif, w, 1, iw, info )
1166 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1168 CALL ztgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 0, u, 1, v, 1, z, 1,
1169 $ scale, dif, w, 1, iw, info )
1170 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1172 CALL ztgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1173 $ scale, dif, w, 1, iw, info )
1174 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1176 CALL ztgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1177 $ scale, dif, w, 1, iw, info )
1178 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1180 CALL ztgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1181 $ scale, dif, w, 1, iw, info )
1182 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1184 CALL ztgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1185 $ scale, dif, w, 1, iw, info )
1186 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1188 CALL ztgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1189 $ scale, dif, w, 1, iw, info )
1190 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1197 WRITE( nout, fmt = 9999 )path, nt
1199 WRITE( nout, fmt = 9998 )path
1202 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1203 $ i3,
' tests done)' )
1204 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',