71 parameter( nmax = 3, lw = 6*nmax )
72 DOUBLE PRECISION ONE, ZERO
73 parameter( one = 1.0d+0, zero = 0.0d+0 )
77 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO,
78 $ J, M, NCYCLE, NT, SDIM, LWORK
79 DOUBLE PRECISION ANRM, BNRM, DIF, SCALE, TOLA, TOLB
82 LOGICAL BW( NMAX ), SEL( NMAX )
83 INTEGER IW( NMAX ), IDUM(NMAX)
84 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX, NMAX ), LS( NMAX ),
85 $ Q( NMAX, NMAX ), R1( NMAX ), R2( NMAX ),
86 $ R3( NMAX ), RCE( 2 ), RCV( 2 ), RS( NMAX ),
87 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
88 $ W( LW ), Z( NMAX, NMAX )
91 LOGICAL DLCTES, DLCTSX, LSAMEN
92 EXTERNAL dlctes, dlctsx, lsamen
107 COMMON / infoc / infot, nout, ok, lerr
108 COMMON / srnamc / srnamt
113 WRITE( nout, fmt = * )
147 IF( lsamen( 2, c2,
'GG' ) )
THEN
153 CALL dgghrd(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
154 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
156 CALL dgghrd(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
157 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
159 CALL dgghrd(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
160 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
162 CALL dgghrd(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
163 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
165 CALL dgghrd(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
166 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
168 CALL dgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
169 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
171 CALL dgghrd(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
172 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
174 CALL dgghrd(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
175 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
177 CALL dgghrd(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
178 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
185 CALL dgghd3(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
187 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
189 CALL dgghd3(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
191 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
193 CALL dgghd3(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
195 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
197 CALL dgghd3(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
199 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
201 CALL dgghd3(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
203 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
205 CALL dgghd3(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
207 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
209 CALL dgghd3(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
211 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
213 CALL dgghd3(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
215 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
217 CALL dgghd3(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
219 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
226 CALL dhgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
227 $ 1, z, 1, w, lw, info )
228 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
230 CALL dhgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
231 $ 1, z, 1, w, lw, info )
232 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
234 CALL dhgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
235 $ 1, z, 1, w, lw, info )
236 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
238 CALL dhgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1, b, 1, r1, r2, r3,
239 $ q, 1, z, 1, w, lw, info )
240 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
242 CALL dhgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1, b, 1, r1, r2, r3, q,
243 $ 1, z, 1, w, lw, info )
244 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
246 CALL dhgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1, b, 1, r1, r2, r3, q,
247 $ 1, z, 1, w, lw, info )
248 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
250 CALL dhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1, b, 2, r1, r2, r3, q,
251 $ 1, z, 1, w, lw, info )
252 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
254 CALL dhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2, b, 1, r1, r2, r3, q,
255 $ 1, z, 1, w, lw, info )
256 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
258 CALL dhgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
259 $ 1, z, 1, w, lw, info )
260 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
262 CALL dhgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
263 $ 1, z, 1, w, lw, info )
264 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
271 CALL dtgevc(
'/',
'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
273 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
275 CALL dtgevc(
'R',
'/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
277 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
279 CALL dtgevc(
'R',
'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
281 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
283 CALL dtgevc(
'R',
'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
285 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
287 CALL dtgevc(
'R',
'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
289 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
291 CALL dtgevc(
'L',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
293 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
295 CALL dtgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
297 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
299 CALL dtgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
301 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
306 ELSE IF( lsamen( 3, path,
'GSV' ) )
THEN
312 CALL dggsvd3(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
313 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
314 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
316 CALL dggsvd3(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
317 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
318 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
320 CALL dggsvd3(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
321 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
322 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
324 CALL dggsvd3(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
325 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
326 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
328 CALL dggsvd3(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
329 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
330 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
332 CALL dggsvd3(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
333 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
334 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
336 CALL dggsvd3(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1, b,
337 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
338 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
340 CALL dggsvd3(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
341 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
342 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
344 CALL dggsvd3(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
345 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
346 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
348 CALL dggsvd3(
'N',
'V',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
349 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
350 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
352 CALL dggsvd3(
'N',
'N',
'Q', 1, 2, 1, dummyk, dummyl, a, 1, b,
353 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
354 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
361 CALL dggsvp3(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
362 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
364 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
366 CALL dggsvp3(
'N',
'/',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
367 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
369 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
371 CALL dggsvp3(
'N',
'N',
'/', 0, 0, 0, a, 1, b, 1, tola, tolb,
372 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
374 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
376 CALL dggsvp3(
'N',
'N',
'N', -1, 0, 0, a, 1, b, 1, tola, tolb,
377 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
379 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
381 CALL dggsvp3(
'N',
'N',
'N', 0, -1, 0, a, 1, b, 1, tola, tolb,
382 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
384 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
386 CALL dggsvp3(
'N',
'N',
'N', 0, 0, -1, a, 1, b, 1, tola, tolb,
387 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
389 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
391 CALL dggsvp3(
'N',
'N',
'N', 2, 1, 1, a, 1, b, 1, tola, tolb,
392 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
394 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
396 CALL dggsvp3(
'N',
'N',
'N', 1, 2, 1, a, 1, b, 1, tola, tolb,
397 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
399 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
401 CALL dggsvp3(
'U',
'N',
'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
402 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
404 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
406 CALL dggsvp3(
'N',
'V',
'N', 1, 2, 1, a, 1, b, 2, tola, tolb,
407 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
409 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
411 CALL dggsvp3(
'N',
'N',
'Q', 1, 1, 2, a, 1, b, 1, tola, tolb,
412 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
414 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
421 CALL dtgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
422 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
424 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
426 CALL dtgsja(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
427 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
429 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
431 CALL dtgsja(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
432 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
434 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
436 CALL dtgsja(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
437 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
439 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
441 CALL dtgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
442 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
444 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
446 CALL dtgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
447 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
449 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
451 CALL dtgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0, b,
452 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
454 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
456 CALL dtgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
457 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
459 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
461 CALL dtgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
462 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
464 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
466 CALL dtgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
467 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
469 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
471 CALL dtgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
472 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
474 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
479 ELSE IF( lsamen( 3, path,
'GLM' ) )
THEN
485 CALL dggglm( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
486 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
488 CALL dggglm( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
489 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
491 CALL dggglm( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
492 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
494 CALL dggglm( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
495 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
497 CALL dggglm( 1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
498 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
500 CALL dggglm( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
501 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
503 CALL dggglm( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
504 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
506 CALL dggglm( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
507 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
512 ELSE IF( lsamen( 3, path,
'LSE' ) )
THEN
518 CALL dgglse( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
519 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
521 CALL dgglse( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
522 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
524 CALL dgglse( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
525 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
527 CALL dgglse( 0, 0, 1, a, 1, b, 1, r1, r2, r3, w, lw, info )
528 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
530 CALL dgglse( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
531 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
533 CALL dgglse( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
534 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
536 CALL dgglse( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
537 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
539 CALL dgglse( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
540 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
545 ELSE IF( lsamen( 3, path,
'CSD' ) )
THEN
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 )
558 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
561 $ a, 1, a, 1, a, 1, a,
562 $ 1, w, lw, iw, info )
563 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
565 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
568 $ a, 1, a, 1, a, 1, a,
569 $ 1, w, lw, iw, info )
570 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
572 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
575 $ a, 1, a, 1, a, 1, a,
576 $ 1, w, lw, iw, info )
577 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
579 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
582 $ a, -1, a, 1, a, 1, a,
583 $ 1, w, lw, iw, info )
584 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
586 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
589 $ a, 1, a, -1, a, 1, a,
590 $ 1, w, lw, iw, info )
591 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
593 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
596 $ a, 1, a, 1, a, -1, a,
597 $ 1, w, lw, iw, info )
598 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
600 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
603 $ a, 1, a, 1, a, 1, a,
604 $ -1, w, lw, iw, info )
605 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
610 ELSE IF( lsamen( 3, path,
'GQR' ) )
THEN
616 CALL dggqrf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
617 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
619 CALL dggqrf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
620 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
622 CALL dggqrf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
623 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
625 CALL dggqrf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
626 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
628 CALL dggqrf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
629 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
631 CALL dggqrf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
632 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
639 CALL dggrqf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
640 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
642 CALL dggrqf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
643 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
645 CALL dggrqf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
646 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
648 CALL dggrqf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
649 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
651 CALL dggrqf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
652 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
654 CALL dggrqf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
655 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
660 ELSE IF( lsamen( 3, path,
'DGS' ) .OR.
661 $ lsamen( 3, path,
'DGV' ) .OR.
662 $ lsamen( 3, path,
'DGX' ) .OR. lsamen( 3, path,
'DXV' ) )
669 CALL dgges(
'/',
'N',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
670 $ r3, q, 1, u, 1, w, 1, bw, info )
671 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
673 CALL dgges(
'N',
'/',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
674 $ r3, q, 1, u, 1, w, 1, bw, info )
675 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
677 CALL dgges(
'N',
'V',
'/', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
678 $ r3, q, 1, u, 1, w, 1, bw, info )
679 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
681 CALL dgges(
'N',
'V',
'S', dlctes, -1, a, 1, b, 1, sdim, r1,
682 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
683 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
685 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 0, b, 1, sdim, r1, r2,
686 $ r3, q, 1, u, 1, w, 1, bw, info )
687 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
689 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 1, b, 0, sdim, r1, r2,
690 $ r3, q, 1, u, 1, w, 1, bw, info )
691 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
693 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
694 $ r3, q, 0, u, 1, w, 1, bw, info )
695 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
697 CALL dgges(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1, r2,
698 $ r3, q, 1, u, 2, w, 1, bw, info )
699 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
701 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
702 $ r3, q, 1, u, 0, w, 1, bw, info )
703 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
705 CALL dgges(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1, r2,
706 $ r3, q, 2, u, 1, w, 1, bw, info )
707 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
709 CALL dgges(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1, r2,
710 $ r3, q, 2, u, 2, w, 1, bw, info )
711 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
718 CALL dgges3(
'/',
'N',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
719 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
720 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
722 CALL dgges3(
'N',
'/',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
723 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
724 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
726 CALL dgges3(
'N',
'V',
'/', dlctes, 1, a, 1, b, 1, sdim, r1,
727 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
728 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
730 CALL dgges3(
'N',
'V',
'S', dlctes, -1, a, 1, b, 1, sdim, r1,
731 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
732 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
734 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 0, b, 1, sdim, r1,
735 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
736 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
738 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 1, b, 0, sdim, r1,
739 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
740 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
742 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
743 $ r2, r3, q, 0, u, 1, w, 1, bw, info )
744 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
746 CALL dgges3(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1,
747 $ r2, r3, q, 1, u, 2, w, 1, bw, info )
748 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
750 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
751 $ r2, r3, q, 1, u, 0, w, 1, bw, info )
752 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
754 CALL dgges3(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1,
755 $ r2, r3, q, 2, u, 1, w, 1, bw, info )
756 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
758 CALL dgges3(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1,
759 $ r2, r3, q, 2, u, 2, w, 1, bw, info )
760 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
767 CALL dggesx(
'/',
'N',
'S', dlctsx,
'N', 1, a, 1, b, 1, sdim,
768 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
770 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
772 CALL dggesx(
'N',
'/',
'S', dlctsx,
'N', 1, a, 1, b, 1, sdim,
773 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
775 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
777 CALL dggesx(
'V',
'V',
'/', dlctsx,
'N', 1, a, 1, b, 1, sdim,
778 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
780 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
782 CALL dggesx(
'V',
'V',
'S', dlctsx,
'/', 1, a, 1, b, 1, sdim,
783 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
785 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
787 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', -1, a, 1, b, 1, sdim,
788 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
790 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
792 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 1, a, 0, b, 1, sdim,
793 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
795 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
797 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 1, a, 1, b, 0, sdim,
798 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
800 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
802 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 1, a, 1, b, 1, sdim,
803 $ r1, r2, r3, q, 0, u, 1, rce, rcv, w, 1, iw, 1, bw,
805 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
807 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 2, a, 2, b, 2, sdim,
808 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
810 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
812 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 1, a, 1, b, 1, sdim,
813 $ r1, r2, r3, q, 1, u, 0, rce, rcv, w, 1, iw, 1, bw,
815 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
817 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 2, a, 2, b, 2, sdim,
818 $ r1, r2, r3, q, 2, u, 1, rce, rcv, w, 1, iw, 1, bw,
820 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
822 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 2, a, 2, b, 2, sdim,
823 $ r1, r2, r3, q, 2, u, 2, rce, rcv, w, 1, iw, 1, bw,
825 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
827 CALL dggesx(
'V',
'V',
'S', dlctsx,
'V', 1, a, 1, b, 1, sdim,
828 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
830 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
837 CALL dggev(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
839 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
841 CALL dggev(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
843 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
845 CALL dggev(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
847 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
849 CALL dggev(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1, w,
851 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
853 CALL dggev(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1, w,
855 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
857 CALL dggev(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1, w,
859 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
861 CALL dggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2, w,
863 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
865 CALL dggev(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0, w,
867 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
869 CALL dggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1, w,
871 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
873 CALL dggev(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
875 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
887 CALL dggev3(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
889 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
891 CALL dggev3(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
893 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
895 CALL dggev3(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
897 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
899 CALL dggev3(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1,
901 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
903 CALL dggev3(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1,
905 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
907 CALL dggev3(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1,
909 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
911 CALL dggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2,
913 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
915 CALL dggev3(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0,
917 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
919 CALL dggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1,
921 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
923 CALL dggev3(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
925 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
932 CALL dggevx(
'/',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
933 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
934 $ w, 1, iw, bw, info )
935 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
937 CALL dggevx(
'N',
'/',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
938 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
939 $ w, 1, iw, bw, info )
940 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
942 CALL dggevx(
'N',
'N',
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
943 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
944 $ w, 1, iw, bw, info )
945 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
947 CALL dggevx(
'N',
'N',
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q,
948 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
949 $ w, 1, iw, bw, info )
950 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
952 CALL dggevx(
'N',
'N',
'N',
'N', -1, a, 1, b, 1, r1, r2, r3, q,
953 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
954 $ w, 1, iw, bw, info )
955 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
957 CALL dggevx(
'N',
'N',
'N',
'N', 1, a, 0, b, 1, r1, r2, r3, q,
958 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
959 $ w, 1, iw, bw, info )
960 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
962 CALL dggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 0, r1, r2, r3, q,
963 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
964 $ w, 1, iw, bw, info )
965 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
967 CALL dggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
968 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
969 $ w, 1, iw, bw, info )
970 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
972 CALL dggevx(
'N',
'V',
'N',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
973 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
974 $ w, 1, iw, bw, info )
975 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
977 CALL dggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
978 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
979 $ w, 1, iw, bw, info )
980 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
982 CALL dggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
983 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
984 $ w, 1, iw, bw, info )
985 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
987 CALL dggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
988 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
989 $ w, 1, iw, bw, info )
990 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
997 CALL dtgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
999 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1001 CALL dtgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
1002 $ ilst, w, 1, info )
1003 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1005 CALL dtgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
1006 $ ilst, w, 1, info )
1007 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1009 CALL dtgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1010 $ ilst, w, 1, info )
1011 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1013 CALL dtgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1014 $ ilst, w, 1, info )
1015 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1017 CALL dtgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1018 $ ilst, w, 1, info )
1019 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1021 CALL dtgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1022 $ ilst, w, 1, info )
1023 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1025 CALL dtgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 1, ifst,
1026 $ ilst, w, 0, info )
1027 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1034 CALL dtgsen( -1, .true., .true., sel, 1, a, 1, b, 1, r1, r2,
1035 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1037 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1039 CALL dtgsen( 1, .true., .true., sel, -1, a, 1, b, 1, r1, r2,
1040 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1042 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1044 CALL dtgsen( 1, .true., .true., sel, 1, a, 0, b, 1, r1, r2, r3,
1045 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1047 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1049 CALL dtgsen( 1, .true., .true., sel, 1, a, 1, b, 0, r1, r2, r3,
1050 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1052 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1054 CALL dtgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1055 $ q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1057 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1059 CALL dtgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1060 $ q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1062 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1064 CALL dtgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1065 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1067 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1069 CALL dtgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1070 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1072 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1074 CALL dtgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1075 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1077 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1079 CALL dtgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1080 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1082 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1084 CALL dtgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1085 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1087 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1089 CALL dtgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1090 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
1092 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1099 CALL dtgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1100 $ 1, m, w, 1, iw, info )
1101 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1103 CALL dtgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1104 $ 1, m, w, 1, iw, info )
1105 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1107 CALL dtgsna(
'B',
'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1108 $ 1, m, w, 1, iw, info )
1109 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1111 CALL dtgsna(
'B',
'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
1112 $ 1, m, w, 1, iw, info )
1113 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1115 CALL dtgsna(
'B',
'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
1116 $ 1, m, w, 1, iw, info )
1117 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1119 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1120 $ 1, m, w, 1, iw, info )
1121 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1123 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
1124 $ 1, m, w, 1, iw, info )
1125 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1127 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1128 $ 0, m, w, 1, iw, info )
1129 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1131 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1132 $ 1, m, w, 0, iw, info )
1133 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1140 CALL dtgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1141 $ scale, dif, w, 1, iw, info )
1142 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1144 CALL dtgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1145 $ scale, dif, w, 1, iw, info )
1146 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1148 CALL dtgsyl(
'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1149 $ scale, dif, w, 1, iw, info )
1150 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1152 CALL dtgsyl(
'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1153 $ scale, dif, w, 1, iw, info )
1154 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1156 CALL dtgsyl(
'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1157 $ scale, dif, w, 1, iw, info )
1158 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1160 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 0, q, 1, u, 1, v, 1, z, 1,
1161 $ scale, dif, w, 1, iw, info )
1162 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1164 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 0, u, 1, v, 1, z, 1,
1165 $ scale, dif, w, 1, iw, info )
1166 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1168 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1169 $ scale, dif, w, 1, iw, info )
1170 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1172 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1173 $ scale, dif, w, 1, iw, info )
1174 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1176 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1177 $ scale, dif, w, 1, iw, info )
1178 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1180 CALL dtgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1181 $ scale, dif, w, 1, iw, info )
1182 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1184 CALL dtgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1185 $ scale, dif, w, 1, iw, info )
1186 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1193 WRITE( nout, fmt = 9999 )path, nt
1195 WRITE( nout, fmt = 9998 )path
1198 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1199 $ i3,
' tests done)' )
1200 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',