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, ilo, ihi, 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 a( nmax, nmax ),
b( nmax, nmax ), ls( nmax ),
87 $ q( nmax, nmax ), r1( nmax ), r2( nmax ),
88 $ r3( nmax ), rce( 2 ), rcv( 2 ), rs( nmax ),
89 $ tau( nmax ), u( nmax, nmax ), v( nmax, nmax ),
90 $ w( lw ), z( nmax, nmax )
108 COMMON / infoc / infot, nout, ok, lerr
109 COMMON / srnamc / srnamt
114 WRITE( nout, fmt = * )
139 IF(
lsamen( 2, c2,
'GG' ) )
THEN
145 CALL
dgghrd(
'/',
'N', 0, 1, 0, a, 1,
b, 1, q, 1, z, 1, info )
146 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
148 CALL
dgghrd(
'N',
'/', 0, 1, 0, a, 1,
b, 1, q, 1, z, 1, info )
149 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
151 CALL
dgghrd(
'N',
'N', -1, 0, 0, a, 1,
b, 1, q, 1, z, 1, info )
152 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
154 CALL
dgghrd(
'N',
'N', 0, 0, 0, a, 1,
b, 1, q, 1, z, 1, info )
155 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
157 CALL
dgghrd(
'N',
'N', 0, 1, 1, a, 1,
b, 1, q, 1, z, 1, info )
158 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
160 CALL
dgghrd(
'N',
'N', 2, 1, 1, a, 1,
b, 2, q, 1, z, 1, info )
161 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
163 CALL
dgghrd(
'N',
'N', 2, 1, 1, a, 2,
b, 1, q, 1, z, 1, info )
164 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
166 CALL
dgghrd(
'V',
'N', 2, 1, 1, a, 2,
b, 2, q, 1, z, 1, info )
167 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
169 CALL
dgghrd(
'N',
'V', 2, 1, 1, a, 2,
b, 2, q, 1, z, 1, info )
170 CALL
chkxer(
'DGGHRD', infot, nout, lerr, ok )
177 CALL
dhgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1,
b, 1, r1, r2, r3, q,
178 $ 1, z, 1, w, lw, info )
179 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
181 CALL
dhgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1,
b, 1, r1, r2, r3, q,
182 $ 1, z, 1, w, lw, info )
183 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
185 CALL
dhgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1,
b, 1, r1, r2, r3, q,
186 $ 1, z, 1, w, lw, info )
187 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
189 CALL
dhgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1,
b, 1, r1, r2, r3,
190 $ q, 1, z, 1, w, lw, info )
191 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
193 CALL
dhgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1,
b, 1, r1, r2, r3, q,
194 $ 1, z, 1, w, lw, info )
195 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
197 CALL
dhgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1,
b, 1, r1, r2, r3, q,
198 $ 1, z, 1, w, lw, info )
199 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
201 CALL
dhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1,
b, 2, r1, r2, r3, q,
202 $ 1, z, 1, w, lw, info )
203 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
205 CALL
dhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2,
b, 1, r1, r2, r3, q,
206 $ 1, z, 1, w, lw, info )
207 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
209 CALL
dhgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2,
b, 2, r1, r2, r3, q,
210 $ 1, z, 1, w, lw, info )
211 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
213 CALL
dhgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2,
b, 2, r1, r2, r3, q,
214 $ 1, z, 1, w, lw, info )
215 CALL
chkxer(
'DHGEQZ', infot, nout, lerr, ok )
222 CALL
dtgevc(
'/',
'A', sel, 0, a, 1,
b, 1, q, 1, z, 1, 0, m, w,
224 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
226 CALL
dtgevc(
'R',
'/', sel, 0, a, 1,
b, 1, q, 1, z, 1, 0, m, w,
228 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
230 CALL
dtgevc(
'R',
'A', sel, -1, a, 1,
b, 1, q, 1, z, 1, 0, m,
232 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
234 CALL
dtgevc(
'R',
'A', sel, 2, a, 1,
b, 2, q, 1, z, 2, 0, m, w,
236 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
238 CALL
dtgevc(
'R',
'A', sel, 2, a, 2,
b, 1, q, 1, z, 2, 0, m, w,
240 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
242 CALL
dtgevc(
'L',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 1, 0, m, w,
244 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
246 CALL
dtgevc(
'R',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 1, 0, m, w,
248 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
250 CALL
dtgevc(
'R',
'A', sel, 2, a, 2,
b, 2, q, 1, z, 2, 1, m, w,
252 CALL
chkxer(
'DTGEVC', infot, nout, lerr, ok )
257 ELSE IF(
lsamen( 3, path,
'GSV' ) )
THEN
263 CALL
dggsvd(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
264 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
265 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
267 CALL
dggsvd(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
268 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
269 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
271 CALL
dggsvd(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1,
b,
272 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
273 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
275 CALL
dggsvd(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1,
b,
276 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
277 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
279 CALL
dggsvd(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1,
b,
280 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
281 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
283 CALL
dggsvd(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1,
b,
284 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
285 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
287 CALL
dggsvd(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1,
b,
288 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
289 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
291 CALL
dggsvd(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1,
b,
292 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
293 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
295 CALL
dggsvd(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2,
b,
296 $ 2, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
297 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
299 CALL
dggsvd(
'N',
'V',
'N', 1, 1, 2, dummyk, dummyl, a, 1,
b,
300 $ 2, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
301 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
303 CALL
dggsvd(
'N',
'N',
'Q', 1, 2, 1, dummyk, dummyl, a, 1,
b,
304 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
305 CALL
chkxer(
'DGGSVD', infot, nout, lerr, ok )
312 CALL
dggsvp(
'/',
'N',
'N', 0, 0, 0, a, 1,
b, 1, tola, tolb,
313 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
315 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
317 CALL
dggsvp(
'N',
'/',
'N', 0, 0, 0, a, 1,
b, 1, tola, tolb,
318 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
320 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
322 CALL
dggsvp(
'N',
'N',
'/', 0, 0, 0, a, 1,
b, 1, tola, tolb,
323 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
325 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
327 CALL
dggsvp(
'N',
'N',
'N', -1, 0, 0, a, 1,
b, 1, tola, tolb,
328 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
330 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
332 CALL
dggsvp(
'N',
'N',
'N', 0, -1, 0, a, 1,
b, 1, tola, tolb,
333 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
335 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
337 CALL
dggsvp(
'N',
'N',
'N', 0, 0, -1, a, 1,
b, 1, tola, tolb,
338 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
340 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
342 CALL
dggsvp(
'N',
'N',
'N', 2, 1, 1, a, 1,
b, 1, tola, tolb,
343 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
345 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
347 CALL
dggsvp(
'N',
'N',
'N', 1, 2, 1, a, 1,
b, 1, tola, tolb,
348 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
350 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
352 CALL
dggsvp(
'U',
'N',
'N', 2, 2, 2, a, 2,
b, 2, tola, tolb,
353 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
355 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
357 CALL
dggsvp(
'N',
'V',
'N', 1, 2, 1, a, 1,
b, 2, tola, tolb,
358 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
360 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
362 CALL
dggsvp(
'N',
'N',
'Q', 1, 1, 2, a, 1,
b, 1, tola, tolb,
363 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
365 CALL
chkxer(
'DGGSVP', infot, nout, lerr, ok )
372 CALL
dtgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
373 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
375 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
377 CALL
dtgsja(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
378 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
380 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
382 CALL
dtgsja(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1,
b,
383 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
385 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
387 CALL
dtgsja(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1,
b,
388 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
390 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
392 CALL
dtgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1,
b,
393 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
395 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
397 CALL
dtgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1,
b,
398 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
400 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
402 CALL
dtgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0,
b,
403 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
405 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
407 CALL
dtgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
408 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
410 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
412 CALL
dtgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
413 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
415 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
417 CALL
dtgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1,
b,
418 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
420 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
422 CALL
dtgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1,
b,
423 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
425 CALL
chkxer(
'DTGSJA', infot, nout, lerr, ok )
430 ELSE IF(
lsamen( 3, path,
'GLM' ) )
THEN
436 CALL
dggglm( -1, 0, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
437 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
439 CALL
dggglm( 0, -1, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
440 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
442 CALL
dggglm( 0, 1, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
443 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
445 CALL
dggglm( 0, 0, -1, a, 1,
b, 1, r1, r2, r3, w, lw, info )
446 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
448 CALL
dggglm( 1, 0, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
449 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
451 CALL
dggglm( 0, 0, 0, a, 0,
b, 1, r1, r2, r3, w, lw, info )
452 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
454 CALL
dggglm( 0, 0, 0, a, 1,
b, 0, r1, r2, r3, w, lw, info )
455 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
457 CALL
dggglm( 1, 1, 1, a, 1,
b, 1, r1, r2, r3, w, 1, info )
458 CALL
chkxer(
'DGGGLM', infot, nout, lerr, ok )
463 ELSE IF(
lsamen( 3, path,
'LSE' ) )
THEN
469 CALL
dgglse( -1, 0, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
470 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
472 CALL
dgglse( 0, -1, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
473 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
475 CALL
dgglse( 0, 0, -1, a, 1,
b, 1, r1, r2, r3, w, lw, info )
476 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
478 CALL
dgglse( 0, 0, 1, a, 1,
b, 1, r1, r2, r3, w, lw, info )
479 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
481 CALL
dgglse( 0, 1, 0, a, 1,
b, 1, r1, r2, r3, w, lw, info )
482 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
484 CALL
dgglse( 0, 0, 0, a, 0,
b, 1, r1, r2, r3, w, lw, info )
485 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
487 CALL
dgglse( 0, 0, 0, a, 1,
b, 0, r1, r2, r3, w, lw, info )
488 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
490 CALL
dgglse( 1, 1, 1, a, 1,
b, 1, r1, r2, r3, w, 1, info )
491 CALL
chkxer(
'DGGLSE', infot, nout, lerr, ok )
496 ELSE IF(
lsamen( 3, path,
'CSD' ) )
THEN
502 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
505 $ a, 1, a, 1, a, 1, a,
506 $ 1, w, lw, iw, info )
507 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
509 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
512 $ a, 1, a, 1, a, 1, a,
513 $ 1, w, lw, iw, info )
514 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
516 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
519 $ a, 1, a, 1, a, 1, a,
520 $ 1, w, lw, iw, info )
521 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
523 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
526 $ a, 1, a, 1, a, 1, a,
527 $ 1, w, lw, iw, info )
528 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
530 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
533 $ a, -1, a, 1, a, 1, a,
534 $ 1, w, lw, iw, info )
535 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
537 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
540 $ a, 1, a, -1, a, 1, a,
541 $ 1, w, lw, iw, info )
542 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
544 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
547 $ a, 1, a, 1, a, -1, a,
548 $ 1, w, lw, iw, info )
549 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
551 CALL
dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
554 $ a, 1, a, 1, a, 1, a,
555 $ -1, w, lw, iw, info )
556 CALL
chkxer(
'DORCSD', infot, nout, lerr, ok )
561 ELSE IF(
lsamen( 3, path,
'GQR' ) )
THEN
567 CALL
dggqrf( -1, 0, 0, a, 1, r1,
b, 1, r2, w, lw, info )
568 CALL
chkxer(
'DGGQRF', infot, nout, lerr, ok )
570 CALL
dggqrf( 0, -1, 0, a, 1, r1,
b, 1, r2, w, lw, info )
571 CALL
chkxer(
'DGGQRF', infot, nout, lerr, ok )
573 CALL
dggqrf( 0, 0, -1, a, 1, r1,
b, 1, r2, w, lw, info )
574 CALL
chkxer(
'DGGQRF', infot, nout, lerr, ok )
576 CALL
dggqrf( 0, 0, 0, a, 0, r1,
b, 1, r2, w, lw, info )
577 CALL
chkxer(
'DGGQRF', infot, nout, lerr, ok )
579 CALL
dggqrf( 0, 0, 0, a, 1, r1,
b, 0, r2, w, lw, info )
580 CALL
chkxer(
'DGGQRF', infot, nout, lerr, ok )
582 CALL
dggqrf( 1, 1, 2, a, 1, r1,
b, 1, r2, w, 1, info )
583 CALL
chkxer(
'DGGQRF', infot, nout, lerr, ok )
590 CALL
dggrqf( -1, 0, 0, a, 1, r1,
b, 1, r2, w, lw, info )
591 CALL
chkxer(
'DGGRQF', infot, nout, lerr, ok )
593 CALL
dggrqf( 0, -1, 0, a, 1, r1,
b, 1, r2, w, lw, info )
594 CALL
chkxer(
'DGGRQF', infot, nout, lerr, ok )
596 CALL
dggrqf( 0, 0, -1, a, 1, r1,
b, 1, r2, w, lw, info )
597 CALL
chkxer(
'DGGRQF', infot, nout, lerr, ok )
599 CALL
dggrqf( 0, 0, 0, a, 0, r1,
b, 1, r2, w, lw, info )
600 CALL
chkxer(
'DGGRQF', infot, nout, lerr, ok )
602 CALL
dggrqf( 0, 0, 0, a, 1, r1,
b, 0, r2, w, lw, info )
603 CALL
chkxer(
'DGGRQF', infot, nout, lerr, ok )
605 CALL
dggrqf( 1, 1, 2, a, 1, r1,
b, 1, r2, w, 1, info )
606 CALL
chkxer(
'DGGRQF', infot, nout, lerr, ok )
611 ELSE IF(
lsamen( 3, path,
'DGS' ) .OR.
612 $
lsamen( 3, path,
'DGV' ) .OR.
613 $
lsamen( 3, path,
'DGX' ) .OR.
lsamen( 3, path,
'DXV' ) )
620 CALL
dgges(
'/',
'N',
'S',
dlctes, 1, a, 1,
b, 1, sdim, r1, r2,
621 $ r3, q, 1, u, 1, w, 1, bw, info )
622 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
624 CALL
dgges(
'N',
'/',
'S',
dlctes, 1, a, 1,
b, 1, sdim, r1, r2,
625 $ r3, q, 1, u, 1, w, 1, bw, info )
626 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
628 CALL
dgges(
'N',
'V',
'/',
dlctes, 1, a, 1,
b, 1, sdim, r1, r2,
629 $ r3, q, 1, u, 1, w, 1, bw, info )
630 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
632 CALL
dgges(
'N',
'V',
'S',
dlctes, -1, a, 1,
b, 1, sdim, r1,
633 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
634 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
636 CALL
dgges(
'N',
'V',
'S',
dlctes, 1, a, 0,
b, 1, sdim, r1, r2,
637 $ r3, q, 1, u, 1, w, 1, bw, info )
638 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
640 CALL
dgges(
'N',
'V',
'S',
dlctes, 1, a, 1,
b, 0, sdim, r1, r2,
641 $ r3, q, 1, u, 1, w, 1, bw, info )
642 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
644 CALL
dgges(
'N',
'V',
'S',
dlctes, 1, a, 1,
b, 1, sdim, r1, r2,
645 $ r3, q, 0, u, 1, w, 1, bw, info )
646 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
648 CALL
dgges(
'V',
'V',
'S',
dlctes, 2, a, 2,
b, 2, sdim, r1, r2,
649 $ r3, q, 1, u, 2, w, 1, bw, info )
650 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
652 CALL
dgges(
'N',
'V',
'S',
dlctes, 1, a, 1,
b, 1, sdim, r1, r2,
653 $ r3, q, 1, u, 0, w, 1, bw, info )
654 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
656 CALL
dgges(
'V',
'V',
'S',
dlctes, 2, a, 2,
b, 2, sdim, r1, r2,
657 $ r3, q, 2, u, 1, w, 1, bw, info )
658 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
660 CALL
dgges(
'V',
'V',
'S',
dlctes, 2, a, 2,
b, 2, sdim, r1, r2,
661 $ r3, q, 2, u, 2, w, 1, bw, info )
662 CALL
chkxer(
'DGGES ', infot, nout, lerr, ok )
669 CALL
dggesx(
'/',
'N',
'S',
dlctsx,
'N', 1, a, 1,
b, 1, sdim,
670 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
672 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
674 CALL
dggesx(
'N',
'/',
'S',
dlctsx,
'N', 1, a, 1,
b, 1, sdim,
675 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
677 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
679 CALL
dggesx(
'V',
'V',
'/',
dlctsx,
'N', 1, a, 1,
b, 1, sdim,
680 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
682 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
684 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'/', 1, a, 1,
b, 1, sdim,
685 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
687 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
689 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', -1, a, 1,
b, 1, sdim,
690 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
692 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
694 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 1, a, 0,
b, 1, sdim,
695 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
697 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
699 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 1, a, 1,
b, 0, sdim,
700 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
702 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
704 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 1, a, 1,
b, 1, sdim,
705 $ r1, r2, r3, q, 0, u, 1, rce, rcv, w, 1, iw, 1, bw,
707 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
709 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 2, a, 2,
b, 2, sdim,
710 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
712 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
714 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 1, a, 1,
b, 1, sdim,
715 $ r1, r2, r3, q, 1, u, 0, rce, rcv, w, 1, iw, 1, bw,
717 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
719 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 2, a, 2,
b, 2, sdim,
720 $ r1, r2, r3, q, 2, u, 1, rce, rcv, w, 1, iw, 1, bw,
722 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
724 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'B', 2, a, 2,
b, 2, sdim,
725 $ r1, r2, r3, q, 2, u, 2, rce, rcv, w, 1, iw, 1, bw,
727 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
729 CALL
dggesx(
'V',
'V',
'S',
dlctsx,
'V', 1, a, 1,
b, 1, sdim,
730 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
732 CALL
chkxer(
'DGGESX', infot, nout, lerr, ok )
739 CALL
dggev(
'/',
'N', 1, a, 1,
b, 1, r1, r2, r3, q, 1, u, 1, w,
741 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
743 CALL
dggev(
'N',
'/', 1, a, 1,
b, 1, r1, r2, r3, q, 1, u, 1, w,
745 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
747 CALL
dggev(
'V',
'V', -1, a, 1,
b, 1, r1, r2, r3, q, 1, u, 1,
749 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
751 CALL
dggev(
'V',
'V', 1, a, 0,
b, 1, r1, r2, r3, q, 1, u, 1, w,
753 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
755 CALL
dggev(
'V',
'V', 1, a, 1,
b, 0, r1, r2, r3, q, 1, u, 1, w,
757 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
759 CALL
dggev(
'N',
'V', 1, a, 1,
b, 1, r1, r2, r3, q, 0, u, 1, w,
761 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
763 CALL
dggev(
'V',
'V', 2, a, 2,
b, 2, r1, r2, r3, q, 1, u, 2, w,
765 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
767 CALL
dggev(
'V',
'N', 2, a, 2,
b, 2, r1, r2, r3, q, 2, u, 0, w,
769 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
771 CALL
dggev(
'V',
'V', 2, a, 2,
b, 2, r1, r2, r3, q, 2, u, 1, w,
773 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
775 CALL
dggev(
'V',
'V', 1, a, 1,
b, 1, r1, r2, r3, q, 1, u, 1, w,
777 CALL
chkxer(
'DGGEV ', infot, nout, lerr, ok )
784 CALL
dggevx(
'/',
'N',
'N',
'N', 1, a, 1,
b, 1, r1, r2, r3, q,
785 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
786 $ w, 1, iw, bw, info )
787 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
789 CALL
dggevx(
'N',
'/',
'N',
'N', 1, a, 1,
b, 1, r1, r2, r3, q,
790 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
791 $ w, 1, iw, bw, info )
792 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
794 CALL
dggevx(
'N',
'N',
'/',
'N', 1, a, 1,
b, 1, r1, r2, r3, q,
795 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
796 $ w, 1, iw, bw, info )
797 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
799 CALL
dggevx(
'N',
'N',
'N',
'/', 1, a, 1,
b, 1, r1, r2, r3, q,
800 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
801 $ w, 1, iw, bw, info )
802 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
804 CALL
dggevx(
'N',
'N',
'N',
'N', -1, a, 1,
b, 1, r1, r2, r3, q,
805 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
806 $ w, 1, iw, bw, info )
807 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
809 CALL
dggevx(
'N',
'N',
'N',
'N', 1, a, 0,
b, 1, r1, r2, r3, q,
810 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
811 $ w, 1, iw, bw, info )
812 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
814 CALL
dggevx(
'N',
'N',
'N',
'N', 1, a, 1,
b, 0, r1, r2, r3, q,
815 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
816 $ w, 1, iw, bw, info )
817 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
819 CALL
dggevx(
'N',
'N',
'N',
'N', 1, a, 1,
b, 1, r1, r2, r3, q,
820 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
821 $ w, 1, iw, bw, info )
822 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
824 CALL
dggevx(
'N',
'V',
'N',
'N', 2, a, 2,
b, 2, r1, r2, r3, q,
825 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
826 $ w, 1, iw, bw, info )
827 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
829 CALL
dggevx(
'N',
'N',
'N',
'N', 1, a, 1,
b, 1, r1, r2, r3, q,
830 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
831 $ w, 1, iw, bw, info )
832 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
834 CALL
dggevx(
'N',
'N',
'V',
'N', 2, a, 2,
b, 2, r1, r2, r3, q,
835 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
836 $ w, 1, iw, bw, info )
837 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
839 CALL
dggevx(
'N',
'N',
'V',
'N', 2, a, 2,
b, 2, r1, r2, r3, q,
840 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
841 $ w, 1, iw, bw, info )
842 CALL
chkxer(
'DGGEVX', infot, nout, lerr, ok )
849 CALL
dtgexc( .true., .true., -1, a, 1,
b, 1, q, 1, z, 1, ifst,
851 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
853 CALL
dtgexc( .true., .true., 1, a, 0,
b, 1, q, 1, z, 1, ifst,
855 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
857 CALL
dtgexc( .true., .true., 1, a, 1,
b, 0, q, 1, z, 1, ifst,
859 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
861 CALL
dtgexc( .false., .true., 1, a, 1,
b, 1, q, 0, z, 1, ifst,
863 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
865 CALL
dtgexc( .true., .true., 1, a, 1,
b, 1, q, 0, z, 1, ifst,
867 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
869 CALL
dtgexc( .true., .false., 1, a, 1,
b, 1, q, 1, z, 0, ifst,
871 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
873 CALL
dtgexc( .true., .true., 1, a, 1,
b, 1, q, 1, z, 0, ifst,
875 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
877 CALL
dtgexc( .true., .true., 1, a, 1,
b, 1, q, 1, z, 1, ifst,
879 CALL
chkxer(
'DTGEXC', infot, nout, lerr, ok )
886 CALL
dtgsen( -1, .true., .true., sel, 1, a, 1,
b, 1, r1, r2,
887 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
889 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
891 CALL
dtgsen( 1, .true., .true., sel, -1, a, 1,
b, 1, r1, r2,
892 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
894 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
896 CALL
dtgsen( 1, .true., .true., sel, 1, a, 0,
b, 1, r1, r2, r3,
897 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
899 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
901 CALL
dtgsen( 1, .true., .true., sel, 1, a, 1,
b, 0, r1, r2, r3,
902 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
904 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
906 CALL
dtgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
907 $ q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
909 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
911 CALL
dtgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
912 $ q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
914 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
916 CALL
dtgsen( 0, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
917 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
919 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
921 CALL
dtgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
922 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
924 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
926 CALL
dtgsen( 2, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
927 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
929 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
931 CALL
dtgsen( 0, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
932 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
934 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
936 CALL
dtgsen( 1, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
937 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
939 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
941 CALL
dtgsen( 2, .true., .true., sel, 1, a, 1,
b, 1, r1, r2, r3,
942 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
944 CALL
chkxer(
'DTGSEN', infot, nout, lerr, ok )
951 CALL
dtgsna(
'/',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
952 $ 1, m, w, 1, iw, info )
953 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
955 CALL
dtgsna(
'B',
'/', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
956 $ 1, m, w, 1, iw, info )
957 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
959 CALL
dtgsna(
'B',
'A', sel, -1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
960 $ 1, m, w, 1, iw, info )
961 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
963 CALL
dtgsna(
'B',
'A', sel, 1, a, 0,
b, 1, q, 1, u, 1, r1, r2,
964 $ 1, m, w, 1, iw, info )
965 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
967 CALL
dtgsna(
'B',
'A', sel, 1, a, 1,
b, 0, q, 1, u, 1, r1, r2,
968 $ 1, m, w, 1, iw, info )
969 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
971 CALL
dtgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 0, u, 1, r1, r2,
972 $ 1, m, w, 1, iw, info )
973 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
975 CALL
dtgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 0, r1, r2,
976 $ 1, m, w, 1, iw, info )
977 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
979 CALL
dtgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
980 $ 0, m, w, 1, iw, info )
981 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
983 CALL
dtgsna(
'E',
'A', sel, 1, a, 1,
b, 1, q, 1, u, 1, r1, r2,
984 $ 1, m, w, 0, iw, info )
985 CALL
chkxer(
'DTGSNA', infot, nout, lerr, ok )
992 CALL
dtgsyl(
'/', 0, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
993 $ scale, dif, w, 1, iw, info )
994 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
996 CALL
dtgsyl(
'N', -1, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
997 $ scale, dif, w, 1, iw, info )
998 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1000 CALL
dtgsyl(
'N', 0, 0, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1001 $ scale, dif, w, 1, iw, info )
1002 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1004 CALL
dtgsyl(
'N', 0, 1, 0, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1005 $ scale, dif, w, 1, iw, info )
1006 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1008 CALL
dtgsyl(
'N', 0, 1, 1, a, 0,
b, 1, q, 1, u, 1, v, 1, z, 1,
1009 $ scale, dif, w, 1, iw, info )
1010 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1012 CALL
dtgsyl(
'N', 0, 1, 1, a, 1,
b, 0, q, 1, u, 1, v, 1, z, 1,
1013 $ scale, dif, w, 1, iw, info )
1014 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1016 CALL
dtgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 0, u, 1, v, 1, z, 1,
1017 $ scale, dif, w, 1, iw, info )
1018 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1020 CALL
dtgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 1, u, 0, v, 1, z, 1,
1021 $ scale, dif, w, 1, iw, info )
1022 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1024 CALL
dtgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 0, z, 1,
1025 $ scale, dif, w, 1, iw, info )
1026 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1028 CALL
dtgsyl(
'N', 0, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 0,
1029 $ scale, dif, w, 1, iw, info )
1030 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1032 CALL
dtgsyl(
'N', 1, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1033 $ scale, dif, w, 1, iw, info )
1034 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1036 CALL
dtgsyl(
'N', 2, 1, 1, a, 1,
b, 1, q, 1, u, 1, v, 1, z, 1,
1037 $ scale, dif, w, 1, iw, info )
1038 CALL
chkxer(
'DTGSYL', infot, nout, lerr, ok )
1045 WRITE( nout, fmt = 9999 )path, nt
1047 WRITE( nout, fmt = 9998 )path
1050 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1051 $ i3,
' tests done)' )
1052 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine dggesx(JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A, LDA, B, LDB, SDIM, ALPHAR, ALPHAI, BETA, VSL, LDVSL, VSR, LDVSR, RCONDE, RCONDV, WORK, LWORK, IWORK, LIWORK, BWORK, INFO)
DGGESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE...
subroutine dgges(JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB, SDIM, ALPHAR, ALPHAI, BETA, VSL, LDVSL, VSR, LDVSR, WORK, LWORK, BWORK, INFO)
DGGES computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...
subroutine dtgsna(JOB, HOWMNY, SELECT, N, A, LDA, B, LDB, VL, LDVL, VR, LDVR, S, DIF, MM, M, WORK, LWORK, IWORK, INFO)
DTGSNA
subroutine dtgsja(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)
DTGSJA
logical function dlctes(ZR, ZI, D)
DLCTES
subroutine dgghrd(COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z, LDZ, INFO)
DGGHRD
subroutine dggrqf(M, P, N, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
DGGRQF
recursive subroutine dorcsd(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, IWORK, INFO)
DORCSD
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 dggsvd(JOBU, JOBV, JOBQ, M, N, P, K, L, A, LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, IWORK, INFO)
DGGSVD computes the singular value decomposition (SVD) for OTHER matrices
subroutine derrgg(PATH, NUNIT)
DERRGG
subroutine dggglm(N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, INFO)
DGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine dhgeqz(JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHAR, ALPHAI, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, INFO)
DHGEQZ
subroutine dggqrf(N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
DGGQRF
logical function lsamen(N, CA, CB)
LSAMEN
logical function dlctsx(AR, AI, BETA)
DLCTSX
subroutine dggsvp(JOBU, JOBV, JOBQ, M, P, N, A, LDA, B, LDB, TOLA, TOLB, K, L, U, LDU, V, LDV, Q, LDQ, IWORK, TAU, WORK, INFO)
DGGSVP
subroutine dtgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, WORK, LWORK, INFO)
DTGEXC
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine dtgevc(SIDE, HOWMNY, SELECT, N, S, LDS, P, LDP, VL, LDVL, VR, LDVR, MM, M, WORK, INFO)
DTGEVC
subroutine dgglse(M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK, INFO)
DGGLSE solves overdetermined or underdetermined systems for OTHER matrices
subroutine dtgsen(IJOB, WANTQ, WANTZ, SELECT, N, A, LDA, B, LDB, ALPHAR, ALPHAI, BETA, Q, LDQ, Z, LDZ, M, PL, PR, DIF, WORK, LWORK, IWORK, LIWORK, INFO)
DTGSEN
subroutine dggev(JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR, ALPHAI, BETA, VL, LDVL, VR, LDVR, WORK, LWORK, INFO)
DGGEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine dggevx(BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, B, LDB, ALPHAR, ALPHAI, BETA, VL, LDVL, VR, LDVR, ILO, IHI, LSCALE, RSCALE, ABNRM, BBNRM, RCONDE, RCONDV, WORK, LWORK, IWORK, BWORK, INFO)
DGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine dtgsyl(TRANS, IJOB, M, N, A, LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF, SCALE, DIF, WORK, LWORK, IWORK, INFO)
DTGSYL