71 parameter( nmax = 3, lw = 6*nmax )
72 DOUBLE PRECISION ONE, ZERO
73 parameter( one = 1.0d+0, zero = 0.0d+0 )
77 INTEGER DUMMYK, , I, IFST, IHI, ILO, ILST, INFO,
78 $ J, M, NCYCLE, NT, SDIM, LWORK
79 DOUBLE PRECISION ANRM, BNRM, DIF, SCALE, TOLA, TOLB
82 LOGICAL BW( NMAX ), SEL( NMAX )
83 INTEGER IW( LW ), IDUM(NMAX)
84 DOUBLE PRECISION LS( NMAX ), R1( NMAX ), R2( NMAX ),
85 $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
86 COMPLEX*16 A( NMAX, NMAX ), ALPHA( ),
87 $ B( NMAX, NMAX ), BETA( ), Q( NMAX, NMAX ),
88 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
89 $ W( LW ), ( NMAX, NMAX )
92 LOGICAL LSAMEN, ZLCTES, ZLCTSX
93 EXTERNAL lsamen, zlctes, zlctsx
108 COMMON / infoc / infot, nout, ok, lerr
109 COMMON / srnamc / srnamt
114 WRITE( nout, fmt = * )
148 IF( lsamen( 2, c2,
'GG' ) )
THEN
154 CALL zgghrd(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
155 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
157 CALL zgghrd(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
158 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
160 CALL zgghrd(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
161 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
163 CALL zgghrd(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
166 CALL ZGGHRD( 'n
', 'n', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
167 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
169 CALL zgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
170 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
172 CALL zgghrd(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
173 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
175 CALL zgghrd(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
176 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
178 CALL zgghrd(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
179 CALL chkxer(
'ZGGHRD', infot, nout, lerr, ok )
186 CALL zgghd3(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
188 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
190 CALL zgghd3(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
192 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
194 CALL zgghd3(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
196 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
198 CALL zgghd3(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
200 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
202 CALL zgghd3(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
204 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
206 CALL zgghd3(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
208 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
210 CALL zgghd3(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
212 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
214 CALL zgghd3(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
216 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
218 CALL zgghd3(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
220 CALL chkxer(
'ZGGHD3', infot, nout, lerr, ok )
227 CALL zhgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, alpha, beta,
228 $ q, 1, z, 1, w, 1, rw, info )
229 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
231 CALL zhgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, alpha, beta,
232 $ q, 1, z, 1, w, 1, rw, info )
233 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
235 CALL zhgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1, b, 1, alpha, beta,
236 $ q, 1, z, 1, w, 1, rw, info )
237 CALL chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
239 CALL zhgeqz( 'e
', 'n
', 'n
', -1, 0, 0, A, 1, B, 1, ALPHA, BETA,
240 $ Q, 1, Z, 1, W, 1, RW, INFO )
241 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
243 CALL ZHGEQZ( 'e
', 'n
', 'n
', 0, 0, 0, A, 1, B, 1, ALPHA, BETA,
244 $ Q, 1, Z, 1, W, 1, RW, INFO )
245 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
247 CALL ZHGEQZ( 'e
', 'n
', 'n
', 0, 1, 1, A, 1, B, 1, ALPHA, BETA,
248 $ Q, 1, Z, 1, W, 1, RW, INFO )
249 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
251 CALL ZHGEQZ( 'e
', 'n
', 'n
', 2, 1, 1, A, 1, B, 2, ALPHA, BETA,
252 $ Q, 1, Z, 1, W, 1, RW, INFO )
253 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
255 CALL ZHGEQZ( 'e
', 'n
', 'n
', 2, 1, 1, A, 2, B, 1, ALPHA, BETA,
256 $ Q, 1, Z, 1, W, 1, RW, INFO )
257 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
259 CALL ZHGEQZ( 'e
', 'v
', 'n
', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
260 $ Q, 1, Z, 1, W, 1, RW, INFO )
261 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
263 CALL ZHGEQZ( 'e
', 'n
', 'v
', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
264 $ Q, 1, Z, 1, W, 1, RW, INFO )
265 CALL CHKXER( 'zhgeqz', INFOT, NOUT, LERR, OK )
272 CALL ZTGEVC( '/
', 'a
', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
274 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
276 CALL ZTGEVC( 'r
', '/
', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
278 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
280 CALL ZTGEVC( 'r
', 'a
', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M,
282 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
284 CALL ZTGEVC( 'r
', 'a
', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W,
286 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
288 CALL ZTGEVC( 'r
', 'a
', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W,
290 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
292 CALL ZTGEVC( 'l
', 'a
', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
294 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
296 CALL ZTGEVC( 'r
', 'a
', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
298 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
300 CALL ZTGEVC( 'r
', 'a
', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W,
302 CALL CHKXER( 'ztgevc', INFOT, NOUT, LERR, OK )
307 ELSE IF( LSAMEN( 3, PATH, 'gsv
' ) ) THEN
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
', '/
', 0, 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
', -1, 0, 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, -1, 0, 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
', 0, 0, -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
', 2, 1, 1, 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( 'n
', 'n
', 'n
', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B,
349 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, RW, IDUM,
351 CALL CHKXER( 'zggsvd3', INFOT, NOUT, LERR, OK )
353 CALL ZGGSVD3( 'u
', 'n
', 'n
', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
354 $ 2, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, RW, IDUM,
356 CALL CHKXER( 'zggsvd3', INFOT, NOUT, LERR, OK )
358 CALL ZGGSVD3( 'n
', 'v
', 'n
', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
359 $ 2, R1, R2, U, 2, V, 1, Q, 1, W, LWORK, RW, IDUM,
361 CALL CHKXER( 'zggsvd3', INFOT, NOUT, LERR, OK )
363 CALL ZGGSVD3( 'n
', 'n
', 'q
', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
364 $ 2, R1, R2, U, 2, V, 2, Q, 1, W, LWORK, RW, IDUM,
366 CALL CHKXER( 'zggsvd3', 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
', '/
', 0, 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
', -1, 0, 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, -1, 0, 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
', 0, 0, -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
', 2, 1, 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( 'n
', 'n
', 'n
', 1, 2, 1, A, 1, B, 1, 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( 'u
', 'n
', 'n
', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
414 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
416 CALL CHKXER( 'zggsvp3', INFOT, NOUT, LERR, OK )
418 CALL ZGGSVP3( 'n
', 'v
', 'n
', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
419 $ DUMMYK, DUMMYL, U, 2, V, 1, Q, 1, IW, RW, TAU, W,
421 CALL CHKXER( 'zggsvp3', INFOT, NOUT, LERR, OK )
423 CALL ZGGSVP3( 'n
', 'n
', 'q
', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
424 $ DUMMYK, DUMMYL, U, 2, V, 2, Q, 1, IW, RW, TAU, W,
426 CALL CHKXER( 'zggsvp3', 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
', '/
', 0, 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
', -1, 0, 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, -1, 0, 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, -1, DUMMYK, DUMMYL, A, 1, 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, 0, B,
464 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
466 CALL CHKXER( 'ztgsja', INFOT, NOUT, LERR, OK )
468 CALL ZTGSJA( 'n
', 'n
', 'n
', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
469 $ 0, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
471 CALL CHKXER( 'ztgsja', INFOT, NOUT, LERR, OK )
473 CALL ZTGSJA( 'u
', 'n
', 'n
', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
474 $ 1, TOLA, TOLB, R1, R2, U, 0, V, 1, Q, 1, W,
476 CALL CHKXER( 'ztgsja', INFOT, NOUT, LERR, OK )
478 CALL ZTGSJA( 'n
', 'v
', 'n
', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
479 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 0, Q, 1, W,
481 CALL CHKXER( 'ztgsja', INFOT, NOUT, LERR, OK )
483 CALL ZTGSJA( 'n
', 'n
', 'q
', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
484 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 0, W,
486 CALL CHKXER( 'ztgsja', INFOT, NOUT, LERR, OK )
491 ELSE IF( LSAMEN( 3, PATH, 'glm
' ) ) THEN
497 CALL ZGGGLM( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
499 CALL CHKXER( 'zggglm', INFOT, NOUT, LERR, OK )
501 CALL ZGGGLM( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
503 CALL CHKXER( 'zggglm', INFOT, NOUT, LERR, OK )
505 CALL ZGGGLM( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
507 CALL CHKXER( 'zggglm', INFOT, NOUT, LERR, OK )
509 CALL ZGGGLM( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
511 CALL CHKXER( 'zggglm', INFOT, NOUT, LERR, OK )
513 CALL ZGGGLM( 1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
515 CALL CHKXER( 'zggglm', INFOT, NOUT, LERR, OK )
517 CALL ZGGGLM( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
519 CALL CHKXER( 'zggglm', INFOT, NOUT, LERR, OK )
521 CALL ZGGGLM( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
523 CALL CHKXER( 'zggglm', infot, nout, lerr, ok )
525 CALL zggglm( 1, 1, 1, a, 1, b, 1, tau, alpha, beta, w, 1,
527 CALL chkxer(
'ZGGGLM', infot, nout, lerr, ok )
532 ELSE IF( lsamen( 3, path,
'LSE' ) )
THEN
538 CALL zgglse( -1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
540 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
542 CALL zgglse( 0, -1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
544 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
546 CALL zgglse( 0, 0, -1, a, 1, b, 1, tau, alpha, beta, w, lw,
548 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
550 CALL zgglse( 0, 0, 1, a, 1, b, 1, tau, alpha, beta, w, lw,
552 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
554 CALL zgglse( 0, 1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
556 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
558 CALL zgglse( 0, 0, 0, a, 0, b, 1, tau, alpha, beta, w, lw,
560 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
562 CALL zgglse( 0, 0, 0, a, 1, b, 0, tau, alpha, beta, w, lw,
564 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
566 CALL zgglse( 1, 1, 1, a, 1, b, 1, tau, alpha, beta, w, 1,
568 CALL chkxer(
'ZGGLSE', infot, nout, lerr, ok )
573 ELSE IF( lsamen( 3, path,
'CSD' ) )
THEN
579 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
582 $ a, 1, a, 1, a, 1, a,
583 $ 1, w, lw, rw, lw, iw, info )
584 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
586 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
589 $ a, 1, a, 1, a, 1, a,
590 $ 1, w, lw, rw, lw, iw, info )
593 CALL ZUNCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
596 $ A, 1, A, 1, A, 1, A,
597 $ 1, W, LW, RW, LW, IW, INFO )
598 CALL CHKXER( 'zuncsd', INFOT, NOUT, LERR, OK )
600 CALL ZUNCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
603 $ A, 1, A, 1, A, 1, A,
604 $ 1, W, LW, RW, LW, IW, INFO )
605 CALL CHKXER( 'zuncsd', INFOT, NOUT, LERR, OK )
607 CALL ZUNCSD( 'y
', 'y
', 'y
', 'y
', 'n',
'N',
610 $ a, -1, a, 1, a, 1, a,
611 $ 1, w, lw, rw, lw, iw, info )
612 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
614 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
617 $ a, 1, a, -1, a, 1, a,
618 $ 1, w, lw, rw, lw, iw, info )
619 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
621 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
624 $ a, 1, a, 1, a, -1, a,
625 $ 1, w, lw, rw, lw, iw, info )
626 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
628 CALL zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
631 $ a, 1, a, 1, a, 1, a,
632 $ -1, w, lw, rw, lw, iw, info )
633 CALL chkxer(
'ZUNCSD', infot, nout, lerr, ok )
638 ELSE IF( lsamen( 3, path, 'gqr
' ) ) THEN
644 CALL ZGGQRF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
645 CALL CHKXER( 'zggqrf', INFOT, NOUT, LERR, OK )
647 CALL ZGGQRF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
648 CALL CHKXER( 'zggqrf', INFOT, NOUT, LERR, OK )
650 CALL ZGGQRF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
651 CALL CHKXER( 'zggqrf', INFOT, NOUT, LERR, OK )
653 CALL ZGGQRF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
654 CALL CHKXER( 'zggqrf', INFOT, NOUT, LERR, OK )
656 CALL ZGGQRF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
657 CALL CHKXER( 'zggqrf', INFOT, NOUT, LERR, OK )
659 CALL ZGGQRF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
660 CALL CHKXER( 'zggqrf', INFOT, NOUT, LERR, OK )
667 CALL ZGGRQF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
668 CALL CHKXER( 'zggrqf', INFOT, NOUT, LERR, OK )
670 CALL ZGGRQF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
671 CALL CHKXER( 'zggrqf', INFOT, NOUT, LERR, OK )
673 CALL ZGGRQF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
674 CALL CHKXER( 'zggrqf', INFOT, NOUT, LERR, OK )
676 CALL ZGGRQF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
677 CALL CHKXER( 'zggrqf', INFOT, NOUT, LERR, OK )
679 CALL ZGGRQF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
680 CALL CHKXER( 'zggrqf', INFOT, NOUT, LERR, OK )
682 CALL ZGGRQF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
683 CALL CHKXER( 'zggrqf', INFOT, NOUT, LERR, OK )
688 ELSE IF( LSAMEN( 3, PATH, 'zgs.OR.
' )
689 $ LSAMEN( 3, PATH, 'zgv.OR.
' )
690 $ LSAMEN( 3, PATH, 'zgx.OR.
' ) LSAMEN( 3, PATH, 'zxv
' ) )
697 CALL ZGGES( '/
', 'n
', 's
', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
698 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
699 CALL CHKXER( 'zgges ', INFOT, NOUT, LERR, OK )
701 CALL ZGGES( 'n
', '/
', 's
', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
702 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
703 CALL CHKXER( 'zgges ', INFOT, NOUT, LERR, OK )
705 CALL ZGGES( 'n
', 'v',
'/', zlctes, 1, a, 1, b, 1, sdim, alpha,
706 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
707 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
709 CALL zgges(
'N',
'V',
'S', zlctes, -1, a, 1, b, 1, sdim, alpha,
710 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
711 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
713 CALL zgges(
'N',
'V',
'S', zlctes, 1, a, 0, b, 1, sdim, alpha,
714 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
715 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
717 CALL zgges(
'N',
'V',
'S', zlctes, 1, a, 1, b, 0, sdim, alpha,
718 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
719 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
721 CALL zgges(
'N',
'V',
'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
722 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
723 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
725 CALL zgges(
'V',
'V',
'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
726 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
727 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
729 CALL zgges(
'N',
'V',
'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
730 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
731 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
733 CALL zgges(
'V',
'V',
'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
734 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
735 CALL chkxer(
'ZGGES ', infot, nout, lerr
737 CALL zgges(
'V',
'V',
'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
738 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
739 CALL chkxer(
'ZGGES ', infot, nout, lerr, ok )
746 CALL zgges3(
'/',
'N',
'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
747 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
748 CALL chkxer(
'ZGGES3', infot, nout, lerr, ok )
750 CALL zgges3( 'n
', '/
', 's
', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
751 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
752 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
754 CALL ZGGES3( 'n
', 'v
', '/
', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
755 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
756 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
758 CALL ZGGES3( 'n
', 'v
', 's
', ZLCTES, -1, A, 1, B, 1, SDIM,
759 $ ALPHA, BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
760 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
762 CALL ZGGES3( 'n
', 'v
', 's
', ZLCTES, 1, A, 0, B, 1, SDIM, ALPHA,
763 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
764 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
766 CALL ZGGES3( 'n
', 'v
', 's
', ZLCTES, 1, A, 1, B, 0, SDIM, ALPHA,
767 $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
768 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
770 CALL ZGGES3( 'n
', 'v
', 's
', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
771 $ BETA, Q, 0, U, 1, W, 1, RW, BW, INFO )
772 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
774 CALL ZGGES3( 'v
', 'v
', 's
', ZLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
775 $ BETA, Q, 1, U, 2, W, 1, RW, BW, INFO )
776 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
778 CALL ZGGES3( 'n
', 'v
', 's
', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
779 $ BETA, Q, 1, U, 0, W, 1, RW, BW, INFO )
780 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
782 CALL ZGGES3( 'v
', 'v
', 's
', ZLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
783 $ BETA, Q, 2, U, 1, W, 1, RW, BW, INFO )
784 CALL CHKXER( 'zgges3', INFOT, NOUT, LERR, OK )
786 CALL ZGGES3( 'v
', 'v
', 's
', ZLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
787 $ BETA, Q, 2, U, 2, W, 1, RW, BW, INFO )
788 CALL CHKXER( 'zgges3', 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( 'n
', '/
', 's
', 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
', '/
', ZLCTSX, 'n
', 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, '/
', 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, 1, 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, 0, B, 1, 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, 0, SDIM,
826 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
828 CALL CHKXER( 'zggesx', INFOT, NOUT, LERR, OK )
830 CALL ZGGESX( 'v
', 'v
', 's
', ZLCTSX, 'b
', 1, A, 1, B, 1, SDIM,
831 $ ALPHA, BETA, Q, 0, U, 1, RCE, RCV, W, 1, RW, IW,
833 CALL CHKXER( 'zggesx', INFOT, NOUT, LERR, OK )
835 CALL ZGGESX( 'v
', 'v
', 's
', ZLCTSX, 'b
', 2, A, 2, B, 2, SDIM,
836 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
838 CALL CHKXER( 'zggesx', INFOT, NOUT, LERR, OK )
840 CALL ZGGESX( 'v
', 'v
', 's
', ZLCTSX, 'b
', 1, A, 1, B, 1, SDIM,
841 $ ALPHA, BETA, Q, 1, U, 0, 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, 1, RCE, RCV, W, 1, RW, IW,
848 CALL CHKXER( 'zggesx', INFOT, NOUT, LERR, OK )
850 CALL ZGGESX( 'v
', 'v
', 's
', ZLCTSX, 'b
', 2, A, 2, B, 2, SDIM,
851 $ ALPHA, BETA, Q, 2, U, 2, RCE, RCV, W, 1, RW, IW,
853 CALL CHKXER( 'zggesx', INFOT, NOUT, LERR, OK )
855 CALL ZGGESX( 'v
', 'v
', 's
', ZLCTSX, 'v
', 1, A, 1, B, 1, SDIM,
856 $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 32, RW, IW,
858 CALL CHKXER( 'zggesx', INFOT, NOUT, LERR, OK )
865 CALL ZGGEV( '/
', 'n
', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
867 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
869 CALL ZGGEV( 'n
', '/
', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
871 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
873 CALL ZGGEV( 'v
', 'v
', -1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
875 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
877 CALL ZGGEV( 'v
', 'v
', 1, A, 0, B, 1, ALPHA, BETA, Q, 1, U, 1,
879 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
881 CALL ZGGEV( 'v
', 'v
', 1, A, 1, B, 0, ALPHA, BETA, Q, 1, U, 1,
883 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
885 CALL ZGGEV( 'n
', 'v
', 1, A, 1, B, 1, ALPHA, BETA, Q, 0, U, 1,
887 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
889 CALL ZGGEV( 'v
', 'v
', 2, A, 2, B, 2, ALPHA, BETA, Q, 1, U, 2,
891 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
893 CALL ZGGEV( 'v
', 'n
', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 0,
895 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
897 CALL ZGGEV( 'v
', 'v
', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 1,
899 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
901 CALL ZGGEV( 'v
', 'v
', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
903 CALL CHKXER( 'zggev ', INFOT, NOUT, LERR, OK )
910 CALL ZGGEV3( '/
', 'n
', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
912 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
914 CALL ZGGEV3( 'n
', '/
', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
916 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
918 CALL ZGGEV3( 'v
', 'v
', -1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
920 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
922 CALL ZGGEV3( 'v
', 'v
', 1, A, 0, B, 1, ALPHA, BETA, Q, 1, U, 1,
924 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
926 CALL ZGGEV3( 'v
', 'v
', 1, A, 1, B, 0, ALPHA, BETA, Q, 1, U, 1,
928 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
930 CALL ZGGEV3( 'n
', 'v
', 1, A, 1, B, 1, ALPHA, BETA, Q, 0, U, 1,
932 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
934 CALL ZGGEV3( 'v
', 'v
', 2, A, 2, B, 2, ALPHA, BETA, Q, 1, U, 2,
936 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
938 CALL ZGGEV3( 'v
', 'n
', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 0,
940 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
942 CALL ZGGEV3( 'v
', 'v
', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 1,
944 CALL CHKXER( 'zggev3', INFOT, NOUT, LERR, OK )
946 CALL ZGGEV3( 'v
', 'v
', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
948 CALL CHKXER( 'zggev3', 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
', '/
', 1, A, 1, B, 1, ALPHA, BETA, Q,
971 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
972 $ W, 1, RW, IW, BW, INFO )
973 CALL CHKXER( 'zggevx', INFOT, NOUT, LERR, OK )
975 CALL ZGGEVX( 'n
', 'n
', 'n
', 'n
', -1, A, 1, B, 1, ALPHA, BETA,
976 $ Q, 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE,
977 $ RCV, W, 1, RW, IW, BW, INFO )
978 CALL CHKXER( 'zggevx', INFOT, NOUT, LERR, OK )
980 CALL ZGGEVX( 'n
', 'n
', 'n
', 'n
', 1, A, 0, B, 1, 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, 0, ALPHA, BETA, Q,
986 $ 1, 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
', 'n
', 'n
', 'n
', 1, A, 1, B, 1, ALPHA, BETA, Q,
991 $ 0, U, 1, 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
', 'v
', 'n
', 'n
', 2, A, 2, B, 2, ALPHA, BETA, Q,
996 $ 1, U, 2, 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
', 'n
', 'n
', 1, A, 1, B, 1, ALPHA, BETA, Q,
1001 $ 1, U, 0, 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, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
1007 $ W, 1, RW, IW, BW, INFO )
1008 CALL CHKXER( 'zggevx', INFOT, NOUT, LERR, OK )
1010 CALL ZGGEVX( 'n
', 'n
', 'v
', 'n', 2, a, 2, b, 2, alpha, beta, q,
1011 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
1012 $ w, 0, rw, iw, bw, info )
1013 CALL chkxer(
'ZGGEVX', infot, nout, lerr, ok )
1020 CALL ztgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
1022 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1024 CALL ztgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
1026 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1028 CALL ztgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
1030 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1032 CALL ztgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1034 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1036 CALL ztgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1038 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1040 CALL ztgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1042 CALL chkxer(
'ZTGEXC', infot, nout, lerr, ok )
1044 CALL ztgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1046 CALL chkxer(
'ZTGEXC', 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, 1, 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, 0, b, 1, 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, 0, alpha,
1069 $ beta, q, 1, 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, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1076 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1078 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1079 $ beta, q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1081 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1083 CALL ztgsen( 3, .true., .true., sel, 1, a, 1, b, 1, alpha,
1084 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, -5, iw,
1086 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1088 CALL ztgsen( 0, .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( 1, .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 )
1098 CALL ztgsen( 5, .true., .true., sel, 1, a, 1, b, 1, alpha,
1099 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1101 CALL chkxer(
'ZTGSEN', infot, nout, lerr, ok )
1108 CALL ztgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1
1109 $ 1, m, w, 1, iw, info )
1110 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1112 CALL ztgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1113 $ 1, m, w, 1, iw, info )
1114 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1116 CALL ztgsna(
'B',
'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1117 $ 1, m, w, 1, iw, info )
1118 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1120 CALL ztgsna(
'B',
'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
1121 $ 1, m, w, 1, iw, info )
1122 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1124 CALL ztgsna(
'B',
'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
1125 $ 1, m, w, 1, iw, info )
1126 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1128 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1129 $ 1, m, w, 1, iw, info )
1130 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1132 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
1133 $ 1, m, w, 1, iw, info )
1134 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1136 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1137 $ 0, m, w, 1, iw, info )
1138 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1140 CALL ztgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1141 $ 1, m, w, 0, iw, info )
1142 CALL chkxer(
'ZTGSNA', infot, nout, lerr, ok )
1149 CALL ztgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1150 $ scale, dif, w, 1, iw, info )
1151 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1153 CALL ztgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1154 $ scale, dif, w, 1, iw, info )
1155 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1157 CALL ztgsyl(
'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1158 $ scale, dif, w, 1, iw, info )
1159 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1161 CALL ztgsyl(
'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1162 $ scale, dif, w, 1, iw, info )
1163 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1165 CALL ztgsyl(
'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1166 $ scale, dif, w, 1, iw, info )
1167 CALL chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1169 CALL ztgsyl( 'n
', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1,
1170 $ SCALE, DIF, W, 1, IW, INFO )
1171 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1173 CALL ZTGSYL( 'n
', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1,
1174 $ SCALE, DIF, W, 1, IW, INFO )
1175 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1177 CALL ZTGSYL( 'n
', 0, 1, 1, A, 1, B, 1, Q, 1, U, 0, V, 1, Z, 1,
1178 $ SCALE, DIF, W, 1, IW, INFO )
1179 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1181 CALL ZTGSYL( 'n
', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 0, Z, 1,
1182 $ SCALE, DIF, W, 1, IW, INFO )
1183 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1185 CALL ZTGSYL( 'n
', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 0,
1186 $ SCALE, DIF, W, 1, IW, INFO )
1187 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1189 CALL ZTGSYL( 'n
', 1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1190 $ SCALE, DIF, W, 1, IW, INFO )
1191 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1193 CALL ZTGSYL( 'n
', 2, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1194 $ SCALE, DIF, W, 1, IW, INFO )
1195 CALL CHKXER( 'ztgsyl', INFOT, NOUT, LERR, OK )
1202 WRITE( NOUT, FMT = 9999 )PATH, NT
1204 WRITE( NOUT, FMT = 9998 )PATH
1207 9999 FORMAT( 1X, A3, ' routines passed
the tests of
the error exits(
',
1208 $ I3, ' tests done)
' )
1209 9998 FORMAT( ' ***
', A3, ' routines failed
the tests of
the error
',