71 parameter( nmax = 3, lw = 6*nmax )
73 parameter( one = 1.0e+0, zero = 0.0e+0 )
77 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO,
78 $ J, M, NCYCLE, NT, SDIM, LWORK
79 REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB
82 LOGICAL BW( NMAX ), SEL( NMAX )
83 INTEGER IW( NMAX ), IDUM(NMAX)
84 REAL A( NMAX, NMAX ), B( NMAX, NMAX ), LS( NMAX ),
85 $ ( 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 LSAMEN, SLCTES, SLCTSX
107 COMMON / infoc / infot, nout, ok, lerr
108 COMMON / srnamc / srnamt
113 WRITE( nout, fmt = * )
147 IF( lsamen( 2, c2,
'GG' ) )
THEN
153 CALL sgghrd(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
154 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
156 CALL sgghrd(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
157 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
159 CALL sgghrd(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
160 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
162 CALL sgghrd(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
163 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
165 CALL sgghrd(
'N',
'N', 0, 1, 1, a, 1, b, 1, q
166 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
168 CALL sgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
169 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
171 CALL sgghrd(
'N', 'n
', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, INFO )
172 CALL CHKXER( 'sgghrd', INFOT, NOUT, LERR, OK )
174 CALL SGGHRD( 'v
', 'n
', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
175 CALL CHKXER( 'sgghrd', INFOT, NOUT, LERR, OK )
177 CALL SGGHRD( 'n
', 'v
', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
178 CALL CHKXER( 'sgghrd', INFOT, NOUT, LERR, OK )
185 CALL SGGHD3( '/
', 'n
', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW,
187 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
189 CALL SGGHD3( 'n
', '/
', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW,
191 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
193 CALL SGGHD3( 'n
', 'n
', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW,
195 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
197 CALL SGGHD3( 'n
', 'n
', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW,
199 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
201 CALL SGGHD3( 'n
', 'n
', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, W, LW,
203 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
205 CALL SGGHD3( 'n
', 'n
', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, W, LW,
207 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
209 CALL SGGHD3( 'n
', 'n
', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, W, LW,
211 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
213 CALL SGGHD3( 'v
', 'n
', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, W, LW,
215 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
217 CALL SGGHD3( 'n
', 'v
', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, W, LW,
219 CALL CHKXER( 'sgghd3', INFOT, NOUT, LERR, OK )
226 CALL SHGEQZ( '/
', 'n
', 'n
', 0, 1, 0, A, 1, B, 1, R1, R2, R3, Q,
227 $ 1, Z, 1, W, LW, INFO )
228 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
230 CALL SHGEQZ( 'e
', '/
', 'n
', 0, 1, 0, A, 1, B, 1, R1, R2, R3, Q,
231 $ 1, Z, 1, W, LW, INFO )
232 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
234 CALL SHGEQZ( 'e
', 'n
', '/
', 0, 1, 0, A, 1, B, 1, R1, R2, R3, Q,
235 $ 1, Z, 1, W, LW, INFO )
236 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
238 CALL SHGEQZ( 'e
', 'n
', 'n
', -1, 0, 0, A, 1, B, 1, R1, R2, R3,
239 $ Q, 1, Z, 1, W, LW, INFO )
240 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
242 CALL SHGEQZ( 'e
', 'n
', 'n
', 0, 0, 0, A, 1, B, 1, R1, R2, R3, Q,
243 $ 1, Z, 1, W, LW, INFO )
244 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
246 CALL SHGEQZ( 'e
', 'n
', 'n
', 0, 1, 1, A, 1, B, 1, R1, R2, R3, Q,
247 $ 1, Z, 1, W, LW, INFO )
248 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
250 CALL SHGEQZ( 'e
', 'n
', 'n
', 2, 1, 1, A, 1, B, 2, R1, R2, R3, Q,
251 $ 1, Z, 1, W, LW, INFO )
252 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
254 CALL SHGEQZ( 'e
', 'n
', 'n
', 2, 1, 1, A, 2, B, 1, R1, R2, R3, Q,
255 $ 1, Z, 1, W, LW, INFO )
256 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
258 CALL SHGEQZ( 'e
', 'v
', 'n
', 2, 1, 1, A, 2, B, 2, R1, R2, R3, Q,
259 $ 1, Z, 1, W, LW, INFO )
260 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
262 CALL SHGEQZ( 'e
', 'n
', 'v
', 2, 1, 1, A, 2, B, 2, R1, R2, R3, Q,
263 $ 1, Z, 1, W, LW, INFO )
264 CALL CHKXER( 'shgeqz', INFOT, NOUT, LERR, OK )
271 CALL STGEVC( '/
', 'a
', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
273 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
275 CALL STGEVC( 'r
', '/
', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
277 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
279 CALL STGEVC( 'r
', 'a
', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M,
281 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
283 CALL STGEVC( 'r
', 'a
', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W,
285 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
287 CALL STGEVC( 'r
', 'a
', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W,
289 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
291 CALL STGEVC( 'l
', 'a
', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
293 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
295 CALL STGEVC( 'r
', 'a
', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
297 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
299 CALL STGEVC( 'r
', 'a
', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W,
301 CALL CHKXER( 'stgevc', INFOT, NOUT, LERR, OK )
306 ELSE IF( LSAMEN( 3, PATH, 'gsv
' ) ) THEN
312 CALL SGGSVD3( '/
', '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( 'sggsvd3', INFOT, NOUT, LERR, OK )
316 CALL SGGSVD3( '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(
'SGGSVD3', infot, nout, lerr, ok )
320 CALL sggsvd3(
'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(
'SGGSVD3', infot, nout, lerr, ok )
324 CALL sggsvd3(
'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(
'SGGSVD3', infot, nout, lerr, ok )
328 CALL sggsvd3(
'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(
'SGGSVD3', infot, nout, lerr, ok )
332 CALL sggsvd3(
'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 )
336 CALL SGGSVD3( '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( 'sggsvd3', INFOT, NOUT, LERR, OK )
340 CALL SGGSVD3( '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( 'sggsvd3', INFOT, NOUT, LERR, OK )
344 CALL SGGSVD3( '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( 'sggsvd3', INFOT, NOUT, LERR, OK )
348 CALL SGGSVD3( '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( 'sggsvd3', INFOT, NOUT, LERR, OK )
352 CALL SGGSVD3( '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( 'sggsvd3', INFOT, NOUT, LERR, OK )
361 CALL SGGSVP3( '/
', '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
366 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
371 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
376 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
381 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
386 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
391 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
396 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
401 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
406 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
411 CALL SGGSVP3( '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( 'sggsvp3', INFOT, NOUT, LERR, OK )
421 CALL STGSJA( '/
', '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( 'stgsja', INFOT, NOUT, LERR, OK )
426 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
431 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
436 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
441 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
446 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
451 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
456 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
461 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
466 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
471 CALL STGSJA( '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( 'stgsja', INFOT, NOUT, LERR, OK )
479 ELSE IF( LSAMEN( 3, PATH, 'glm
' ) ) THEN
485 CALL SGGGLM( -1, 0, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
486 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
488 CALL SGGGLM( 0, -1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
489 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
491 CALL SGGGLM( 0, 1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
492 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
494 CALL SGGGLM( 0, 0, -1, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
495 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
497 CALL SGGGLM( 1, 0, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
498 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
500 CALL SGGGLM( 0, 0, 0, A, 0, B, 1, R1, R2, R3, W, LW, INFO )
501 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
503 CALL SGGGLM( 0, 0, 0, A, 1, B, 0, R1, R2, R3, W, LW, INFO )
504 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
506 CALL SGGGLM( 1, 1, 1, A, 1, B, 1, R1, R2, R3, W, 1, INFO )
507 CALL CHKXER( 'sggglm', INFOT, NOUT, LERR, OK )
512 ELSE IF( LSAMEN( 3, PATH, 'lse' ) ) THEN
518 CALL SGGLSE( -1, 0, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
519 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
521 CALL SGGLSE( 0, -1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
522 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
524 CALL SGGLSE( 0, 0, -1, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
525 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
527 CALL SGGLSE( 0, 0, 1, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
528 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
530 CALL SGGLSE( 0, 1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO )
531 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
533 CALL SGGLSE( 0, 0, 0, A, 0, B, 1, R1, R2, R3, W, LW, INFO )
534 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
536 CALL SGGLSE( 0, 0, 0, A, 1, B, 0, R1, R2, R3, W, LW, INFO )
537 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
539 CALL SGGLSE( 1, 1, 1, A, 1, B, 1, R1, R2, R3, W, 1, INFO )
540 CALL CHKXER( 'sgglse', INFOT, NOUT, LERR, OK )
545 ELSE IF( LSAMEN( 3, PATH, 'csd
' ) ) THEN
551 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
554 $ A, 1, A, 1, A, 1, A,
555 $ 1, W, LW, IW, INFO )
556 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
558 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
561 $ A, 1, A, 1, A, 1, A,
562 $ 1, W, LW, IW, INFO )
563 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
565 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
568 $ A, 1, A, 1, A, 1, A,
569 $ 1, W, LW, IW, INFO )
570 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
572 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
575 $ A, 1, A, 1, A, 1, A,
576 $ 1, W, LW, IW, INFO )
577 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
579 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
582 $ A, -1, A, 1, A, 1, A,
583 $ 1, W, LW, IW, INFO )
584 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
586 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
589 $ A, 1, A, -1, A, 1, A,
590 $ 1, W, LW, IW, INFO )
591 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
593 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
596 $ A, 1, A, 1, A, -1, A,
597 $ 1, W, LW, IW, INFO )
598 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
600 CALL SORCSD( 'y
', 'y
', 'y
', 'y
', 'n
', 'n
',
603 $ A, 1, A, 1, A, 1, A,
604 $ -1, W, LW, IW, INFO )
605 CALL CHKXER( 'sorcsd', INFOT, NOUT, LERR, OK )
610 ELSE IF( LSAMEN( 3, PATH, 'gqr
' ) ) THEN
616 CALL SGGQRF( -1, 0, 0, A, 1, R1, B, 1, R2, W, LW, INFO )
617 CALL CHKXER( 'sggqrf', INFOT, NOUT, LERR, OK )
619 CALL SGGQRF( 0, -1, 0, A, 1, R1, B, 1, R2, W, LW, INFO )
620 CALL CHKXER( 'sggqrf', INFOT, NOUT, LERR, OK )
622 CALL SGGQRF( 0, 0, -1, A, 1, R1, B, 1, R2, W, LW, INFO )
623 CALL CHKXER( 'sggqrf', INFOT, NOUT, LERR, OK )
625 CALL SGGQRF( 0, 0, 0, A, 0, R1, B, 1, R2, W, LW, INFO )
626 CALL CHKXER( 'sggqrf', INFOT, NOUT, LERR, OK )
628 CALL SGGQRF( 0, 0, 0, A, 1, R1, B, 0, R2, W, LW, INFO )
629 CALL CHKXER( 'sggqrf', INFOT, NOUT, LERR, OK )
631 CALL SGGQRF( 1, 1, 2, A, 1, R1, B, 1, R2, W, 1, INFO )
632 CALL CHKXER( 'sggqrf', INFOT, NOUT, LERR, OK )
639 CALL SGGRQF( -1, 0, 0, A, 1, R1, B, 1, R2, W, LW, INFO )
640 CALL CHKXER( 'sggrqf', INFOT, NOUT, LERR, OK )
642 CALL SGGRQF( 0, -1, 0, A, 1, R1, B, 1, R2, W, LW, INFO )
643 CALL CHKXER( 'sggrqf', INFOT, NOUT, LERR, OK )
645 CALL SGGRQF( 0, 0, -1, A, 1, R1, B, 1, R2, W, LW, INFO )
646 CALL CHKXER( 'sggrqf', INFOT, NOUT, LERR, OK )
648 CALL SGGRQF( 0, 0, 0, A, 0, R1, B, 1, R2, W, LW, INFO )
649 CALL CHKXER( 'sggrqf', INFOT, NOUT, LERR, OK )
651 CALL SGGRQF( 0, 0, 0, A, 1, R1, B, 0, R2, W, LW, INFO )
652 CALL CHKXER( 'sggrqf', INFOT, NOUT, LERR, OK )
654 CALL SGGRQF( 1, 1, 2, A, 1, R1, B, 1, R2, W, 1, INFO )
655 CALL CHKXER( 'sggrqf', INFOT, NOUT, LERR, OK )
660 ELSE IF( LSAMEN( 3, PATH, 'sgs.OR.
' )
661 $ LSAMEN( 3, PATH, 'sgv.OR.
' )
662 $ LSAMEN( 3, PATH, 'sgx.OR.
' ) LSAMEN( 3, PATH, 'sxv
' ) )
669 CALL SGGES( '/
', 'n
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2,
670 $ R3, Q, 1, U, 1, W, 1, BW, INFO )
671 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
673 CALL SGGES( 'n
', '/
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2,
674 $ R3, Q, 1, U, 1, W, 1, BW, INFO )
675 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
677 CALL SGGES( 'n
', 'v
', '/
', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2,
678 $ R3, Q, 1, U, 1, W, 1, BW, INFO )
679 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
681 CALL SGGES( 'n
', 'v
', 's
', SLCTES, -1, A, 1, B, 1, SDIM, R1,
682 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
683 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
685 CALL SGGES( 'n
', 'v
', 's
', SLCTES, 1, A, 0, B, 1, SDIM, R1, R2,
686 $ R3, Q, 1, U, 1, W, 1, BW, INFO )
687 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
689 CALL SGGES( 'n
', 'v
', 's
', SLCTES, 1, A, 1, B, 0, SDIM, R1, R2,
690 $ R3, Q, 1, U, 1, W, 1, BW, INFO )
691 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
693 CALL SGGES( 'n
', 'v
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2,
694 $ R3, Q, 0, U, 1, W, 1, BW, INFO )
695 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
697 CALL SGGES( 'v
', 'v
', 's
', SLCTES, 2, A, 2, B, 2, SDIM, R1, R2,
698 $ R3, Q, 1, U, 2, W, 1, BW, INFO )
699 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
701 CALL SGGES( 'n
', 'v
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2,
702 $ R3, Q, 1, U, 0, W, 1, BW, INFO )
703 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
705 CALL SGGES( 'v
', 'v
', 's
', SLCTES, 2, A, 2, B, 2, SDIM, R1, R2,
706 $ R3, Q, 2, U, 1, W, 1, BW, INFO )
707 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
709 CALL SGGES( 'v
', 'v
', 's
', SLCTES, 2, A, 2, B, 2, SDIM, R1, R2,
710 $ R3, Q, 2, U, 2, W, 1, BW, INFO )
711 CALL CHKXER( 'sgges ', INFOT, NOUT, LERR, OK )
718 CALL SGGES3( '/
', 'n
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1,
719 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
720 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
722 CALL SGGES3( 'n
', '/
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1,
723 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
724 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
726 CALL SGGES3( 'n
', 'v
', '/
', SLCTES, 1, A, 1, B, 1, SDIM, R1,
727 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
728 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
730 CALL SGGES3( 'n
', 'v
', 's
', SLCTES, -1, A, 1, B, 1, SDIM, R1,
731 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
732 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
734 CALL SGGES3( 'n
', 'v
', 's
', SLCTES, 1, A, 0, B, 1, SDIM, R1,
735 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
736 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
738 CALL SGGES3( 'n
', 'v
', 's
', SLCTES, 1, A, 1, B, 0, SDIM, R1,
739 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO )
740 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
742 CALL SGGES3( 'n
', 'v
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1,
743 $ R2, R3, Q, 0, U, 1, W, 1, BW, INFO )
744 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
746 CALL SGGES3( 'v
', 'v
', 's
', SLCTES, 2, A, 2, B, 2, SDIM, R1,
747 $ R2, R3, Q, 1, U, 2, W, 1, BW, INFO )
748 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
750 CALL SGGES3( 'n
', 'v
', 's
', SLCTES, 1, A, 1, B, 1, SDIM, R1,
751 $ R2, R3, Q, 1, U, 0, W, 1, BW, INFO )
752 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
754 CALL SGGES3( 'v
', 'v
', 's
', SLCTES, 2, A, 2, B, 2, SDIM, R1,
755 $ R2, R3, Q, 2, U, 1, W, 1, BW, INFO )
756 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
758 CALL SGGES3( 'v
', 'v
', 's
', SLCTES, 2, A, 2, B, 2, SDIM, R1,
759 $ R2, R3, Q, 2, U, 2, W, 1, BW, INFO )
760 CALL CHKXER( 'sgges3 ', INFOT, NOUT, LERR, OK )
767 CALL SGGESX( '/
', 'n
', 's
', SLCTSX, '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( 'sggesx', INFOT, NOUT, LERR, OK )
772 CALL SGGESX( 'n
', '/
', 's
', SLCTSX, '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( 'sggesx', INFOT, NOUT, LERR, OK )
777 CALL SGGESX( 'v
', 'v
', '/
', SLCTSX, '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( 'sggesx', INFOT, NOUT, LERR, OK )
782 CALL SGGESX( 'v
', 'v
', 's
', SLCTSX, '/
', 1, A, 1, B, 1, SDIM,
783 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW,
785 CALL CHKXER( 'sggesx', INFOT, NOUT, LERR, OK )
787 CALL SGGESX( 'v
', 'v
', 's
', SLCTSX, '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( 'sggesx', INFOT, NOUT, LERR, OK )
792 CALL SGGESX( 'v
', 'v
', 's
', SLCTSX, '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( 'sggesx', INFOT, NOUT, LERR, OK )
797 CALL SGGESX( 'v
', 'v',
'S', slctsx,
'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(
'SGGESX', infot, nout, lerr, ok )
802 CALL sggesx(
'V',
'V',
'S', slctsx,
'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(
'SGGESX', infot, nout, lerr, ok )
807 CALL sggesx(
'V',
'V',
'S', slctsx,
'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(
'SGGESX', infot, nout, lerr, ok )
812 CALL sggesx(
'V',
'V',
'S', slctsx,
'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(
'SGGESX', infot, nout, lerr, ok )
817 CALL sggesx(
'V',
'V',
'S', slctsx,
'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(
'SGGESX', infot, nout, lerr, ok )
822 CALL sggesx(
'V',
'V',
'S', slctsx,
'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(
'SGGESX', infot, nout, lerr, ok )
827 CALL sggesx(
'V',
'V',
'S', slctsx,
'V', 1, a, 1, b, 1, sdim,
828 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
830 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
837 CALL sggev(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
839 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
841 CALL sggev(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
843 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
845 CALL sggev(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
847 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
849 CALL sggev(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1, w,
851 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
853 CALL sggev(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1, w,
855 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
857 CALL sggev(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1, w,
859 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
861 CALL sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2, w,
863 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
865 CALL sggev(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0, w,
867 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
869 CALL sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1, w,
871 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
873 CALL sggev(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
875 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
882 CALL sggev3( '/
', 'n
', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1,
884 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
886 CALL SGGEV3( 'n
', '/
', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1,
888 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
890 CALL SGGEV3( 'v
', 'v
', -1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1,
892 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
894 CALL SGGEV3( 'v
', 'v
', 1, A, 0, B, 1, R1, R2, R3, Q, 1, U, 1,
896 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
898 CALL SGGEV3( 'v
', 'v
', 1, A, 1, B, 0, R1, R2, R3, Q, 1, U, 1,
900 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
902 CALL SGGEV3( 'n
', 'v
', 1, A, 1, B, 1, R1, R2, R3, Q, 0, U, 1,
904 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
906 CALL SGGEV3( 'v
', 'v
', 2, A, 2, B, 2, R1, R2, R3, Q, 1, U, 2,
908 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
910 CALL SGGEV3( 'v
', 'n
', 2, A, 2, B, 2, R1, R2, R3, Q, 2, U, 0,
912 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
914 CALL SGGEV3( 'v
', 'v
', 2, A, 2, B, 2, R1, R2, R3, Q, 2, U, 1,
916 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
918 CALL SGGEV3( 'v
', 'v
', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1,
920 CALL CHKXER( 'sggev3 ', INFOT, NOUT, LERR, OK )
927 CALL SGGEVX( '/
', '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( 'sggevx', infot, nout, lerr, ok )
932 CALL sggevx(
'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(
'SGGEVX', infot, nout, lerr, ok )
937 CALL sggevx(
'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(
'SGGEVX', infot, nout, lerr, ok )
942 CALL sggevx(
'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(
'SGGEVX', infot, nout, lerr, ok )
947 CALL sggevx(
'N',
'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(
'SGGEVX', infot, nout, lerr, ok )
952 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 0, 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(
'SGGEVX', infot, nout, lerr, ok )
957 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 0, 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(
'SGGEVX', infot, nout, lerr, ok )
962 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
963 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
964 $ w, 1, iw, bw, info )
965 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
967 CALL sggevx(
'N',
'V',
'N',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
968 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
969 $ w, 1, iw, bw, info )
970 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
972 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
973 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
974 $ w, 1, iw, bw, info )
975 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
977 CALL sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
978 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
979 $ w, 1, iw, bw, info )
980 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
982 CALL sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
983 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
984 $ w, 1, iw, bw, info )
985 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
992 CALL stgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
994 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
996 CALL stgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
998 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1000 CALL stgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
1001 $ ilst, w, 1, info )
1002 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1004 CALL stgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1005 $ ilst, w, 1, info )
1006 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1008 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1009 $ ilst, w, 1, info )
1010 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1012 CALL stgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1013 $ ilst, w, 1, info )
1014 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1016 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1017 $ ilst, w, 1, info )
1018 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1020 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 1, ifst,
1021 $ ilst, w, 0, info )
1022 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1029 CALL stgsen( -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(
'STGSEN', infot, nout, lerr, ok )
1034 CALL stgsen( 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(
'STGSEN', infot, nout, lerr, ok )
1039 CALL stgsen( 1, .true., .true., sel, 1, a, 0, b, 1, r1, r2, r3,
1040 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1042 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1044 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 0, r1, r2, r3,
1045 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1047 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1049 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1050 $ q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1052 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1054 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1055 $ q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1057 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1059 CALL stgsen( 0, .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(
'STGSEN', infot, nout, lerr, ok )
1064 CALL stgsen( 1, .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(
'STGSEN', infot, nout, lerr, ok )
1069 CALL stgsen( 2, .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(
'STGSEN', infot, nout, lerr, ok )
1074 CALL stgsen( 0, .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(
'STGSEN', infot, nout, lerr, ok )
1079 CALL stgsen( 1, .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(
'STGSEN', infot, nout, lerr, ok )
1084 CALL stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1085 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
1087 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1094 CALL stgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1095 $ 1, m, w, 1, iw, info )
1096 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1098 CALL stgsna(
'B', '/
', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
1099 $ 1, M, W, 1, IW, INFO )
1100 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1102 CALL STGSNA( 'b
', 'a
', SEL, -1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
1103 $ 1, M, W, 1, IW, INFO )
1104 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1106 CALL STGSNA( 'b
', 'a
', SEL, 1, A, 0, B, 1, Q, 1, U, 1, R1, R2,
1107 $ 1, M, W, 1, IW, INFO )
1108 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1110 CALL STGSNA( 'b
', 'a
', SEL, 1, A, 1, B, 0, Q, 1, U, 1, R1, R2,
1111 $ 1, M, W, 1, IW, INFO )
1112 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1114 CALL STGSNA( 'e
', 'a
', SEL, 1, A, 1, B, 1, Q, 0, U, 1, R1, R2,
1115 $ 1, M, W, 1, IW, INFO )
1116 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1118 CALL STGSNA( 'e
', 'a
', SEL, 1, A, 1, B, 1, Q, 1, U, 0, R1, R2,
1119 $ 1, M, W, 1, IW, INFO )
1120 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1122 CALL STGSNA( 'e
', 'a
', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
1123 $ 0, M, W, 1, IW, INFO )
1124 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1126 CALL STGSNA( 'e
', 'a
', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
1127 $ 1, M, W, 0, IW, INFO )
1128 CALL CHKXER( 'stgsna', INFOT, NOUT, LERR, OK )
1135 CALL STGSYL( '/
', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1136 $ SCALE, DIF, W, 1, IW, INFO )
1137 CALL CHKXER( 'stgsyl', INFOT, NOUT, LERR, OK )
1139 CALL STGSYL( 'n
', -1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1140 $ SCALE, DIF, W, 1, IW, INFO )
1141 CALL CHKXER( 'stgsyl', INFOT, NOUT, LERR, OK )
1143 CALL STGSYL( 'n
', 0, 0, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1144 $ SCALE, DIF, W, 1, IW, INFO )
1145 CALL CHKXER( 'stgsyl', INFOT, NOUT, LERR, OK )
1147 CALL STGSYL( 'n
', 0, 1, 0, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1148 $ SCALE, DIF, W, 1, IW, INFO )
1149 CALL CHKXER( 'stgsyl', INFOT, NOUT, LERR, OK )
1151 CALL STGSYL( 'n
', 0, 1, 1, A, 0, B, 1, Q, 1, U, 1, V, 1, Z, 1,
1152 $ SCALE, DIF, W, 1, IW, INFO )
1153 CALL CHKXER( 'stgsyl', INFOT, NOUT, LERR, OK )
1155 CALL STGSYL( 'n
', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1,
1156 $ SCALE, DIF, W, 1, IW, INFO )
1157 CALL CHKXER( 'stgsyl', INFOT, NOUT, LERR, OK )
1159 CALL STGSYL( 'n
', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1,
1160 $ SCALE, DIF, W, 1, IW, INFO )
1161 CALL CHKXER( 'stgsyl', infot, nout, lerr, ok )
1163 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1164 $ scale, dif, w, 1, iw, info )
1165 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1167 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1168 $ scale, dif, w, 1, iw, info )
1169 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1171 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1172 $ scale, dif, w, 1, iw, info )
1173 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1175 CALL stgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1176 $ scale, dif, w, 1, iw, info )
1177 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1179 CALL stgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1180 $ scale, dif, w, 1, iw, info )
1181 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1188 WRITE( nout, fmt = 9999 )path, nt
1190 WRITE( nout, fmt = 9998 )path
1193 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1194 $ i3,
' tests done)' )
1195 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',