73 parameter( nmax = 3, lw = 6*nmax )
75 parameter( one = 1.0e+0, zero = 0.0e+0 )
79 INTEGER dummyk, dummyl, i, ifst, ihi, ilo, ilst, info,
80 $
j, m, ncycle, nt, sdim
81 REAL anrm, bnrm, dif, scale, tola, tolb
84 LOGICAL bw( nmax ), sel( nmax )
86 REAL ls( nmax ), r1( nmax ), r2( nmax ),
87 $ rce( nmax ), rcv( nmax ), rs( nmax ), rw( lw )
88 COMPLEX 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
cgghrd(
'/',
'N', 0, 1, 0, a, 1,
b, 1, q, 1, z, 1, info )
147 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
149 CALL
cgghrd(
'N',
'/', 0, 1, 0, a, 1,
b, 1, q, 1, z, 1, info )
150 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
152 CALL
cgghrd(
'N',
'N', -1, 0, 0, a, 1,
b, 1, q, 1, z, 1, info )
153 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
155 CALL
cgghrd(
'N',
'N', 0, 0, 0, a, 1,
b, 1, q, 1, z, 1, info )
156 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
158 CALL
cgghrd(
'N',
'N', 0, 1, 1, a, 1,
b, 1, q, 1, z, 1, info )
159 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
161 CALL
cgghrd(
'N',
'N', 2, 1, 1, a, 1,
b, 2, q, 1, z, 1, info )
162 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
164 CALL
cgghrd(
'N',
'N', 2, 1, 1, a, 2,
b, 1, q, 1, z, 1, info )
165 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
167 CALL
cgghrd(
'V',
'N', 2, 1, 1, a, 2,
b, 2, q, 1, z, 1, info )
168 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
170 CALL
cgghrd(
'N',
'V', 2, 1, 1, a, 2,
b, 2, q, 1, z, 1, info )
171 CALL
chkxer(
'CGGHRD', infot, nout, lerr, ok )
178 CALL
chgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1,
b, 1, alpha, beta,
179 $ q, 1, z, 1, w, 1, rw, info )
180 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
182 CALL
chgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1,
b, 1, alpha, beta,
183 $ q, 1, z, 1, w, 1, rw, info )
184 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
186 CALL
chgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1,
b, 1, alpha, beta,
187 $ q, 1, z, 1, w, 1, rw, info )
188 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
190 CALL
chgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1,
b, 1, alpha, beta,
191 $ q, 1, z, 1, w, 1, rw, info )
192 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
194 CALL
chgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1,
b, 1, alpha, beta,
195 $ q, 1, z, 1, w, 1, rw, info )
196 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
198 CALL
chgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1,
b, 1, alpha, beta,
199 $ q, 1, z, 1, w, 1, rw, info )
200 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
202 CALL
chgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1,
b, 2, alpha, beta,
203 $ q, 1, z, 1, w, 1, rw, info )
204 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
206 CALL
chgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2,
b, 1, alpha, beta,
207 $ q, 1, z, 1, w, 1, rw, info )
208 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
210 CALL
chgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2,
b, 2, alpha, beta,
211 $ q, 1, z, 1, w, 1, rw, info )
212 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
214 CALL
chgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2,
b, 2, alpha, beta,
215 $ q, 1, z, 1, w, 1, rw, info )
216 CALL
chkxer(
'CHGEQZ', infot, nout, lerr, ok )
223 CALL
ctgevc(
'/',
'A', sel, 0, a, 1,
b, 1, q, 1, z, 1, 0, m, w,
225 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
227 CALL
ctgevc(
'R',
'/', sel, 0, a, 1,
b, 1, q, 1, z, 1, 0, m, w,
229 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
231 CALL
ctgevc(
'R',
'A', sel, -1, a, 1,
b, 1, q, 1, z, 1, 0, m,
233 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
235 CALL
ctgevc(
'R',
'A', sel, 2, a, 1,
b, 2, q, 1, z, 2, 0, m, w,
237 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
239 CALL
ctgevc(
'R',
'A', sel, 2, a, 2,
b, 1, q, 1, z, 2, 0, m, w,
241 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
243 CALL
ctgevc(
'L',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 1, 0, m, w,
245 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
247 CALL
ctgevc(
'R',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 1, 0, m, w,
249 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
251 CALL
ctgevc(
'R',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 2, 1, m, w,
253 CALL
chkxer(
'CTGEVC', infot, nout, lerr, ok )
258 ELSE IF(
lsamen( 3, path,
'GSV' ) )
THEN
264 CALL
cggsvd(
'/',
'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(
'CGGSVD', infot, nout, lerr, ok )
268 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
272 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
276 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
280 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
284 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
288 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
292 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
296 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
300 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
304 CALL
cggsvd(
'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(
'CGGSVD', infot, nout, lerr, ok )
313 CALL
cggsvp(
'/',
'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(
'CGGSVP', infot, nout, lerr, ok )
318 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
323 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
328 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
333 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
338 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
343 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
348 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
353 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
358 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
363 CALL
cggsvp(
'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(
'CGGSVP', infot, nout, lerr, ok )
373 CALL
ctgsja(
'/',
'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(
'CTGSJA', infot, nout, lerr, ok )
378 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
383 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
388 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
393 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
398 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
403 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
408 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
413 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
418 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
423 CALL
ctgsja(
'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(
'CTGSJA', infot, nout, lerr, ok )
431 ELSE IF(
lsamen( 3, path,
'GLM' ) )
THEN
437 CALL
cggglm( -1, 0, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
439 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
441 CALL
cggglm( 0, -1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
443 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
445 CALL
cggglm( 0, 1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
447 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
449 CALL
cggglm( 0, 0, -1, a, 1,
b, 1, tau, alpha, beta, w, lw,
451 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
453 CALL
cggglm( 1, 0, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
455 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
457 CALL
cggglm( 0, 0, 0, a, 0,
b, 1, tau, alpha, beta, w, lw,
459 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
461 CALL
cggglm( 0, 0, 0, a, 1,
b, 0, tau, alpha, beta, w, lw,
463 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
465 CALL
cggglm( 1, 1, 1, a, 1,
b, 1, tau, alpha, beta, w, 1,
467 CALL
chkxer(
'CGGGLM', infot, nout, lerr, ok )
472 ELSE IF(
lsamen( 3, path,
'LSE' ) )
THEN
478 CALL
cgglse( -1, 0, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
480 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
482 CALL
cgglse( 0, -1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
484 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
486 CALL
cgglse( 0, 0, -1, a, 1,
b, 1, tau, alpha, beta, w, lw,
488 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
490 CALL
cgglse( 0, 0, 1, a, 1,
b, 1, tau, alpha, beta, w, lw,
492 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
494 CALL
cgglse( 0, 1, 0, a, 1,
b, 1, tau, alpha, beta, w, lw,
496 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
498 CALL
cgglse( 0, 0, 0, a, 0,
b, 1, tau, alpha, beta, w, lw,
500 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
502 CALL
cgglse( 0, 0, 0, a, 1,
b, 0, tau, alpha, beta, w, lw,
504 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
506 CALL
cgglse( 1, 1, 1, a, 1,
b, 1, tau, alpha, beta, w, 1,
508 CALL
chkxer(
'CGGLSE', infot, nout, lerr, ok )
513 ELSE IF(
lsamen( 3, path,
'CSD' ) )
THEN
519 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
526 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
533 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
540 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
547 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
554 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
561 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
568 CALL
cuncsd(
'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(
'CUNCSD', infot, nout, lerr, ok )
578 ELSE IF(
lsamen( 3, path,
'GQR' ) )
THEN
584 CALL
cggqrf( -1, 0, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
585 CALL
chkxer(
'CGGQRF', infot, nout, lerr, ok )
587 CALL
cggqrf( 0, -1, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
588 CALL
chkxer(
'CGGQRF', infot, nout, lerr, ok )
590 CALL
cggqrf( 0, 0, -1, a, 1, alpha,
b, 1, beta, w, lw, info )
591 CALL
chkxer(
'CGGQRF', infot, nout, lerr, ok )
593 CALL
cggqrf( 0, 0, 0, a, 0, alpha,
b, 1, beta, w, lw, info )
594 CALL
chkxer(
'CGGQRF', infot, nout, lerr, ok )
596 CALL
cggqrf( 0, 0, 0, a, 1, alpha,
b, 0, beta, w, lw, info )
597 CALL
chkxer(
'CGGQRF', infot, nout, lerr, ok )
599 CALL
cggqrf( 1, 1, 2, a, 1, alpha,
b, 1, beta, w, 1, info )
600 CALL
chkxer(
'CGGQRF', infot, nout, lerr, ok )
607 CALL
cggrqf( -1, 0, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
608 CALL
chkxer(
'CGGRQF', infot, nout, lerr, ok )
610 CALL
cggrqf( 0, -1, 0, a, 1, alpha,
b, 1, beta, w, lw, info )
611 CALL
chkxer(
'CGGRQF', infot, nout, lerr, ok )
613 CALL
cggrqf( 0, 0, -1, a, 1, alpha,
b, 1, beta, w, lw, info )
614 CALL
chkxer(
'CGGRQF', infot, nout, lerr, ok )
616 CALL
cggrqf( 0, 0, 0, a, 0, alpha,
b, 1, beta, w, lw, info )
617 CALL
chkxer(
'CGGRQF', infot, nout, lerr, ok )
619 CALL
cggrqf( 0, 0, 0, a, 1, alpha,
b, 0, beta, w, lw, info )
620 CALL
chkxer(
'CGGRQF', infot, nout, lerr, ok )
622 CALL
cggrqf( 1, 1, 2, a, 1, alpha,
b, 1, beta, w, 1, info )
623 CALL
chkxer(
'CGGRQF', infot, nout, lerr, ok )
628 ELSE IF(
lsamen( 3, path,
'CGS' ) .OR.
629 $
lsamen( 3, path,
'CGV' ) .OR.
630 $
lsamen( 3, path,
'CGX' ) .OR.
lsamen( 3, path,
'CXV' ) )
637 CALL
cgges(
'/',
'N',
'S',
clctes, 1, a, 1,
b, 1, sdim, alpha,
638 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
639 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
641 CALL
cgges(
'N',
'/',
'S',
clctes, 1, a, 1,
b, 1, sdim, alpha,
642 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
643 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
645 CALL
cgges(
'N',
'V',
'/',
clctes, 1, a, 1,
b, 1, sdim, alpha,
646 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
647 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
649 CALL
cgges(
'N',
'V',
'S',
clctes, -1, a, 1,
b, 1, sdim, alpha,
650 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
651 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
653 CALL
cgges(
'N',
'V',
'S',
clctes, 1, a, 0,
b, 1, sdim, alpha,
654 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
655 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
657 CALL
cgges(
'N',
'V',
'S',
clctes, 1, a, 1,
b, 0, sdim, alpha,
658 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
659 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
661 CALL
cgges(
'N',
'V',
'S',
clctes, 1, a, 1,
b, 1, sdim, alpha,
662 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
663 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
665 CALL
cgges(
'V',
'V',
'S',
clctes, 2, a, 2,
b, 2, sdim, alpha,
666 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
667 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
669 CALL
cgges(
'N',
'V',
'S',
clctes, 1, a, 1,
b, 1, sdim, alpha,
670 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
671 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
673 CALL
cgges(
'V',
'V',
'S',
clctes, 2, a, 2,
b, 2, sdim, alpha,
674 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
675 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
677 CALL
cgges(
'V',
'V',
'S',
clctes, 2, a, 2,
b, 2, sdim, alpha,
678 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
679 CALL
chkxer(
'CGGES ', infot, nout, lerr, ok )
686 CALL
cggesx(
'/',
'N',
'S',
clctsx,
'N', 1, a, 1,
b, 1, sdim,
687 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
689 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
691 CALL
cggesx(
'N',
'/',
'S',
clctsx,
'N', 1, a, 1,
b, 1, sdim,
692 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
694 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
696 CALL
cggesx(
'V',
'V',
'/',
clctsx,
'N', 1, a, 1,
b, 1, sdim,
697 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
699 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
701 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'/', 1, a, 1,
b, 1, sdim,
702 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
704 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
706 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', -1, a, 1,
b, 1, sdim,
707 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
709 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
711 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 1, a, 0,
b, 1, sdim,
712 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
714 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
716 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 1, a, 1,
b, 0, sdim,
717 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
719 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
721 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 1, a, 1,
b, 1, sdim,
722 $ alpha, beta, q, 0, u, 1, rce, rcv, w, 1, rw, iw,
724 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
726 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 2, a, 2,
b, 2, sdim,
727 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
729 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
731 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 1, a, 1,
b, 1, sdim,
732 $ alpha, beta, q, 1, u, 0, rce, rcv, w, 1, rw, iw,
734 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
736 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 2, a, 2,
b, 2, sdim,
737 $ alpha, beta, q, 2, u, 1, rce, rcv, w, 1, rw, iw,
739 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
741 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'B', 2, a, 2,
b, 2, sdim,
742 $ alpha, beta, q, 2, u, 2, rce, rcv, w, 1, rw, iw,
744 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
746 CALL
cggesx(
'V',
'V',
'S',
clctsx,
'V', 1, a, 1,
b, 1, sdim,
747 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 32, rw, iw,
749 CALL
chkxer(
'CGGESX', infot, nout, lerr, ok )
756 CALL
cggev(
'/',
'N', 1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
758 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
760 CALL
cggev(
'N',
'/', 1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
762 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
764 CALL
cggev(
'V',
'V', -1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
766 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
768 CALL
cggev(
'V',
'V', 1, a, 0,
b, 1, alpha, beta, q, 1, u, 1,
770 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
772 CALL
cggev(
'V',
'V', 1, a, 1,
b, 0, alpha, beta, q, 1, u, 1,
774 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
776 CALL
cggev(
'N',
'V', 1, a, 1,
b, 1, alpha, beta, q, 0, u, 1,
778 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
780 CALL
cggev(
'V',
'V', 2, a, 2,
b, 2, alpha, beta, q, 1, u, 2,
782 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
784 CALL
cggev(
'V',
'N', 2, a, 2,
b, 2, alpha, beta, q, 2, u, 0,
786 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
788 CALL
cggev(
'V',
'V', 2, a, 2,
b, 2, alpha, beta, q, 2, u, 1,
790 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
792 CALL
cggev(
'V',
'V', 1, a, 1,
b, 1, alpha, beta, q, 1, u, 1,
794 CALL
chkxer(
'CGGEV ', infot, nout, lerr, ok )
801 CALL
cggevx(
'/',
'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(
'CGGEVX', infot, nout, lerr, ok )
806 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
811 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
816 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
821 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
826 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
831 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
836 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
841 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
846 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
851 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
856 CALL
cggevx(
'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(
'CGGEVX', infot, nout, lerr, ok )
866 CALL
ctgexc( .true., .true., -1, a, 1,
b, 1, q, 1, z, 1, ifst,
868 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
870 CALL
ctgexc( .true., .true., 1, a, 0,
b, 1, q, 1, z, 1, ifst,
872 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
874 CALL
ctgexc( .true., .true., 1, a, 1,
b, 0, q, 1, z, 1, ifst,
876 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
878 CALL
ctgexc( .false., .true., 1, a, 1,
b, 1, q, 0, z, 1, ifst,
880 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
882 CALL
ctgexc( .true., .true., 1, a, 1,
b, 1, q, 0, z, 1, ifst,
884 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
886 CALL
ctgexc( .true., .false., 1, a, 1,
b, 1, q, 1, z, 0, ifst,
888 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
890 CALL
ctgexc( .true., .true., 1, a, 1,
b, 1, q, 1, z, 0, ifst,
892 CALL
chkxer(
'CTGEXC', infot, nout, lerr, ok )
899 CALL
ctgsen( -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(
'CTGSEN', infot, nout, lerr, ok )
904 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
909 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
914 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
919 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
924 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
929 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
934 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
939 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
944 CALL
ctgsen( 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(
'CTGSEN', infot, nout, lerr, ok )
954 CALL
ctgsna(
'/',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
955 $ 1, m, w, 1, iw, info )
956 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
958 CALL
ctgsna(
'B',
'/', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
959 $ 1, m, w, 1, iw, info )
960 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
962 CALL
ctgsna(
'B',
'A', sel, -1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
963 $ 1, m, w, 1, iw, info )
964 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
966 CALL
ctgsna(
'B',
'A', sel, 1, a, 0,
b, 1, q, 1, u, 1, r1, r2,
967 $ 1, m, w, 1, iw, info )
968 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
970 CALL
ctgsna(
'B',
'A', sel, 1, a, 1,
b, 0, q, 1, u, 1, r1, r2,
971 $ 1, m, w, 1, iw, info )
972 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
974 CALL
ctgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 0, u, 1, r1, r2,
975 $ 1, m, w, 1, iw, info )
976 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
978 CALL
ctgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 0, r1, r2,
979 $ 1, m, w, 1, iw, info )
980 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
982 CALL
ctgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
983 $ 0, m, w, 1, iw, info )
984 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
986 CALL
ctgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
987 $ 1, m, w, 0, iw, info )
988 CALL
chkxer(
'CTGSNA', infot, nout, lerr, ok )
995 CALL
ctgsyl(
'/', 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(
'CTGSYL', infot, nout, lerr, ok )
999 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1003 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1007 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1011 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1015 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1019 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1023 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1027 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1031 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1035 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1039 CALL
ctgsyl(
'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(
'CTGSYL', infot, nout, lerr, ok )
1048 WRITE( nout, fmt = 9999 )path, nt
1050 WRITE( nout, fmt = 9998 )path
1053 9999
FORMAT( 1x, 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 ctgevc(SIDE, HOWMNY, SELECT, N, S, LDS, P, LDP, VL, LDVL, VR, LDVR, MM, M, WORK, RWORK, INFO)
CTGEVC
recursive subroutine cuncsd(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)
CUNCSD
subroutine cggqrf(N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
CGGQRF
subroutine ctgsna(JOB, HOWMNY, SELECT, N, A, LDA, B, LDB, VL, LDVL, VR, LDVR, S, DIF, MM, M, WORK, LWORK, IWORK, INFO)
CTGSNA
subroutine ctgsja(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)
CTGSJA
logical function clctsx(ALPHA, BETA)
CLCTSX
subroutine cggglm(N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, INFO)
CGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
logical function clctes(Z, D)
CLCTES
subroutine cerrgg(PATH, NUNIT)
CERRGG
subroutine cggrqf(M, P, N, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
CGGRQF
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine ctgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, INFO)
CTGEXC
subroutine cgglse(M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK, INFO)
CGGLSE solves overdetermined or underdetermined systems for OTHER matrices
logical function lsamen(N, CA, CB)
LSAMEN
subroutine cgghrd(COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z, LDZ, INFO)
CGGHRD
subroutine ctgsyl(TRANS, IJOB, M, N, A, LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF, SCALE, DIF, WORK, LWORK, IWORK, INFO)
CTGSYL
subroutine ctgsen(IJOB, WANTQ, WANTZ, SELECT, N, A, LDA, B, LDB, ALPHA, BETA, Q, LDQ, Z, LDZ, M, PL, PR, DIF, WORK, LWORK, IWORK, LIWORK, INFO)
CTGSEN
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine cggsvd(JOBU, JOBV, JOBQ, M, N, P, K, L, A, LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, RWORK, IWORK, INFO)
CGGSVD computes the singular value decomposition (SVD) for OTHER matrices
subroutine cggevx(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)
CGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine cgges(JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB, SDIM, ALPHA, BETA, VSL, LDVSL, VSR, LDVSR, WORK, LWORK, RWORK, BWORK, INFO)
CGGES computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...
subroutine cggev(JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHA, BETA, VL, LDVL, VR, LDVR, WORK, LWORK, RWORK, INFO)
CGGEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine cggesx(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)
CGGESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE...
subroutine chgeqz(JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHA, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, RWORK, INFO)
CHGEQZ
subroutine cggsvp(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)
CGGSVP