71 parameter( nmax = 3, lw = 6*nmax )
73 parameter( one = 1.0d+0, zero = 0.0d+0 )
77 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO,
78 $ , 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 )
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 )
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,
785 CALL chkxer(
'DGGESX', infot, nout, lerr, ok )
787CALL 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,
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
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 )
880 CALL XLAENV( 12, 20 )
882 CALL XLAENV( 14, 13 )
884 CALL XLAENV( 17, 10 )
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
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,
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,
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,
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,
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, 2
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,
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 )
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
',