58 SUBROUTINE serrgg( PATH, NUNIT )
74 parameter ( nmax = 3, lw = 6*nmax )
76 parameter ( one = 1.0e+0, zero = 0.0e+0 )
80 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO,
81 $ j, m, ncycle, nt, sdim, lwork, jdum
82 REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB
85 LOGICAL BW( nmax ), SEL( nmax )
86 INTEGER IW( nmax ), IDUM(nmax)
87 REAL A( nmax, nmax ), B( nmax, nmax ), LS( nmax ),
88 $ q( nmax, nmax ), r1( nmax ), r2( nmax ),
89 $ r3( nmax ), rce( 2 ), rcv( 2 ), rs( nmax ),
90 $ tau( nmax ), u( nmax, nmax ), v( nmax, nmax ),
91 $ w( lw ), z( nmax, nmax )
94 LOGICAL LSAMEN, SLCTES, SLCTSX
95 EXTERNAL lsamen, slctes, slctsx
110 COMMON / infoc / infot, nout, ok, lerr
111 COMMON / srnamc / srnamt
116 WRITE( nout, fmt = * )
142 IF( lsamen( 2, c2,
'GG' ) )
THEN
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',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
152 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
154 CALL sgghrd(
'N',
'N', -1, 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, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
158 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
160 CALL sgghrd(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
161 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
163 CALL sgghrd(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
164 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
166 CALL sgghrd(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
167 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
169 CALL sgghrd(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
170 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
172 CALL sgghrd(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
173 CALL chkxer(
'SGGHRD', infot, nout, lerr, ok )
180 CALL sgghd3(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
182 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
184 CALL sgghd3(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
186 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
188 CALL sgghd3(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
190 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
192 CALL sgghd3(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
194 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
196 CALL sgghd3(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
198 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
200 CALL sgghd3(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
202 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
204 CALL sgghd3(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
206 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
208 CALL sgghd3(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
210 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
212 CALL sgghd3(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
214 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
221 CALL shgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
222 $ 1, z, 1, w, lw, info )
223 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
225 CALL shgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
226 $ 1, z, 1, w, lw, info )
227 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
229 CALL shgeqz(
'E',
'N',
'/', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
230 $ 1, z, 1, w, lw, info )
231 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
233 CALL shgeqz(
'E',
'N',
'N', -1, 0, 0, a, 1, b, 1, r1, r2, r3,
234 $ q, 1, z, 1, w, lw, info )
235 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
237 CALL shgeqz(
'E',
'N',
'N', 0, 0, 0, a, 1, b, 1, r1, r2, r3, q,
238 $ 1, z, 1, w, lw, info )
239 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
241 CALL shgeqz(
'E',
'N',
'N', 0, 1, 1, a, 1, b, 1, r1, r2, r3, q,
242 $ 1, z, 1, w, lw, info )
243 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
245 CALL shgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1, b, 2, r1, r2, r3, q,
246 $ 1, z, 1, w, lw, info )
247 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
249 CALL shgeqz(
'E',
'N',
'N', 2, 1, 1, a, 2, b, 1, r1, r2, r3, q,
250 $ 1, z, 1, w, lw, info )
251 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
253 CALL shgeqz(
'E',
'V',
'N', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
254 $ 1, z, 1, w, lw, info )
255 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
257 CALL shgeqz(
'E',
'N',
'V', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
258 $ 1, z, 1, w, lw, info )
259 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
266 CALL stgevc(
'/',
'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
268 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
270 CALL stgevc(
'R',
'/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
272 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
274 CALL stgevc(
'R',
'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
276 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
278 CALL stgevc(
'R',
'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
280 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
282 CALL stgevc(
'R',
'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
284 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
286 CALL stgevc(
'L',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
288 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
290 CALL stgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
292 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
294 CALL stgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
296 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
301 ELSE IF( lsamen( 3, path,
'GSV' ) )
THEN
307 CALL sggsvd3(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
308 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
309 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
311 CALL sggsvd3(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
312 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
313 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
315 CALL sggsvd3(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
316 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
317 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
319 CALL sggsvd3(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
320 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
321 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
323 CALL sggsvd3(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
324 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
325 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
327 CALL sggsvd3(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
328 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
329 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
331 CALL sggsvd3(
'N',
'N',
'N', 2, 1, 1, dummyk, dummyl, a, 1, b,
332 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
333 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
335 CALL sggsvd3(
'N',
'N',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
336 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
337 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
339 CALL sggsvd3(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
340 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
341 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
343 CALL sggsvd3(
'N',
'V',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
344 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
345 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
347 CALL sggsvd3(
'N',
'N',
'Q', 1, 2, 1, dummyk, dummyl, a, 1, b,
348 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
349 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
356 CALL sggsvp3(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
357 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
359 CALL chkxer(
'SGGSVP3', 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',
'N', -1, 0, 0, a, 1, b, 1, tola, tolb,
372 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
374 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
376 CALL sggsvp3(
'N',
'N',
'N', 0, -1, 0, a, 1, b, 1, tola, tolb,
377 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
379 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
381 CALL sggsvp3(
'N',
'N',
'N', 0, 0, -1, a, 1, b, 1, tola, tolb,
382 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
384 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
386 CALL sggsvp3(
'N',
'N',
'N', 2, 1, 1, a, 1, b, 1, tola, tolb,
387 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
389 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
391 CALL sggsvp3(
'N',
'N',
'N', 1, 2, 1, a, 1, b, 1, tola, tolb,
392 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
394 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
396 CALL sggsvp3(
'U',
'N',
'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
397 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
399 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
401 CALL sggsvp3(
'N',
'V',
'N', 1, 2, 1, a, 1, b, 2, tola, tolb,
402 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
404 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
406 CALL sggsvp3(
'N',
'N',
'Q', 1, 1, 2, a, 1, b, 1, tola, tolb,
407 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
409 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
416 CALL stgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
417 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
419 CALL chkxer(
'STGSJA', 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',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
432 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
434 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
436 CALL stgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
437 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
439 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
441 CALL stgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
442 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
444 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
446 CALL stgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0, b,
447 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
449 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
451 CALL stgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
452 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
454 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
456 CALL stgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
457 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
459 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
461 CALL stgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
462 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
464 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
466 CALL stgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
467 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
469 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
474 ELSE IF( lsamen( 3, path,
'GLM' ) )
THEN
480 CALL sggglm( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
481 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
483 CALL sggglm( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
484 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
486 CALL sggglm( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
487 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
489 CALL sggglm( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
490 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
492 CALL sggglm( 1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
493 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
495 CALL sggglm( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
496 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
498 CALL sggglm( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
499 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
501 CALL sggglm( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
502 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
507 ELSE IF( lsamen( 3, path,
'LSE' ) )
THEN
513 CALL sgglse( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
514 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
516 CALL sgglse( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
517 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
519 CALL sgglse( 0, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
520 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
522 CALL sgglse( 0, 0, 1, a, 1, b, 1, r1, r2, r3, w, lw, info )
523 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
525 CALL sgglse( 0, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
526 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
528 CALL sgglse( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
529 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
531 CALL sgglse( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
532 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
534 CALL sgglse( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
535 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
540 ELSE IF( lsamen( 3, path,
'CSD' ) )
THEN
546 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
549 $ a, 1, a, 1, a, 1, a,
550 $ 1, w, lw, iw, info )
551 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
553 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
556 $ a, 1, a, 1, a, 1, a,
557 $ 1, w, lw, iw, info )
558 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
560 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
563 $ a, 1, a, 1, a, 1, a,
564 $ 1, w, lw, iw, info )
565 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
567 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
570 $ a, 1, a, 1, a, 1, a,
571 $ 1, w, lw, iw, info )
572 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
574 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
577 $ a, -1, a, 1, a, 1, a,
578 $ 1, w, lw, iw, info )
579 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
581 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
584 $ a, 1, a, -1, a, 1, a,
585 $ 1, w, lw, iw, info )
586 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
588 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
591 $ a, 1, a, 1, a, -1, a,
592 $ 1, w, lw, iw, info )
593 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
595 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
598 $ a, 1, a, 1, a, 1, a,
599 $ -1, w, lw, iw, info )
600 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
605 ELSE IF( lsamen( 3, path,
'GQR' ) )
THEN
611 CALL sggqrf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
612 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
614 CALL sggqrf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
615 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
617 CALL sggqrf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
618 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
620 CALL sggqrf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
621 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
623 CALL sggqrf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
624 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
626 CALL sggqrf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
627 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
634 CALL sggrqf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
635 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
637 CALL sggrqf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
638 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
640 CALL sggrqf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
641 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
643 CALL sggrqf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
644 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
646 CALL sggrqf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
647 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
649 CALL sggrqf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
650 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
655 ELSE IF( lsamen( 3, path,
'SGS' ) .OR.
656 $ lsamen( 3, path,
'SGV' ) .OR.
657 $ lsamen( 3, path,
'SGX' ) .OR. lsamen( 3, path,
'SXV' ) )
664 CALL sgges(
'/',
'N',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
665 $ r3, q, 1, u, 1, w, 1, bw, info )
666 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
668 CALL sgges(
'N',
'/',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
669 $ r3, q, 1, u, 1, w, 1, bw, info )
670 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
672 CALL sgges(
'N',
'V',
'/', slctes, 1, a, 1, b, 1, sdim, r1, r2,
673 $ r3, q, 1, u, 1, w, 1, bw, info )
674 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
676 CALL sgges(
'N',
'V',
'S', slctes, -1, a, 1, b, 1, sdim, r1,
677 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
678 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
680 CALL sgges(
'N',
'V',
'S', slctes, 1, a, 0, b, 1, sdim, r1, r2,
681 $ r3, q, 1, u, 1, w, 1, bw, info )
682 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
684 CALL sgges(
'N',
'V',
'S', slctes, 1, a, 1, b, 0, sdim, r1, r2,
685 $ r3, q, 1, u, 1, w, 1, bw, info )
686 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
688 CALL sgges(
'N',
'V',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
689 $ r3, q, 0, u, 1, w, 1, bw, info )
690 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
692 CALL sgges(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1, r2,
693 $ r3, q, 1, u, 2, w, 1, bw, info )
694 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
696 CALL sgges(
'N',
'V',
'S', slctes, 1, a, 1, b, 1, sdim, r1, r2,
697 $ r3, q, 1, u, 0, w, 1, bw, info )
698 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
700 CALL sgges(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1, r2,
701 $ r3, q, 2, u, 1, w, 1, bw, info )
702 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
704 CALL sgges(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1, r2,
705 $ r3, q, 2, u, 2, w, 1, bw, info )
706 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
713 CALL sgges3(
'/',
'N',
'S', slctes, 1, a, 1, b, 1, sdim, r1,
714 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
715 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
717 CALL sgges3(
'N',
'/',
'S', slctes, 1, a, 1, b, 1, sdim, r1,
718 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
719 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
721 CALL sgges3(
'N',
'V',
'/', slctes, 1, a, 1, b, 1, sdim, r1,
722 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
723 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
725 CALL sgges3(
'N',
'V',
'S', slctes, -1, a, 1, b, 1, sdim, r1,
726 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
727 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
729 CALL sgges3(
'N',
'V',
'S', slctes, 1, a, 0, b, 1, sdim, r1,
730 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
731 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
733 CALL sgges3(
'N',
'V',
'S', slctes, 1, a, 1, b, 0, sdim, r1,
734 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
735 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
737 CALL sgges3(
'N',
'V',
'S', slctes, 1, a, 1, b, 1, sdim, r1,
738 $ r2, r3, q, 0, u, 1, w, 1, bw, info )
739 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
741 CALL sgges3(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1,
742 $ r2, r3, q, 1, u, 2, w, 1, bw, info )
743 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
745 CALL sgges3(
'N',
'V',
'S', slctes, 1, a, 1, b, 1, sdim, r1,
746 $ r2, r3, q, 1, u, 0, w, 1, bw, info )
747 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
749 CALL sgges3(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1,
750 $ r2, r3, q, 2, u, 1, w, 1, bw, info )
751 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
753 CALL sgges3(
'V',
'V',
'S', slctes, 2, a, 2, b, 2, sdim, r1,
754 $ r2, r3, q, 2, u, 2, w, 1, bw, info )
755 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
762 CALL sggesx(
'/',
'N',
'S', slctsx,
'N', 1, a, 1, b, 1, sdim,
763 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
765 CALL chkxer(
'SGGESX', 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(
'V',
'V',
'/', 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',
'S', slctsx,
'/', 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,
'B', -1, a, 1, b, 1, sdim,
783 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
785 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
787 CALL sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 0, b, 1, sdim,
788 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
790 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
792 CALL sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 1, b, 0, sdim,
793 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
795 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
797 CALL sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 1, b, 1, sdim,
798 $ r1, r2, r3, q, 0, u, 1, rce, rcv, w, 1, iw, 1, bw,
800 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
802 CALL sggesx(
'V',
'V',
'S', slctsx,
'B', 2, a, 2, b, 2, sdim,
803 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
805 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
807 CALL sggesx(
'V',
'V',
'S', slctsx,
'B', 1, a, 1, b, 1, sdim,
808 $ r1, r2, r3, q, 1, u, 0, rce, rcv, w, 1, iw, 1, bw,
810 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
812 CALL sggesx(
'V',
'V',
'S', slctsx,
'B', 2, a, 2, b, 2, sdim,
813 $ r1, r2, r3, q, 2, u, 1, rce, rcv, w, 1, iw, 1, bw,
815 CALL chkxer(
'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, 2, rce, rcv, w, 1, iw, 1, bw,
820 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
822 CALL sggesx(
'V',
'V',
'S', slctsx,
'V', 1, a, 1, b, 1, sdim,
823 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
825 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
832 CALL sggev(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
834 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
836 CALL sggev(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
838 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
840 CALL sggev(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
842 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
844 CALL sggev(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1, w,
846 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
848 CALL sggev(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1, w,
850 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
852 CALL sggev(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1, w,
854 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
856 CALL sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2, w,
858 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
860 CALL sggev(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0, w,
862 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
864 CALL sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1, w,
866 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
868 CALL sggev(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
870 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
877 CALL sggev3(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
879 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
881 CALL sggev3(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
883 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
885 CALL sggev3(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
887 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
889 CALL sggev3(
'V',
'V', 1, a, 0, b, 1, r1, r2, r3, q, 1, u, 1,
891 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
893 CALL sggev3(
'V',
'V', 1, a, 1, b, 0, r1, r2, r3, q, 1, u, 1,
895 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
897 CALL sggev3(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1,
899 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
901 CALL sggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2,
903 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
905 CALL sggev3(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0,
907 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
909 CALL sggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1,
911 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
913 CALL sggev3(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
915 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
922 CALL sggevx(
'/',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
923 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
924 $ w, 1, iw, bw, info )
925 CALL chkxer(
'SGGEVX', 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',
'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, 0, b, 1, r1, r2, r3, q,
948 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
949 $ w, 1, iw, bw, info )
950 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
952 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 0, r1, r2, r3, q,
953 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
954 $ w, 1, iw, bw, info )
955 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
957 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
958 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
959 $ w, 1, iw, bw, info )
960 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
962 CALL sggevx(
'N',
'V',
'N',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
963 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
964 $ w, 1, iw, bw, info )
965 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
967 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
968 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
969 $ w, 1, iw, bw, info )
970 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
972 CALL sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
973 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
974 $ w, 1, iw, bw, info )
975 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
977 CALL sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
978 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
979 $ w, 1, iw, bw, info )
980 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
987 CALL stgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
989 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
991 CALL stgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
993 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
995 CALL stgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
997 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
999 CALL stgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1000 $ ilst, w, 1, info )
1001 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1003 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1004 $ ilst, w, 1, info )
1005 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1007 CALL stgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1008 $ ilst, w, 1, info )
1009 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1011 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1012 $ ilst, w, 1, info )
1013 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1015 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 1, ifst,
1016 $ ilst, w, 0, info )
1017 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1024 CALL stgsen( -1, .true., .true., sel, 1, a, 1, b, 1, r1, r2,
1025 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1027 CALL chkxer(
'STGSEN', 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, 0, b, 1, r1, r2, r3,
1035 $ 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, 1, b, 0, 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, 1, r1, r2, r3,
1045 $ q, 0, 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, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1052 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1054 CALL stgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1055 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1057 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1059 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1060 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1062 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1064 CALL stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1065 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1067 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1069 CALL stgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1070 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1072 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1074 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1075 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1077 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1079 CALL stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1080 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
1082 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1089 CALL stgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1090 $ 1, m, w, 1, iw, info )
1091 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1093 CALL stgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1094 $ 1, m, w, 1, iw, info )
1095 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1097 CALL stgsna(
'B',
'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1098 $ 1, m, w, 1, iw, info )
1099 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1101 CALL stgsna(
'B',
'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
1102 $ 1, m, w, 1, iw, info )
1103 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1105 CALL stgsna(
'B',
'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
1106 $ 1, m, w, 1, iw, info )
1107 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1109 CALL stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1110 $ 1, m, w, 1, iw, info )
1111 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1113 CALL stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
1114 $ 1, m, w, 1, iw, info )
1115 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1117 CALL stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1118 $ 0, m, w, 1, iw, info )
1119 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1121 CALL stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1122 $ 1, m, w, 0, iw, info )
1123 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1130 CALL stgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1131 $ scale, dif, w, 1, iw, info )
1132 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1134 CALL stgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1135 $ scale, dif, w, 1, iw, info )
1136 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1138 CALL stgsyl(
'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1139 $ scale, dif, w, 1, iw, info )
1140 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1142 CALL stgsyl(
'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1143 $ scale, dif, w, 1, iw, info )
1144 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1146 CALL stgsyl(
'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1147 $ scale, dif, w, 1, iw, info )
1148 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1150 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 0, q, 1, u, 1, v, 1, z, 1,
1151 $ scale, dif, w, 1, iw, info )
1152 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1154 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 0, u, 1, v, 1, z, 1,
1155 $ scale, dif, w, 1, iw, info )
1156 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1158 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1159 $ scale, dif, w, 1, iw, info )
1160 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1162 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1163 $ scale, dif, w, 1, iw, info )
1164 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1166 CALL stgsyl(
'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1167 $ scale, dif, w, 1, iw, info )
1168 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1170 CALL stgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1171 $ scale, dif, w, 1, iw, info )
1172 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1174 CALL stgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1175 $ scale, dif, w, 1, iw, info )
1176 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1183 WRITE( nout, fmt = 9999 )path, nt
1185 WRITE( nout, fmt = 9998 )path
1188 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1189 $ i3,
' tests done)' )
1190 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine sggglm(N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, INFO)
SGGGLM
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 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 stgevc(SIDE, HOWMNY, SELECT, N, S, LDS, P, LDP, VL, LDVL, VR, LDVR, MM, M, WORK, INFO)
STGEVC
subroutine stgsna(JOB, HOWMNY, SELECT, N, A, LDA, B, LDB, VL, LDVL, VR, LDVR, S, DIF, MM, M, WORK, LWORK, IWORK, INFO)
STGSNA
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 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 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 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 sggrqf(M, P, N, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
SGGRQF
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 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 ...
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 chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine sgghd3(COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z, LDZ, WORK, LWORK, INFO)
SGGHD3
subroutine shgeqz(JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHAR, ALPHAI, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, INFO)
SHGEQZ
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 stgsyl(TRANS, IJOB, M, N, A, LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF, SCALE, DIF, WORK, LWORK, IWORK, INFO)
STGSYL
subroutine serrgg(PATH, NUNIT)
SERRGG
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 sggqrf(N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO)
SGGQRF
subroutine stgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, WORK, LWORK, INFO)
STGEXC
subroutine sgghrd(COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z, LDZ, INFO)
SGGHRD
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