58 SUBROUTINE derrgg( PATH, NUNIT )
74 parameter( nmax = 3, lw = 6*nmax )
75 DOUBLE PRECISION ONE, ZERO
76 parameter( one = 1.0d+0, zero = 0.0d+0 )
80 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO,
81 $ J, M, NCYCLE, NT, SDIM, LWORK
82 DOUBLE PRECISION ANRM, BNRM, DIF, SCALE, TOLA, TOLB
85 LOGICAL BW( NMAX ), SEL( NMAX )
86 INTEGER IW( NMAX ), IDUM(NMAX)
87 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX, NMAX ), LS( NMAX ),
88 $ Q( NMAX, NMAX ), R1( NMAX ), R2( NMAX ),
89 $ R3( NMAX ), RCE( 2 ), RCV( 2 ), RS( NMAX ),
90 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
91 $ W( LW ), Z( NMAX, NMAX )
94 LOGICAL DLCTES, DLCTSX, LSAMEN
95 EXTERNAL dlctes, dlctsx, lsamen
110 COMMON / infoc / infot, nout, ok, lerr
111 COMMON / srnamc / srnamt
116 WRITE( nout, fmt = * )
142 IF( lsamen( 2, c2,
'GG' ) )
THEN
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',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
152 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
154 CALL dgghrd(
'N',
'N', -1, 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, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
158 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
160 CALL dgghrd(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
161 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
163 CALL dgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
164 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
166 CALL dgghrd(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
167 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
169 CALL dgghrd(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
170 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
172 CALL dgghrd(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
173 CALL chkxer(
'DGGHRD', infot, nout, lerr, ok )
180 CALL dgghd3(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
182 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
184 CALL dgghd3(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
186 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
188 CALL dgghd3(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
190 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
192 CALL dgghd3(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
194 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
196 CALL dgghd3(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
198 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
200 CALL dgghd3(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
202 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
204 CALL dgghd3(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
206 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
208 CALL dgghd3(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
210 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
212 CALL dgghd3(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
214 CALL chkxer(
'DGGHD3', infot, nout, lerr, ok )
221 CALL dhgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
222 $ 1, z, 1, w, lw, info )
223 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
225 CALL dhgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
226 $ 1, z, 1, w, lw, info )
227 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
229 CALL dhgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
230 $ 1, z, 1, w, lw, info )
231 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
233 CALL dhgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1, b, 1, r1, r2, r3,
234 $ q, 1, z, 1, w, lw, info )
235 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
237 CALL dhgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1, b, 1, r1, r2, r3, q,
238 $ 1, z, 1, w, lw, info )
239 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
241 CALL dhgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1, b, 1, r1, r2, r3, q,
242 $ 1, z, 1, w, lw, info )
243 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
245 CALL dhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1, b, 2, r1, r2, r3, q,
246 $ 1, z, 1, w, lw, info )
247 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
249 CALL dhgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2, b, 1, r1, r2, r3, q,
250 $ 1, z, 1, w, lw, info )
251 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
253 CALL dhgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
254 $ 1, z, 1, w, lw, info )
255 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
257 CALL dhgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
258 $ 1, z, 1, w, lw, info )
259 CALL chkxer(
'DHGEQZ', infot, nout, lerr, ok )
266 CALL dtgevc(
'/',
'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
268 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
270 CALL dtgevc(
'R',
'/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
272 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
274 CALL dtgevc(
'R',
'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
276 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
278 CALL dtgevc(
'R',
'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
280 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
282 CALL dtgevc(
'R',
'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
284 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
286 CALL dtgevc(
'L',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
288 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
290 CALL dtgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
292 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
294 CALL dtgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
296 CALL chkxer(
'DTGEVC', infot, nout, lerr, ok )
301 ELSE IF( lsamen( 3, path,
'GSV' ) )
THEN
307 CALL dggsvd3(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
308 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
309 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
311 CALL dggsvd3(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
312 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
313 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
315 CALL dggsvd3(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
316 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
317 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
319 CALL dggsvd3(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
320 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
321 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
323 CALL dggsvd3(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
324 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
325 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
327 CALL dggsvd3(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
328 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
329 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
331 CALL dggsvd3(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1, b,
332 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
333 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
335 CALL dggsvd3(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
336 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
337 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
339 CALL dggsvd3(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
340 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
341 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
343 CALL dggsvd3(
'N',
'V',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
344 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
345 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
347 CALL dggsvd3(
'N',
'N',
'Q', 1, 2, 1, dummyk, dummyl, a, 1, b,
348 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
349 CALL chkxer(
'DGGSVD3', infot, nout, lerr, ok )
356 CALL dggsvp3(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
357 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
359 CALL chkxer(
'DGGSVP3', 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',
'N', -1, 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', 0, -1, 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, 0, -1, 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', 2, 1, 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', 1, 2, 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(
'U',
'N',
'N', 2, 2, 2, a, 2, b, 2, 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(
'N',
'V',
'N', 1, 2, 1, a, 1, 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',
'N',
'Q', 1, 1, 2, a, 1, b, 1, tola, tolb,
407 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
409 CALL chkxer(
'DGGSVP3', infot, nout, lerr, ok )
416 CALL dtgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
417 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
419 CALL chkxer(
'DTGSJA', 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',
'N', -1, 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', 0, -1, 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, 0, -1, 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, 0, dummyk, dummyl, a, 0, 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, 1, b,
452 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
454 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
456 CALL dtgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
457 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
459 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
461 CALL dtgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
462 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
464 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
466 CALL dtgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
467 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
469 CALL chkxer(
'DTGSJA', infot, nout, lerr, ok )
474 ELSE IF( lsamen( 3, path,
'GLM' ) )
THEN
480 CALL dggglm( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
481 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
483 CALL dggglm( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
484 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
486 CALL dggglm( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
487 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
489 CALL dggglm( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
490 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
492 CALL dggglm( 1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
493 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
495 CALL dggglm( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
496 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
498 CALL dggglm( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
499 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
501 CALL dggglm( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
502 CALL chkxer(
'DGGGLM', infot, nout, lerr, ok )
507 ELSE IF( lsamen( 3, path,
'LSE' ) )
THEN
513 CALL dgglse( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
514 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
516 CALL dgglse( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
517 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
519 CALL dgglse( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
520 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
522 CALL dgglse( 0, 0, 1, a, 1, b, 1, r1, r2, r3, w, lw, info )
523 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
525 CALL dgglse( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
526 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
528 CALL dgglse( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
529 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
531 CALL dgglse( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
532 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
534 CALL dgglse( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
535 CALL chkxer(
'DGGLSE', infot, nout, lerr, ok )
540 ELSE IF( lsamen( 3, path,
'CSD' ) )
THEN
546 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
549 $ a, 1, a, 1, a, 1, a,
550 $ 1, w, lw, iw, info )
551 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
553 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
556 $ a, 1, a, 1, a, 1, a,
557 $ 1, w, lw, iw, info )
558 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
560 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
563 $ a, 1, a, 1, a, 1, a,
564 $ 1, w, lw, iw, info )
565 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
567 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
570 $ a, 1, a, 1, a, 1, a,
571 $ 1, w, lw, iw, info )
572 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
574 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
577 $ a, -1, a, 1, a, 1, a,
578 $ 1, w, lw, iw, info )
579 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
581 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
584 $ a, 1, a, -1, a, 1, a,
585 $ 1, w, lw, iw, info )
586 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
588 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
591 $ a, 1, a, 1, a, -1, a,
592 $ 1, w, lw, iw, info )
593 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
595 CALL dorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
598 $ a, 1, a, 1, a, 1, a,
599 $ -1, w, lw, iw, info )
600 CALL chkxer(
'DORCSD', infot, nout, lerr, ok )
605 ELSE IF( lsamen( 3, path,
'GQR' ) )
THEN
611 CALL dggqrf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
612 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
614 CALL dggqrf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
615 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
617 CALL dggqrf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
618 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
620 CALL dggqrf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
621 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
623 CALL dggqrf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
624 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
626 CALL dggqrf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
627 CALL chkxer(
'DGGQRF', infot, nout, lerr, ok )
634 CALL dggrqf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
635 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
637 CALL dggrqf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
638 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
640 CALL dggrqf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
641 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
643 CALL dggrqf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
644 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
646 CALL dggrqf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
647 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
649 CALL dggrqf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
650 CALL chkxer(
'DGGRQF', infot, nout, lerr, ok )
655 ELSE IF( lsamen( 3, path,
'DGS' ) .OR.
656 $ lsamen( 3, path,
'DGV' ) .OR.
657 $ lsamen( 3, path,
'DGX' ) .OR. lsamen( 3, path,
'DXV' ) )
664 CALL dgges(
'/',
'N',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
665 $ r3, q, 1, u, 1, w, 1, bw, info )
666 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
668 CALL dgges(
'N',
'/',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
669 $ r3, q, 1, u, 1, w, 1, bw, info )
670 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
672 CALL dgges(
'N',
'V',
'/', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
673 $ r3, q, 1, u, 1, w, 1, bw, info )
674 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
676 CALL dgges(
'N',
'V',
'S', dlctes, -1, a, 1, b, 1, sdim, r1,
677 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
678 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
680 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 0, b, 1, sdim, r1, r2,
681 $ r3, q, 1, u, 1, w, 1, bw, info )
682 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
684 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 1, b, 0, sdim, r1, r2,
685 $ r3, q, 1, u, 1, w, 1, bw, info )
686 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
688 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
689 $ r3, q, 0, u, 1, w, 1, bw, info )
690 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
692 CALL dgges(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1, r2,
693 $ r3, q, 1, u, 2, w, 1, bw, info )
694 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
696 CALL dgges(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1, r2,
697 $ r3, q, 1, u, 0, w, 1, bw, info )
698 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
700 CALL dgges(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1, r2,
701 $ r3, q, 2, u, 1, w, 1, bw, info )
702 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
704 CALL dgges(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1, r2,
705 $ r3, q, 2, u, 2, w, 1, bw, info )
706 CALL chkxer(
'DGGES ', infot, nout, lerr, ok )
713 CALL dgges3(
'/',
'N',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
714 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
715 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
717 CALL dgges3(
'N',
'/',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
718 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
719 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
721 CALL dgges3(
'N',
'V',
'/', dlctes, 1, a, 1, b, 1, sdim, r1,
722 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
723 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
725 CALL dgges3(
'N',
'V',
'S', dlctes, -1, a, 1, b, 1, sdim, r1,
726 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
727 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
729 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 0, b, 1, sdim, r1,
730 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
731 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
733 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 1, b, 0, sdim, r1,
734 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
735 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
737 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
738 $ r2, r3, q, 0, u, 1, w, 1, bw, info )
739 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
741 CALL dgges3(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1,
742 $ r2, r3, q, 1, u, 2, w, 1, bw, info )
743 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
745 CALL dgges3(
'N',
'V',
'S', dlctes, 1, a, 1, b, 1, sdim, r1,
746 $ r2, r3, q, 1, u, 0, w, 1, bw, info )
747 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
749 CALL dgges3(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1,
750 $ r2, r3, q, 2, u, 1, w, 1, bw, info )
751 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
753 CALL dgges3(
'V',
'V',
'S', dlctes, 2, a, 2, b, 2, sdim, r1,
754 $ r2, r3, q, 2, u, 2, w, 1, bw, info )
755 CALL chkxer(
'DGGES3 ', infot, nout, lerr, ok )
762 CALL dggesx(
'/',
'N',
'S', dlctsx,
'N', 1, a, 1, b, 1, sdim,
763 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
765 CALL chkxer(
'DGGESX', 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(
'V',
'V',
'/', 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',
'S', dlctsx,
'/', 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,
'B', -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, 0, 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, 1, b, 0, 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, 1, sdim,
798 $ r1, r2, r3, q, 0, 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', 2, a, 2, b, 2, sdim,
803 $ r1, r2, r3, q, 1, 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', 1, a, 1, b, 1, sdim,
808 $ r1, r2, r3, q, 1, u, 0, rce, rcv, w, 1, iw, 1, bw,
810 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
812 CALL dggesx(
'V',
'V',
'S', dlctsx,
'B', 2, a, 2, b, 2, sdim,
813 $ r1, r2, r3, q, 2, u, 1, 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, 2, rce, rcv, w, 1, iw, 1, bw,
820 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
822 CALL dggesx(
'V',
'V',
'S', dlctsx,
'V', 1, a, 1, b, 1, sdim,
823 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
825 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
832 CALL dggev(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
834 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
836 CALL dggev(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
838 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
840 CALL dggev(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
842 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
844 CALL dggev(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1, w,
846 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
848 CALL dggev(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1, w,
850 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
852 CALL dggev(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1, w,
854 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
856 CALL dggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2, w,
858 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
860 CALL dggev(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0, w,
862 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
864 CALL dggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1, w,
866 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
868 CALL dggev(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
870 CALL chkxer(
'DGGEV ', infot, nout, lerr, ok )
877 CALL dggev3(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
879 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
881 CALL dggev3(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
883 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
885 CALL dggev3(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
887 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
889 CALL dggev3(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1,
891 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
893 CALL dggev3(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1,
895 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
897 CALL dggev3(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1,
899 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
901 CALL dggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2,
903 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
905 CALL dggev3(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0,
907 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
909 CALL dggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1,
911 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
913 CALL dggev3(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
915 CALL chkxer(
'DGGEV3 ', infot, nout, lerr, ok )
922 CALL dggevx(
'/',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
923 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
924 $ w, 1, iw, bw, info )
925 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
927 CALL dggevx(
'N',
'/',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
928 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
929 $ w, 1, iw, bw, info )
930 CALL chkxer(
'DGGEVX', 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',
'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',
'N', 1, a, 0, 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, 0, 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, 1, b, 1, r1, r2, r3, q,
958 $ 0, 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',
'V',
'N',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
963 $ 1, u, 2, 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 $ 1, u, 0, 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',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
973 $ 2, u, 1, 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',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
978 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
979 $ w, 1, iw, bw, info )
980 CALL chkxer(
'DGGEVX', infot, nout, lerr, ok )
987 CALL dtgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
989 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
991 CALL dtgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
993 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
995 CALL dtgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
997 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
999 CALL dtgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1000 $ ilst, w, 1, info )
1001 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1003 CALL dtgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1004 $ ilst, w, 1, info )
1005 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1007 CALL dtgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1008 $ ilst, w, 1, info )
1009 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1011 CALL dtgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1012 $ ilst, w, 1, info )
1013 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1015 CALL dtgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 1, ifst,
1016 $ ilst, w, 0, info )
1017 CALL chkxer(
'DTGEXC', infot, nout, lerr, ok )
1024 CALL dtgsen( -1, .true., .true., sel, 1, a, 1, b, 1, r1, r2,
1025 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1027 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1029 CALL dtgsen( 1, .true., .true., sel, -1, a, 1, b, 1, r1, r2,
1030 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1032 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1034 CALL dtgsen( 1, .true., .true., sel, 1, a, 0, b, 1, r1, r2, r3,
1035 $ 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, 0, r1, r2, r3,
1040 $ 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, 1, b, 1, r1, r2, r3,
1045 $ q, 0, 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, 1, r1, r2, r3,
1050 $ q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1052 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1054 CALL dtgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1055 $ q, 1, 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, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1062 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1064 CALL dtgsen( 2, .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( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1070 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1072 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1074 CALL dtgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1075 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1077 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1079 CALL dtgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1080 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
1082 CALL chkxer(
'DTGSEN', infot, nout, lerr, ok )
1089 CALL dtgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1090 $ 1, m, w, 1, iw, info )
1091 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1093 CALL dtgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1094 $ 1, m, w, 1, iw, info )
1095 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1097 CALL dtgsna(
'B',
'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1098 $ 1, m, w, 1, iw, info )
1099 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1101 CALL dtgsna(
'B',
'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
1102 $ 1, m, w, 1, iw, info )
1103 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1105 CALL dtgsna(
'B',
'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
1106 $ 1, m, w, 1, iw, info )
1107 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1109 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1110 $ 1, m, w, 1, iw, info )
1111 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1113 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
1114 $ 1, m, w, 1, iw, info )
1115 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1117 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1118 $ 0, m, w, 1, iw, info )
1119 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1121 CALL dtgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1122 $ 1, m, w, 0, iw, info )
1123 CALL chkxer(
'DTGSNA', infot, nout, lerr, ok )
1130 CALL dtgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1131 $ scale, dif, w, 1, iw, info )
1132 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1134 CALL dtgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1135 $ scale, dif, w, 1, iw, info )
1136 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1138 CALL dtgsyl(
'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1139 $ scale, dif, w, 1, iw, info )
1140 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1142 CALL dtgsyl(
'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1143 $ scale, dif, w, 1, iw, info )
1144 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1146 CALL dtgsyl(
'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1147 $ scale, dif, w, 1, iw, info )
1148 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1150 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 0, q, 1, u, 1, v, 1, z, 1,
1151 $ scale, dif, w, 1, iw, info )
1152 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1154 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 0, u, 1, v, 1, z, 1,
1155 $ scale, dif, w, 1, iw, info )
1156 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1158 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1159 $ scale, dif, w, 1, iw, info )
1160 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1162 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1163 $ scale, dif, w, 1, iw, info )
1164 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1166 CALL dtgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1167 $ scale, dif, w, 1, iw, info )
1168 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1170 CALL dtgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1171 $ scale, dif, w, 1, iw, info )
1172 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1174 CALL dtgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1175 $ scale, dif, w, 1, iw, info )
1176 CALL chkxer(
'DTGSYL', infot, nout, lerr, ok )
1183 WRITE( nout, fmt = 9999 )path, nt
1185 WRITE( nout, fmt = 9998 )path
1188 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1189 $ i3,
' tests done)' )
1190 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',