73 parameter( nmax = 3, lw = 6*nmax )
75 parameter( one = 1.0e+0, zero = 0.0e+0 )
79 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO,
80 $ j, m, ncycle, nt, sdim
81 REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB
84 LOGICAL BW( nmax ), SEL( nmax )
86 REAL A( nmax, nmax ), B( nmax, nmax ), LS( nmax ),
87 $ q( nmax, nmax ), r1( nmax ), r2( nmax ),
88 $ r3( nmax ), rce( 2 ), rcv( 2 ), rs( nmax ),
89 $ tau( nmax ), u( nmax, nmax ), v( nmax, nmax ),
90 $ w( lw ), z( nmax, nmax )
93 LOGICAL LSAMEN, SLCTES, SLCTSX
94 EXTERNAL lsamen, slctes, slctsx
108 COMMON / infoc / infot, nout, ok, lerr
109 COMMON / srnamc / srnamt
114 WRITE( nout, fmt = * )
139 IF( lsamen( 2, c2,
'GG' ) )
THEN
145 CALL
sgghrd(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
146 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
148 CALL
sgghrd(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
149 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
151 CALL
sgghrd(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
152 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
154 CALL
sgghrd(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
155 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
157 CALL
sgghrd(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
158 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
160 CALL
sgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
161 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
163 CALL
sgghrd(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
164 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
166 CALL
sgghrd(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
167 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
169 CALL
sgghrd(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
170 CALL
chkxer(
'SGGHRD', infot, nout, lerr, ok )
177 CALL
shgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
178 $ 1, z, 1, w, lw, info )
179 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
181 CALL
shgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
182 $ 1, z, 1, w, lw, info )
183 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
185 CALL
shgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
186 $ 1, z, 1, w, lw, info )
187 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
189 CALL
shgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1, b, 1, r1, r2, r3,
190 $ q, 1, z, 1, w, lw, info )
191 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
193 CALL
shgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1, b, 1, r1, r2, r3, q,
194 $ 1, z, 1, w, lw, info )
195 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
197 CALL
shgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1, b, 1, r1, r2, r3, q,
198 $ 1, z, 1, w, lw, info )
199 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
201 CALL
shgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1, b, 2, r1, r2, r3, q,
202 $ 1, z, 1, w, lw, info )
203 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
205 CALL
shgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2, b, 1, r1, r2, r3, q,
206 $ 1, z, 1, w, lw, info )
207 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
209 CALL
shgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
210 $ 1, z, 1, w, lw, info )
211 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
213 CALL
shgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
214 $ 1, z, 1, w, lw, info )
215 CALL
chkxer(
'SHGEQZ', infot, nout, lerr, ok )
222 CALL
stgevc(
'/',
'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
224 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
226 CALL
stgevc(
'R',
'/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
228 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
230 CALL
stgevc(
'R',
'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
232 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
234 CALL
stgevc(
'R',
'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
236 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
238 CALL
stgevc(
'R',
'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
240 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
242 CALL
stgevc(
'L',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
244 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
246 CALL
stgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
248 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
250 CALL
stgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
252 CALL
chkxer(
'STGEVC', infot, nout, lerr, ok )
257 ELSE IF( lsamen( 3, path,
'GSV' ) )
THEN
263 CALL
sggsvd(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
264 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
265 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
267 CALL
sggsvd(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
268 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
269 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
271 CALL
sggsvd(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
272 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
273 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
275 CALL
sggsvd(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
276 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
277 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
279 CALL
sggsvd(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
280 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
281 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
283 CALL
sggsvd(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
284 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
285 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
287 CALL
sggsvd(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1, b,
288 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
289 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
291 CALL
sggsvd(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
292 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
293 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
295 CALL
sggsvd(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
296 $ 2, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
297 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
299 CALL
sggsvd(
'N',
'V',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
300 $ 2, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
301 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
303 CALL
sggsvd(
'N',
'N',
'Q', 1, 2, 1, dummyk, dummyl, a, 1, b,
304 $ 1, r1, r2, u, 1, v, 1, q, 1, w, iw, info )
305 CALL
chkxer(
'SGGSVD', infot, nout, lerr, ok )
312 CALL
sggsvp(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
313 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
315 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
317 CALL
sggsvp(
'N',
'/',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
318 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
320 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
322 CALL
sggsvp(
'N',
'N',
'/', 0, 0, 0, a, 1, b, 1, tola, tolb,
323 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
325 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
327 CALL
sggsvp(
'N',
'N',
'N', -1, 0, 0, a, 1, b, 1, tola, tolb,
328 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
330 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
332 CALL
sggsvp(
'N',
'N',
'N', 0, -1, 0, a, 1, b, 1, tola, tolb,
333 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
335 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
337 CALL
sggsvp(
'N',
'N',
'N', 0, 0, -1, a, 1, b, 1, tola, tolb,
338 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
340 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
342 CALL
sggsvp(
'N',
'N',
'N', 2, 1, 1, a, 1, b, 1, tola, tolb,
343 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
345 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
347 CALL
sggsvp(
'N',
'N',
'N', 1, 2, 1, a, 1, b, 1, tola, tolb,
348 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
350 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
352 CALL
sggsvp(
'U',
'N',
'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
353 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
355 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
357 CALL
sggsvp(
'N',
'V',
'N', 1, 2, 1, a, 1, b, 2, tola, tolb,
358 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
360 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
362 CALL
sggsvp(
'N',
'N',
'Q', 1, 1, 2, a, 1, b, 1, tola, tolb,
363 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
365 CALL
chkxer(
'SGGSVP', infot, nout, lerr, ok )
372 CALL
stgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
373 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
375 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
377 CALL
stgsja(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
378 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
380 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
382 CALL
stgsja(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
383 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
385 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
387 CALL
stgsja(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
388 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
390 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
392 CALL
stgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
393 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
395 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
397 CALL
stgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
398 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
400 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
402 CALL
stgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0, b,
403 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
405 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
407 CALL
stgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
408 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
410 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
412 CALL
stgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
413 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
415 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
417 CALL
stgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
418 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
420 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
422 CALL
stgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
423 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
425 CALL
chkxer(
'STGSJA', infot, nout, lerr, ok )
430 ELSE IF( lsamen( 3, path,
'GLM' ) )
THEN
436 CALL
sggglm( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
437 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
439 CALL
sggglm( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
440 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
442 CALL
sggglm( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
443 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
445 CALL
sggglm( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
446 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
448 CALL
sggglm( 1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
449 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
451 CALL
sggglm( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
452 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
454 CALL
sggglm( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
455 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
457 CALL
sggglm( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
458 CALL
chkxer(
'SGGGLM', infot, nout, lerr, ok )
463 ELSE IF( lsamen( 3, path,
'LSE' ) )
THEN
469 CALL
sgglse( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
470 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
472 CALL
sgglse( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
473 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
475 CALL
sgglse( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
476 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
478 CALL
sgglse( 0, 0, 1, a, 1, b, 1, r1, r2, r3, w, lw, info )
479 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
481 CALL
sgglse( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
482 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
484 CALL
sgglse( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
485 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
487 CALL
sgglse( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
488 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
490 CALL
sgglse( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
491 CALL
chkxer(
'SGGLSE', infot, nout, lerr, ok )
496 ELSE IF( lsamen( 3, path,
'CSD' ) )
THEN
502 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
505 $ a, 1, a, 1, a, 1, a,
506 $ 1, w, lw, iw, info )
507 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
509 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
512 $ a, 1, a, 1, a, 1, a,
513 $ 1, w, lw, iw, info )
514 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
516 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
519 $ a, 1, a, 1, a, 1, a,
520 $ 1, w, lw, iw, info )
521 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
523 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
526 $ a, 1, a, 1, a, 1, a,
527 $ 1, w, lw, iw, info )
528 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
530 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
533 $ a, -1, a, 1, a, 1, a,
534 $ 1, w, lw, iw, info )
535 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
537 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
540 $ a, 1, a, -1, a, 1, a,
541 $ 1, w, lw, iw, info )
542 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
544 CALL
sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
547 $ a, 1, a, 1, a, -1, a,
548 $ 1, w, lw, iw, info )
549 CALL
chkxer(
'SORCSD', infot, nout, lerr, ok )
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 )
561 ELSE IF( lsamen( 3, path,
'GQR' ) )
THEN
567 CALL
sggqrf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
568 CALL
chkxer(
'SGGQRF', infot, nout, lerr, ok )
570 CALL
sggqrf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
571 CALL
chkxer(
'SGGQRF', infot, nout, lerr, ok )
573 CALL
sggqrf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
574 CALL
chkxer(
'SGGQRF', infot, nout, lerr, ok )
576 CALL
sggqrf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
577 CALL
chkxer(
'SGGQRF', infot, nout, lerr, ok )
579 CALL
sggqrf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
580 CALL
chkxer(
'SGGQRF', infot, nout, lerr, ok )
582 CALL
sggqrf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
583 CALL
chkxer(
'SGGQRF', infot, nout, lerr, ok )
590 CALL
sggrqf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
591 CALL
chkxer(
'SGGRQF', infot, nout, lerr, ok )
593 CALL
sggrqf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
594 CALL
chkxer(
'SGGRQF', infot, nout, lerr, ok )
596 CALL
sggrqf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
597 CALL
chkxer(
'SGGRQF', infot, nout, lerr, ok )
599 CALL
sggrqf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
600 CALL
chkxer(
'SGGRQF', infot, nout, lerr, ok )
602 CALL
sggrqf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
603 CALL
chkxer(
'SGGRQF', infot, nout, lerr, ok )
605 CALL
sggrqf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
606 CALL
chkxer(
'SGGRQF', infot, nout, lerr, ok )
611 ELSE IF( lsamen( 3, path,
'SGS' ) .OR.
612 $ lsamen( 3, path,
'SGV' ) .OR.
613 $ lsamen( 3, path,
'SGX' ) .OR. lsamen( 3, path,
'SXV' ) )
620 CALL
sgges(
'/',
'N',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
621 $ r3, q, 1, u, 1, w, 1, bw, info )
622 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
624 CALL
sgges(
'N',
'/',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
625 $ r3, q, 1, u, 1, w, 1, bw, info )
626 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
628 CALL
sgges(
'N',
'V',
'/', slctes, 1, a, 1, b, 1, sdim, r1, r2,
629 $ r3, q, 1, u, 1, w, 1, bw, info )
630 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
632 CALL
sgges(
'N',
'V',
'S', slctes, -1, a, 1, b, 1, sdim, r1,
633 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
634 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
636 CALL
sgges(
'N',
'V',
'S', slctes, 1, a, 0, b, 1, sdim, r1, r2,
637 $ r3, q, 1, u, 1, w, 1, bw, info )
638 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
640 CALL
sgges(
'N',
'V',
'S', slctes, 1, a, 1, b, 0, sdim, r1, r2,
641 $ r3, q, 1, u, 1, w, 1, bw, info )
642 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
644 CALL
sgges(
'N',
'V',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
645 $ r3, q, 0, u, 1, w, 1, bw, info )
646 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
648 CALL
sgges(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1, r2,
649 $ r3, q, 1, u, 2, w, 1, bw, info )
650 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
652 CALL
sgges(
'N',
'V',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
653 $ r3, q, 1, u, 0, w, 1, bw, info )
654 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
656 CALL
sgges(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1, r2,
657 $ r3, q, 2, u, 1, w, 1, bw, info )
658 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
660 CALL
sgges(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1, r2,
661 $ r3, q, 2, u, 2, w, 1, bw, info )
662 CALL
chkxer(
'SGGES ', infot, nout, lerr, ok )
669 CALL
sggesx(
'/',
'N',
'S', slctsx,
'N', 1, a, 1, b, 1, sdim,
670 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
672 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
674 CALL
sggesx(
'N',
'/',
'S', slctsx,
'N', 1, a, 1, b, 1, sdim,
675 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
677 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
679 CALL
sggesx(
'V',
'V',
'/', slctsx,
'N', 1, a, 1, b, 1, sdim,
680 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
682 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
684 CALL
sggesx(
'V',
'V',
'S', slctsx,
'/', 1, a, 1, b, 1, sdim,
685 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
687 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
689 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', -1, a, 1, b, 1, sdim,
690 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
692 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
694 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 0, b, 1, sdim,
695 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
697 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
699 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 1, b, 0, sdim,
700 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
702 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
704 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 1, b, 1, sdim,
705 $ r1, r2, r3, q, 0, u, 1, rce, rcv, w, 1, iw, 1, bw,
707 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
709 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 2, a, 2, b, 2, sdim,
710 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
712 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
714 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 1, b, 1, sdim,
715 $ r1, r2, r3, q, 1, u, 0, rce, rcv, w, 1, iw, 1, bw,
717 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
719 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 2, a, 2, b, 2, sdim,
720 $ r1, r2, r3, q, 2, u, 1, rce, rcv, w, 1, iw, 1, bw,
722 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
724 CALL
sggesx(
'V',
'V',
'S', slctsx,
'B', 2, a, 2, b, 2, sdim,
725 $ r1, r2, r3, q, 2, u, 2, rce, rcv, w, 1, iw, 1, bw,
727 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
729 CALL
sggesx(
'V',
'V',
'S', slctsx,
'V', 1, a, 1, b, 1, sdim,
730 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
732 CALL
chkxer(
'SGGESX', infot, nout, lerr, ok )
739 CALL
sggev(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
741 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
743 CALL
sggev(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
745 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
747 CALL
sggev(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
749 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
751 CALL
sggev(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1, w,
753 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
755 CALL
sggev(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1, w,
757 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
759 CALL
sggev(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1, w,
761 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
763 CALL
sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2, w,
765 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
767 CALL
sggev(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0, w,
769 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
771 CALL
sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1, w,
773 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
775 CALL
sggev(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
777 CALL
chkxer(
'SGGEV ', infot, nout, lerr, ok )
784 CALL
sggevx(
'/',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
785 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
786 $ w, 1, iw, bw, info )
787 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
789 CALL
sggevx(
'N',
'/',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
790 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
791 $ w, 1, iw, bw, info )
792 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
794 CALL
sggevx(
'N',
'N',
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
795 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
796 $ w, 1, iw, bw, info )
797 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
799 CALL
sggevx(
'N',
'N',
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q,
800 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
801 $ w, 1, iw, bw, info )
802 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
804 CALL
sggevx(
'N',
'N',
'N',
'N', -1, a, 1, b, 1, r1, r2, r3, q,
805 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
806 $ w, 1, iw, bw, info )
807 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
809 CALL
sggevx(
'N',
'N',
'N',
'N', 1, a, 0, b, 1, r1, r2, r3, q,
810 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
811 $ w, 1, iw, bw, info )
812 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
814 CALL
sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 0, r1, r2, r3, q,
815 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
816 $ w, 1, iw, bw, info )
817 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
819 CALL
sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
820 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
821 $ w, 1, iw, bw, info )
822 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
824 CALL
sggevx(
'N',
'V',
'N',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
825 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
826 $ w, 1, iw, bw, info )
827 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
829 CALL
sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
830 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
831 $ w, 1, iw, bw, info )
832 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
834 CALL
sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
835 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
836 $ w, 1, iw, bw, info )
837 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
839 CALL
sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
840 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
841 $ w, 1, iw, bw, info )
842 CALL
chkxer(
'SGGEVX', infot, nout, lerr, ok )
849 CALL
stgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
851 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
853 CALL
stgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
855 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
857 CALL
stgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
859 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
861 CALL
stgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
863 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
865 CALL
stgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
867 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
869 CALL
stgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
871 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
873 CALL
stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
875 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
877 CALL
stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 1, ifst,
879 CALL
chkxer(
'STGEXC', infot, nout, lerr, ok )
886 CALL
stgsen( -1, .true., .true., sel, 1, a, 1, b, 1, r1, r2,
887 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
889 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
891 CALL
stgsen( 1, .true., .true., sel, -1, a, 1, b, 1, r1, r2,
892 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
894 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
896 CALL
stgsen( 1, .true., .true., sel, 1, a, 0, b, 1, r1, r2, r3,
897 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
899 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
901 CALL
stgsen( 1, .true., .true., sel, 1, a, 1, b, 0, r1, r2, r3,
902 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
904 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
906 CALL
stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
907 $ q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
909 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
911 CALL
stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
912 $ q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
914 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
916 CALL
stgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
917 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
919 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
921 CALL
stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
922 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
924 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
926 CALL
stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
927 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
929 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
931 CALL
stgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
932 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
934 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
936 CALL
stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
937 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
939 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
941 CALL
stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
942 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
944 CALL
chkxer(
'STGSEN', infot, nout, lerr, ok )
951 CALL
stgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
952 $ 1, m, w, 1, iw, info )
953 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
955 CALL
stgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
956 $ 1, m, w, 1, iw, info )
957 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
959 CALL
stgsna(
'B',
'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
960 $ 1, m, w, 1, iw, info )
961 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
963 CALL
stgsna(
'B',
'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
964 $ 1, m, w, 1, iw, info )
965 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
967 CALL
stgsna(
'B',
'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
968 $ 1, m, w, 1, iw, info )
969 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
971 CALL
stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
972 $ 1, m, w, 1, iw, info )
973 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
975 CALL
stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
976 $ 1, m, w, 1, iw, info )
977 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
979 CALL
stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
980 $ 0, m, w, 1, iw, info )
981 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
983 CALL
stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
984 $ 1, m, w, 0, iw, info )
985 CALL
chkxer(
'STGSNA', infot, nout, lerr, ok )
992 CALL
stgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
993 $ scale, dif, w, 1, iw, info )
994 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
996 CALL
stgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
997 $ scale, dif, w, 1, iw, info )
998 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1000 CALL
stgsyl(
'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1001 $ scale, dif, w, 1, iw, info )
1002 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1004 CALL
stgsyl(
'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1005 $ scale, dif, w, 1, iw, info )
1006 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1008 CALL
stgsyl(
'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1009 $ scale, dif, w, 1, iw, info )
1010 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1012 CALL
stgsyl(
'N', 0, 1, 1, a, 1, b, 0, q, 1, u, 1, v, 1, z, 1,
1013 $ scale, dif, w, 1, iw, info )
1014 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1016 CALL
stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 0, u, 1, v, 1, z, 1,
1017 $ scale, dif, w, 1, iw, info )
1018 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1020 CALL
stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1021 $ scale, dif, w, 1, iw, info )
1022 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1024 CALL
stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1025 $ scale, dif, w, 1, iw, info )
1026 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1028 CALL
stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1029 $ scale, dif, w, 1, iw, info )
1030 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1032 CALL
stgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1033 $ scale, dif, w, 1, iw, info )
1034 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1036 CALL
stgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1037 $ scale, dif, w, 1, iw, info )
1038 CALL
chkxer(
'STGSYL', infot, nout, lerr, ok )
1045 WRITE( nout, fmt = 9999 )path, nt
1047 WRITE( nout, fmt = 9998 )path
1050 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1051 $ i3,
' tests done)' )
1052 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
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 ...
subroutine sgghrd(COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z, LDZ, INFO)
SGGHRD
subroutine stgevc(SIDE, HOWMNY, SELECT, N, S, LDS, P, LDP, VL, LDVL, VR, LDVR, MM, M, WORK, INFO)
STGEVC
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 serrgg(PATH, NUNIT)
SERRGG
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
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 sggglm(N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, INFO)
SGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices ...
subroutine shgeqz(JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHAR, ALPHAI, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, INFO)
SHGEQZ
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 stgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, WORK, LWORK, INFO)
STGEXC
subroutine stgsna(JOB, HOWMNY, SELECT, N, A, LDA, B, LDB, VL, LDVL, VR, LDVR, S, DIF, MM, M, WORK, LWORK, IWORK, INFO)
STGSNA
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 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 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 sggsvp(JOBU, JOBV, JOBQ, M, P, N, A, LDA, B, LDB, TOLA, TOLB, K, L, U, LDU, V, LDV, Q, LDQ, IWORK, TAU, WORK, INFO)
SGGSVP
subroutine sggsvd(JOBU, JOBV, JOBQ, M, N, P, K, L, A, LDA, B, LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, IWORK, INFO)
SGGSVD computes the singular value decomposition (SVD) for OTHER matrices
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