73 parameter( nmax = 3, lw = 6*nmax )
74 DOUBLE PRECISION one, zero
75 parameter( one = 1.0d+0, zero = 0.0d+0 )
79 INTEGER dummyk, dummyl, i, ifst, ihi, ilo, ilst, info,
80 $
j, m, ncycle, nt, sdim
81 DOUBLE PRECISION anrm, bnrm, dif, scale, tola, tolb
84 LOGICAL bw( nmax ), sel( nmax )
86 DOUBLE PRECISION ls( nmax ), r1( nmax ), r2( nmax ),
87 $ rce( nmax ), rcv( nmax ), rs( nmax ), rw( lw )
88 COMPLEX*16 a( nmax, nmax ), alpha( nmax ),
89 $
b( nmax, nmax ), beta( nmax ), q( nmax, nmax ),
90 $ tau( nmax ), u( nmax, nmax ), v( nmax, nmax ),
91 $ w( lw ), z( nmax, nmax )
109 COMMON / infoc / infot, nout, ok, lerr
110 COMMON / srnamc / srnamt
115 WRITE( nout, fmt = * )
140 IF(
lsamen( 2, c2,
'GG' ) )
THEN
146 CALL
zgghrd(
'/',
'N', 0, 1, 0, a, 1,
b, 1, q, 1, z, 1, info )
147 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
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',
'N', -1, 0, 0, a, 1,
b, 1, q, 1, z, 1, info )
153 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
155 CALL
zgghrd(
'N',
'N', 0, 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, 1, 1, a, 1,
b, 1, q, 1, z, 1, info )
159 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
161 CALL
zgghrd(
'N',
'N', 2, 1, 1, a, 1,
b, 2, q, 1, z, 1, info )
162 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
164 CALL
zgghrd(
'N',
'N', 2, 1, 1, a, 2,
b, 1, q, 1, z, 1, info )
165 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
167 CALL
zgghrd(
'V',
'N', 2, 1, 1, a, 2,
b, 2, q, 1, z, 1, info )
168 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
170 CALL
zgghrd(
'N',
'V', 2, 1, 1, a, 2,
b, 2, q, 1, z, 1, info )
171 CALL
chkxer(
'ZGGHRD', infot, nout, lerr, ok )
178 CALL
zhgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1,
b, 1, alpha, beta,
179 $ q, 1, z, 1, w, 1, rw, info )
180 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
182 CALL
zhgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1,
b, 1, alpha, beta,
183 $ q, 1, z, 1, w, 1, rw, info )
184 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
186 CALL
zhgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1,
b, 1, alpha, beta,
187 $ q, 1, z, 1, w, 1, rw, info )
188 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
190 CALL
zhgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1,
b, 1, alpha, beta,
191 $ q, 1, z, 1, w, 1, rw, info )
192 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
194 CALL
zhgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1,
b, 1, alpha, beta,
195 $ q, 1, z, 1, w, 1, rw, info )
196 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
198 CALL
zhgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1,
b, 1, alpha, beta,
199 $ q, 1, z, 1, w, 1, rw, info )
200 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
202 CALL
zhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1,
b, 2, alpha, beta,
203 $ q, 1, z, 1, w, 1, rw, info )
204 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
206 CALL
zhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2,
b, 1, alpha, beta,
207 $ q, 1, z, 1, w, 1, rw, info )
208 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
210 CALL
zhgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2,
b, 2, alpha, beta,
211 $ q, 1, z, 1, w, 1, rw, info )
212 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
214 CALL
zhgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2,
b, 2, alpha, beta,
215 $ q, 1, z, 1, w, 1, rw, info )
216 CALL
chkxer(
'ZHGEQZ', infot, nout, lerr, ok )
223 CALL
ztgevc(
'/',
'A', sel, 0, a, 1,
b, 1, q, 1, z, 1, 0, m, w,
225 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
227 CALL
ztgevc(
'R',
'/', sel, 0, a, 1,
b, 1, q, 1, z, 1, 0, m, w,
229 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
231 CALL
ztgevc(
'R',
'A', sel, -1, a, 1,
b, 1, q, 1, z, 1, 0, m,
233 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
235 CALL
ztgevc(
'R',
'A', sel, 2, a, 1,
b, 2, q, 1, z, 2, 0, m, w,
237 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
239 CALL
ztgevc(
'R',
'A', sel, 2, a, 2,
b, 1, q, 1, z, 2, 0, m, w,
241 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
243 CALL
ztgevc(
'L',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 1, 0, m, w,
245 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
247 CALL
ztgevc(
'R',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 1, 0, m, w,
249 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
251 CALL
ztgevc(
'R',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 2, 1, m, w,
253 CALL
chkxer(
'ZTGEVC', infot, nout, lerr, ok )
258 ELSE IF(
lsamen( 3, path,
'GSV' ) )
THEN
264 CALL
zggsvd(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
265 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
266 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
268 CALL
zggsvd(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
269 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
270 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
272 CALL
zggsvd(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1,
b,
273 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
274 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
276 CALL
zggsvd(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1,
b,
277 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
278 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
280 CALL
zggsvd(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1,
b,
281 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
282 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
284 CALL
zggsvd(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1,
b,
285 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
286 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
288 CALL
zggsvd(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1,
b,
289 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
290 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
292 CALL
zggsvd(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1,
b,
293 $ 1, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
294 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
296 CALL
zggsvd(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2,
b,
297 $ 2, r1, r2, u, 1, v, 1, q, 1, w, rw, iw, info )
298 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
300 CALL
zggsvd(
'N',
'V',
'N', 2, 2, 2, dummyk, dummyl, a, 2,
b,
301 $ 2, r1, r2, u, 2, v, 1, q, 1, w, rw, iw, info )
302 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
304 CALL
zggsvd(
'N',
'N',
'Q', 2, 2, 2, dummyk, dummyl, a, 2,
b,
305 $ 2, r1, r2, u, 2, v, 2, q, 1, w, rw, iw, info )
306 CALL
chkxer(
'ZGGSVD', infot, nout, lerr, ok )
313 CALL
zggsvp(
'/',
'N',
'N', 0, 0, 0, a, 1,
b, 1, tola, tolb,
314 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
316 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
318 CALL
zggsvp(
'N',
'/',
'N', 0, 0, 0, a, 1,
b, 1, tola, tolb,
319 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
321 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
323 CALL
zggsvp(
'N',
'N',
'/', 0, 0, 0, a, 1,
b, 1, tola, tolb,
324 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
326 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
328 CALL
zggsvp(
'N',
'N',
'N', -1, 0, 0, a, 1,
b, 1, tola, tolb,
329 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
331 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
333 CALL
zggsvp(
'N',
'N',
'N', 0, -1, 0, a, 1,
b, 1, tola, tolb,
334 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
336 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
338 CALL
zggsvp(
'N',
'N',
'N', 0, 0, -1, a, 1,
b, 1, tola, tolb,
339 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
341 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
343 CALL
zggsvp(
'N',
'N',
'N', 2, 1, 1, a, 1,
b, 1, tola, tolb,
344 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
346 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
348 CALL
zggsvp(
'N',
'N',
'N', 1, 2, 1, a, 1,
b, 1, tola, tolb,
349 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
351 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
353 CALL
zggsvp(
'U',
'N',
'N', 2, 2, 2, a, 2,
b, 2, tola, tolb,
354 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
356 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
358 CALL
zggsvp(
'N',
'V',
'N', 2, 2, 2, a, 2,
b, 2, tola, tolb,
359 $ dummyk, dummyl, u, 2, v, 1, q, 1, iw, rw, tau, w,
361 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
363 CALL
zggsvp(
'N',
'N',
'Q', 2, 2, 2, a, 2,
b, 2, tola, tolb,
364 $ dummyk, dummyl, u, 2, v, 2, q, 1, iw, rw, tau, w,
366 CALL
chkxer(
'ZGGSVP', infot, nout, lerr, ok )
373 CALL
ztgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
374 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
376 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
378 CALL
ztgsja(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
379 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
381 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
383 CALL
ztgsja(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1,
b,
384 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
386 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
388 CALL
ztgsja(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1,
b,
389 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
391 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
393 CALL
ztgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1,
b,
394 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
396 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
398 CALL
ztgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1,
b,
399 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
401 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
403 CALL
ztgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0,
b,
404 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
406 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
408 CALL
ztgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
409 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
411 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
413 CALL
ztgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
414 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
416 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
418 CALL
ztgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
419 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
421 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
423 CALL
ztgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1,
b,
424 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
426 CALL
chkxer(
'ZTGSJA', infot, nout, lerr, ok )
431 ELSE IF(
lsamen( 3, path,
'GLM' ) )
THEN
437 CALL
zggglm( -1, 0, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
439 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
441 CALL
zggglm( 0, -1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
443 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
445 CALL
zggglm( 0, 1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
447 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
449 CALL
zggglm( 0, 0, -1, a, 1,
b, 1, tau, alpha, beta, w, lw,
451 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
453 CALL
zggglm( 1, 0, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
455 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
457 CALL
zggglm( 0, 0, 0, a, 0,
b, 1, tau, alpha, beta, w, lw,
459 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
461 CALL
zggglm( 0, 0, 0, a, 1,
b, 0, tau, alpha, beta, w, lw,
463 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
465 CALL
zggglm( 1, 1, 1, a, 1,
b, 1, tau, alpha, beta, w, 1,
467 CALL
chkxer(
'ZGGGLM', infot, nout, lerr, ok )
472 ELSE IF(
lsamen( 3, path,
'LSE' ) )
THEN
478 CALL
zgglse( -1, 0, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
480 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
482 CALL
zgglse( 0, -1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
484 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
486 CALL
zgglse( 0, 0, -1, a, 1,
b, 1, tau, alpha, beta, w, lw,
488 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
490 CALL
zgglse( 0, 0, 1, a, 1,
b, 1, tau, alpha, beta, w, lw,
492 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
494 CALL
zgglse( 0, 1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
496 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
498 CALL
zgglse( 0, 0, 0, a, 0,
b, 1, tau, alpha, beta, w, lw,
500 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
502 CALL
zgglse( 0, 0, 0, a, 1,
b, 0, tau, alpha, beta, w, lw,
504 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
506 CALL
zgglse( 1, 1, 1, a, 1,
b, 1, tau, alpha, beta, w, 1,
508 CALL
chkxer(
'ZGGLSE', infot, nout, lerr, ok )
513 ELSE IF(
lsamen( 3, path,
'CSD' ) )
THEN
519 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
522 $ a, 1, a, 1, a, 1, a,
523 $ 1, w, lw, rw, lw, iw, info )
524 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
526 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
529 $ a, 1, a, 1, a, 1, a,
530 $ 1, w, lw, rw, lw, iw, info )
531 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
533 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
536 $ a, 1, a, 1, a, 1, a,
537 $ 1, w, lw, rw, lw, iw, info )
538 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
540 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
543 $ a, 1, a, 1, a, 1, a,
544 $ 1, w, lw, rw, lw, iw, info )
545 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
547 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
550 $ a, -1, a, 1, a, 1, a,
551 $ 1, w, lw, rw, lw, iw, info )
552 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
554 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
557 $ a, 1, a, -1, a, 1, a,
558 $ 1, w, lw, rw, lw, iw, info )
559 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
561 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
564 $ a, 1, a, 1, a, -1, a,
565 $ 1, w, lw, rw, lw, iw, info )
566 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
568 CALL
zuncsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
571 $ a, 1, a, 1, a, 1, a,
572 $ -1, w, lw, rw, lw, iw, info )
573 CALL
chkxer(
'ZUNCSD', infot, nout, lerr, ok )
578 ELSE IF(
lsamen( 3, path,
'GQR' ) )
THEN
584 CALL
zggqrf( -1, 0, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
585 CALL
chkxer(
'ZGGQRF', infot, nout, lerr, ok )
587 CALL
zggqrf( 0, -1, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
588 CALL
chkxer(
'ZGGQRF', infot, nout, lerr, ok )
590 CALL
zggqrf( 0, 0, -1, a, 1, alpha,
b, 1, beta, w, lw, info )
591 CALL
chkxer(
'ZGGQRF', infot, nout, lerr, ok )
593 CALL
zggqrf( 0, 0, 0, a, 0, alpha,
b, 1, beta, w, lw, info )
594 CALL
chkxer(
'ZGGQRF', infot, nout, lerr, ok )
596 CALL
zggqrf( 0, 0, 0, a, 1, alpha,
b, 0, beta, w, lw, info )
597 CALL
chkxer(
'ZGGQRF', infot, nout, lerr, ok )
599 CALL
zggqrf( 1, 1, 2, a, 1, alpha,
b, 1, beta, w, 1, info )
600 CALL
chkxer(
'ZGGQRF', infot, nout, lerr, ok )
607 CALL
zggrqf( -1, 0, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
608 CALL
chkxer(
'ZGGRQF', infot, nout, lerr, ok )
610 CALL
zggrqf( 0, -1, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
611 CALL
chkxer(
'ZGGRQF', infot, nout, lerr, ok )
613 CALL
zggrqf( 0, 0, -1, a, 1, alpha,
b, 1, beta, w, lw, info )
614 CALL
chkxer(
'ZGGRQF', infot, nout, lerr, ok )
616 CALL
zggrqf( 0, 0, 0, a, 0, alpha,
b, 1, beta, w, lw, info )
617 CALL
chkxer(
'ZGGRQF', infot, nout, lerr, ok )
619 CALL
zggrqf( 0, 0, 0, a, 1, alpha,
b, 0, beta, w, lw, info )
620 CALL
chkxer(
'ZGGRQF', infot, nout, lerr, ok )
622 CALL
zggrqf( 1, 1, 2, a, 1, alpha,
b, 1, beta, w, 1, info )
623 CALL
chkxer(
'ZGGRQF', infot, nout, lerr, ok )
628 ELSE IF(
lsamen( 3, path,
'ZGS' ) .OR.
629 $
lsamen( 3, path,
'ZGV' ) .OR.
630 $
lsamen( 3, path,
'ZGX' ) .OR.
lsamen( 3, path,
'ZXV' ) )
637 CALL
zgges(
'/',
'N',
'S',
zlctes, 1, a, 1,
b, 1, sdim, alpha,
638 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
639 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
641 CALL
zgges(
'N',
'/',
'S',
zlctes, 1, a, 1,
b, 1, sdim, alpha,
642 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
643 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
645 CALL
zgges(
'N',
'V',
'/',
zlctes, 1, a, 1,
b, 1, sdim, alpha,
646 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
647 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
649 CALL
zgges(
'N',
'V',
'S',
zlctes, -1, a, 1,
b, 1, sdim, alpha,
650 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
651 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
653 CALL
zgges(
'N',
'V',
'S',
zlctes, 1, a, 0,
b, 1, sdim, alpha,
654 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
655 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
657 CALL
zgges(
'N',
'V',
'S',
zlctes, 1, a, 1,
b, 0, sdim, alpha,
658 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
659 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
661 CALL
zgges(
'N',
'V',
'S',
zlctes, 1, a, 1,
b, 1, sdim, alpha,
662 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
663 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
665 CALL
zgges(
'V',
'V',
'S',
zlctes, 2, a, 2,
b, 2, sdim, alpha,
666 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
667 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
669 CALL
zgges(
'N',
'V',
'S',
zlctes, 1, a, 1,
b, 1, sdim, alpha,
670 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
671 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
673 CALL
zgges(
'V',
'V',
'S',
zlctes, 2, a, 2,
b, 2, sdim, alpha,
674 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
675 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
677 CALL
zgges(
'V',
'V',
'S',
zlctes, 2, a, 2,
b, 2, sdim, alpha,
678 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
679 CALL
chkxer(
'ZGGES ', infot, nout, lerr, ok )
686 CALL
zggesx(
'/',
'N',
'S',
zlctsx,
'N', 1, a, 1,
b, 1, sdim,
687 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
689 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
691 CALL
zggesx(
'N',
'/',
'S',
zlctsx,
'N', 1, a, 1,
b, 1, sdim,
692 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
694 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
696 CALL
zggesx(
'V',
'V',
'/',
zlctsx,
'N', 1, a, 1,
b, 1, sdim,
697 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
699 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
701 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'/', 1, a, 1,
b, 1, sdim,
702 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
704 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
706 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', -1, a, 1,
b, 1, sdim,
707 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
709 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
711 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 0,
b, 1, sdim,
712 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
714 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
716 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 1,
b, 0, sdim,
717 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
719 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
721 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 1,
b, 1, sdim,
722 $ alpha, beta, q, 0, u, 1, rce, rcv, w, 1, rw, iw,
724 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
726 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 2, a, 2,
b, 2, sdim,
727 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
729 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
731 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 1, a, 1,
b, 1, sdim,
732 $ alpha, beta, q, 1, u, 0, rce, rcv, w, 1, rw, iw,
734 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
736 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 2, a, 2,
b, 2, sdim,
737 $ alpha, beta, q, 2, u, 1, rce, rcv, w, 1, rw, iw,
739 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
741 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'B', 2, a, 2,
b, 2, sdim,
742 $ alpha, beta, q, 2, u, 2, rce, rcv, w, 1, rw, iw,
744 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
746 CALL
zggesx(
'V',
'V',
'S',
zlctsx,
'V', 1, a, 1,
b, 1, sdim,
747 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 32, rw, iw,
749 CALL
chkxer(
'ZGGESX', infot, nout, lerr, ok )
756 CALL
zggev(
'/',
'N', 1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
758 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
760 CALL
zggev(
'N',
'/', 1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
762 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
764 CALL
zggev(
'V',
'V', -1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
766 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
768 CALL
zggev(
'V',
'V', 1, a, 0,
b, 1, alpha, beta, q, 1, u, 1,
770 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
772 CALL
zggev(
'V',
'V', 1, a, 1,
b, 0, alpha, beta, q, 1, u, 1,
774 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
776 CALL
zggev(
'N',
'V', 1, a, 1,
b, 1, alpha, beta, q, 0, u, 1,
778 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
780 CALL
zggev(
'V',
'V', 2, a, 2,
b, 2, alpha, beta, q, 1, u, 2,
782 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
784 CALL
zggev(
'V',
'N', 2, a, 2,
b, 2, alpha, beta, q, 2, u, 0,
786 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
788 CALL
zggev(
'V',
'V', 2, a, 2,
b, 2, alpha, beta, q, 2, u, 1,
790 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
792 CALL
zggev(
'V',
'V', 1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
794 CALL
chkxer(
'ZGGEV ', infot, nout, lerr, ok )
801 CALL
zggevx(
'/',
'N',
'N',
'N', 1, a, 1,
b, 1, alpha, beta, q,
802 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
803 $ w, 1, rw, iw, bw, info )
804 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
806 CALL
zggevx(
'N',
'/',
'N',
'N', 1, a, 1,
b, 1, alpha, beta, q,
807 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
808 $ w, 1, rw, iw, bw, info )
809 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
811 CALL
zggevx(
'N',
'N',
'/',
'N', 1, a, 1,
b, 1, alpha, beta, q,
812 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
813 $ w, 1, rw, iw, bw, info )
814 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
816 CALL
zggevx(
'N',
'N',
'N',
'/', 1, a, 1,
b, 1, alpha, beta, q,
817 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
818 $ w, 1, rw, iw, bw, info )
819 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
821 CALL
zggevx(
'N',
'N',
'N',
'N', -1, a, 1,
b, 1, alpha, beta,
822 $ q, 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce,
823 $ rcv, w, 1, rw, iw, bw, info )
824 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
826 CALL
zggevx(
'N',
'N',
'N',
'N', 1, a, 0,
b, 1, alpha, beta, q,
827 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
828 $ w, 1, rw, iw, bw, info )
829 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
831 CALL
zggevx(
'N',
'N',
'N',
'N', 1, a, 1,
b, 0, alpha, beta, q,
832 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
833 $ w, 1, rw, iw, bw, info )
834 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
836 CALL
zggevx(
'N',
'N',
'N',
'N', 1, a, 1,
b, 1, alpha, beta, q,
837 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
838 $ w, 1, rw, iw, bw, info )
839 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
841 CALL
zggevx(
'N',
'V',
'N',
'N', 2, a, 2,
b, 2, alpha, beta, q,
842 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
843 $ w, 1, rw, iw, bw, info )
844 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
846 CALL
zggevx(
'N',
'N',
'N',
'N', 1, a, 1,
b, 1, alpha, beta, q,
847 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
848 $ w, 1, rw, iw, bw, info )
849 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
851 CALL
zggevx(
'N',
'N',
'V',
'N', 2, a, 2,
b, 2, alpha, beta, q,
852 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
853 $ w, 1, rw, iw, bw, info )
854 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
856 CALL
zggevx(
'N',
'N',
'V',
'N', 2, a, 2,
b, 2, alpha, beta, q,
857 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
858 $ w, 0, rw, iw, bw, info )
859 CALL
chkxer(
'ZGGEVX', infot, nout, lerr, ok )
866 CALL
ztgexc( .true., .true., -1, a, 1,
b, 1, q, 1, z, 1, ifst,
868 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
870 CALL
ztgexc( .true., .true., 1, a, 0,
b, 1, q, 1, z, 1, ifst,
872 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
874 CALL
ztgexc( .true., .true., 1, a, 1,
b, 0, q, 1, z, 1, ifst,
876 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
878 CALL
ztgexc( .false., .true., 1, a, 1,
b, 1, q, 0, z, 1, ifst,
880 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
882 CALL
ztgexc( .true., .true., 1, a, 1,
b, 1, q, 0, z, 1, ifst,
884 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
886 CALL
ztgexc( .true., .false., 1, a, 1,
b, 1, q, 1, z, 0, ifst,
888 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
890 CALL
ztgexc( .true., .true., 1, a, 1,
b, 1, q, 1, z, 0, ifst,
892 CALL
chkxer(
'ZTGEXC', infot, nout, lerr, ok )
899 CALL
ztgsen( -1, .true., .true., sel, 1, a, 1,
b, 1, alpha,
900 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
902 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
904 CALL
ztgsen( 1, .true., .true., sel, -1, a, 1,
b, 1, alpha,
905 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
907 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
909 CALL
ztgsen( 1, .true., .true., sel, 1, a, 0,
b, 1, alpha,
910 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
912 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
914 CALL
ztgsen( 1, .true., .true., sel, 1, a, 1,
b, 0, alpha,
915 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
917 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
919 CALL
ztgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, alpha,
920 $ beta, q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
922 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
924 CALL
ztgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, alpha,
925 $ beta, q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
927 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
929 CALL
ztgsen( 3, .true., .true., sel, 1, a, 1,
b, 1, alpha,
930 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, -5, iw,
932 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
934 CALL
ztgsen( 0, .true., .true., sel, 1, a, 1,
b, 1, alpha,
935 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
937 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
939 CALL
ztgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, alpha,
940 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
942 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
944 CALL
ztgsen( 5, .true., .true., sel, 1, a, 1,
b, 1, alpha,
945 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
947 CALL
chkxer(
'ZTGSEN', infot, nout, lerr, ok )
954 CALL
ztgsna(
'/',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
955 $ 1, m, w, 1, iw, info )
956 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
958 CALL
ztgsna(
'B',
'/', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
959 $ 1, m, w, 1, iw, info )
960 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
962 CALL
ztgsna(
'B',
'A', sel, -1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
963 $ 1, m, w, 1, iw, info )
964 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
966 CALL
ztgsna(
'B',
'A', sel, 1, a, 0,
b, 1, q, 1, u, 1, r1, r2,
967 $ 1, m, w, 1, iw, info )
968 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
970 CALL
ztgsna(
'B',
'A', sel, 1, a, 1,
b, 0, q, 1, u, 1, r1, r2,
971 $ 1, m, w, 1, iw, info )
972 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
974 CALL
ztgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 0, u, 1, r1, r2,
975 $ 1, m, w, 1, iw, info )
976 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
978 CALL
ztgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 0, r1, r2,
979 $ 1, m, w, 1, iw, info )
980 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
982 CALL
ztgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
983 $ 0, m, w, 1, iw, info )
984 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
986 CALL
ztgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
987 $ 1, m, w, 0, iw, info )
988 CALL
chkxer(
'ZTGSNA', infot, nout, lerr, ok )
995 CALL
ztgsyl(
'/', 0, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
996 $ scale, dif, w, 1, iw, info )
997 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
999 CALL
ztgsyl(
'N', -1, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1000 $ scale, dif, w, 1, iw, info )
1001 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1003 CALL
ztgsyl(
'N', 0, 0, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1004 $ scale, dif, w, 1, iw, info )
1005 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1007 CALL
ztgsyl(
'N', 0, 1, 0, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1008 $ scale, dif, w, 1, iw, info )
1009 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1011 CALL
ztgsyl(
'N', 0, 1, 1, a, 0,
b, 1, q, 1, u, 1, v, 1, z, 1,
1012 $ scale, dif, w, 1, iw, info )
1013 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1015 CALL
ztgsyl(
'N', 0, 1, 1, a, 1,
b, 0, q, 1, u, 1, v, 1, z, 1,
1016 $ scale, dif, w, 1, iw, info )
1017 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1019 CALL
ztgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 0, u, 1, v, 1, z, 1,
1020 $ scale, dif, w, 1, iw, info )
1021 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1023 CALL
ztgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 1, u, 0, v, 1, z, 1,
1024 $ scale, dif, w, 1, iw, info )
1025 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1027 CALL
ztgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 0, z, 1,
1028 $ scale, dif, w, 1, iw, info )
1029 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1031 CALL
ztgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 0,
1032 $ scale, dif, w, 1, iw, info )
1033 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1035 CALL
ztgsyl(
'N', 1, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1036 $ scale, dif, w, 1, iw, info )
1037 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1039 CALL
ztgsyl(
'N', 2, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1040 $ scale, dif, w, 1, iw, info )
1041 CALL
chkxer(
'ZTGSYL', infot, nout, lerr, ok )
1048 WRITE( nout, fmt = 9999 )path, nt
1050 WRITE( nout, fmt = 9998 )path
1053 9999
FORMAT( 1
x, a3,
' routines passed the tests of the error exits (',
1054 $ i3,
' tests done)' )
1055 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine ztgsen(IJOB, WANTQ, WANTZ, SELECT, N, A, LDA, B, LDB, ALPHA, BETA, Q, LDQ, Z, LDZ, M, PL, PR, DIF, WORK, LWORK, IWORK, LIWORK, INFO)
ZTGSEN
LOGICAL function zlctes(Z, D)
ZLCTES
LOGICAL function zlctsx(ALPHA, BETA)
ZLCTSX
subroutine zggsvp(JOBU, JOBV, JOBQ, M, P, N, A, LDA, B, LDB, TOLA, TOLB, K, L, U, LDU, V, LDV, Q, LDQ, IWORK, RWORK, TAU, WORK, INFO)
ZGGSVP
subroutine ztgsna(JOB, HOWMNY, SELECT, N, A, LDA, B, LDB, VL, LDVL, VR, LDVR, S, DIF, MM, M, WORK, LWORK, IWORK, INFO)
ZTGSNA
subroutine zggevx(BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, B, LDB, ALPHA, BETA, VL, LDVL, VR, LDVR, ILO, IHI, LSCALE, RSCALE, ABNRM, BBNRM, RCONDE, RCONDV, WORK, LWORK, RWORK, IWORK, BWORK, INFO)
ZGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine zhgeqz(JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHA, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, RWORK, INFO)
ZHGEQZ
subroutine zggglm(N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, INFO)
ZGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
recursive subroutine zuncsd(JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21, LDX21, X22, LDX22, THETA, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, WORK, LWORK, RWORK, LRWORK, IWORK, INFO)
ZUNCSD
subroutine zggqrf(N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
ZGGQRF
subroutine zerrgg(PATH, NUNIT)
ZERRGG
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zggev(JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHA, BETA, VL, LDVL, VR, LDVR, WORK, LWORK, RWORK, INFO)
ZGGEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine zggsvd(JOBU, JOBV, JOBQ, M, N, P, K, L, A, LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, RWORK, IWORK, INFO)
ZGGSVD computes the singular value decomposition (SVD) for OTHER matrices
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine zgghrd(COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z, LDZ, INFO)
ZGGHRD
subroutine ztgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, INFO)
ZTGEXC
subroutine ztgsja(JOBU, JOBV, JOBQ, M, P, N, K, L, A, LDA, B, LDB, TOLA, TOLB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, NCYCLE, INFO)
ZTGSJA
subroutine ztgsyl(TRANS, IJOB, M, N, A, LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF, SCALE, DIF, WORK, LWORK, IWORK, INFO)
ZTGSYL
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine ztgevc(SIDE, HOWMNY, SELECT, N, S, LDS, P, LDP, VL, LDVL, VR, LDVR, MM, M, WORK, RWORK, INFO)
ZTGEVC
LOGICAL function lsamen(N, CA, CB)
LSAMEN
subroutine zggesx(JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A, LDA, B, LDB, SDIM, ALPHA, BETA, VSL, LDVSL, VSR, LDVSR, RCONDE, RCONDV, WORK, LWORK, RWORK, IWORK, LIWORK, BWORK, INFO)
ZGGESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE...
subroutine zggrqf(M, P, N, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
ZGGRQF
subroutine zgglse(M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK, INFO)
ZGGLSE solves overdetermined or underdetermined systems for OTHER matrices
subroutine zgges(JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB, SDIM, ALPHA, BETA, VSL, LDVSL, VSR, LDVSR, WORK, LWORK, RWORK, BWORK, INFO)
ZGGES computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...