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 $ 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 LSAMEN, SLCTES, SLCTSX
92 EXTERNAL 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, 1, z, 1, info )
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 )
334 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
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 ',
subroutine xlaenv(ispec, nvalue)
XLAENV
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine sgges3(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork, info)
SGGES3 computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...
subroutine sgges(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, bwork, info)
SGGES computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE m...
subroutine sggesx(jobvsl, jobvsr, sort, selctg, sense, n, a, lda, b, ldb, sdim, alphar, alphai, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, iwork, liwork, bwork, info)
SGGESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...
subroutine sggev3(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info)
SGGEV3 computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices (...
subroutine sggev(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info)
SGGEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
subroutine sggevx(balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, iwork, bwork, info)
SGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
subroutine sggglm(n, m, p, a, lda, b, ldb, d, x, y, work, lwork, info)
SGGGLM
subroutine sgghd3(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, work, lwork, info)
SGGHD3
subroutine sgghrd(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info)
SGGHRD
subroutine sgglse(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info)
SGGLSE solves overdetermined or underdetermined systems for OTHER matrices
subroutine sggqrf(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info)
SGGQRF
subroutine sggrqf(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info)
SGGRQF
subroutine sggsvd3(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, lwork, iwork, info)
SGGSVD3 computes the singular value decomposition (SVD) for OTHER matrices
subroutine sggsvp3(jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, tau, work, lwork, info)
SGGSVP3
subroutine shgeqz(job, compq, compz, n, ilo, ihi, h, ldh, t, ldt, alphar, alphai, beta, q, ldq, z, ldz, work, lwork, info)
SHGEQZ
subroutine stgevc(side, howmny, select, n, s, lds, p, ldp, vl, ldvl, vr, ldvr, mm, m, work, info)
STGEVC
subroutine stgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info)
STGEXC
subroutine stgsen(ijob, wantq, wantz, select, n, a, lda, b, ldb, alphar, alphai, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info)
STGSEN
subroutine stgsja(jobu, jobv, jobq, m, p, n, k, l, a, lda, b, ldb, tola, tolb, alpha, beta, u, ldu, v, ldv, q, ldq, work, ncycle, info)
STGSJA
subroutine stgsna(job, howmny, select, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info)
STGSNA
subroutine stgsyl(trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scale, dif, work, lwork, iwork, info)
STGSYL
recursive subroutine sorcsd(jobu1, jobu2, jobv1t, jobv2t, trans, signs, m, p, q, x11, ldx11, x12, ldx12, x21, ldx21, x22, ldx22, theta, u1, ldu1, u2, ldu2, v1t, ldv1t, v2t, ldv2t, work, lwork, iwork, info)
SORCSD
subroutine serrgg(path, nunit)
SERRGG