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
107 COMMON / infoc / infot, nout, ok, lerr
108 COMMON / srnamc / srnamt
113 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 sgghd3(
'/',
'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
179 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
181 CALL sgghd3(
'N',
'/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
183 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
185 CALL sgghd3(
'N',
'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
187 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
189 CALL sgghd3(
'N',
'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
191 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
193 CALL sgghd3(
'N',
'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
195 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
197 CALL sgghd3(
'N',
'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
199 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
201 CALL sgghd3(
'N',
'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
203 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
205 CALL sgghd3(
'V',
'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
207 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
209 CALL sgghd3(
'N',
'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
211 CALL chkxer(
'SGGHD3', infot, nout, lerr, ok )
218 CALL shgeqz(
'/',
'N',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
219 $ 1, z, 1, w, lw, info )
220 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
222 CALL shgeqz(
'E',
'/',
'N', 0, 1, 0, a, 1, b, 1, r1, r2, r3, q,
223 $ 1, z, 1, w, lw, info )
224 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
226 CALL shgeqz(
'E',
'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',
'N', -1, 0, 0, a, 1, b, 1, r1, r2, r3,
231 $ q, 1, z, 1, w, lw, info )
232 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
234 CALL shgeqz(
'E',
'N',
'N', 0, 0, 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', 0, 1, 1, a, 1, b, 1, r1, r2, r3, q,
239 $ 1, z, 1, w, lw, info )
240 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
242 CALL shgeqz(
'E',
'N',
'N', 2, 1, 1, a, 1, b, 2, 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', 2, 1, 1, a, 2, 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',
'V',
'N', 2, 1, 1, a, 2, 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',
'V', 2, 1, 1, a, 2, b, 2, r1, r2, r3, q,
255 $ 1, z, 1, w, lw, info )
256 CALL chkxer(
'SHGEQZ', infot, nout, lerr, ok )
263 CALL stgevc(
'/',
'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
265 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
267 CALL stgevc(
'R',
'/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
269 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
271 CALL stgevc(
'R',
'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
273 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
275 CALL stgevc(
'R',
'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
277 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
279 CALL stgevc(
'R',
'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
281 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
283 CALL stgevc(
'L',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
285 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
287 CALL stgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
289 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
291 CALL stgevc(
'R',
'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
293 CALL chkxer(
'STGEVC', infot, nout, lerr, ok )
298 ELSE IF(
lsamen( 3, path,
'GSV' ) )
THEN
304 CALL sggsvd3(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
305 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
306 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
308 CALL sggsvd3(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
309 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
310 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
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',
'N', -1, 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',
'N', 0, -1, 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', 0, 0, -1, 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', 2, 1, 1, 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', 1, 1, 2, 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(
'U',
'N',
'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
337 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
338 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
340 CALL sggsvd3(
'N',
'V',
'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
341 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
342 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
344 CALL sggsvd3(
'N',
'N',
'Q', 1, 2, 1, dummyk, dummyl, a, 1, b,
345 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, idum, info )
346 CALL chkxer(
'SGGSVD3', infot, nout, lerr, ok )
353 CALL sggsvp3(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
354 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
356 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
358 CALL sggsvp3(
'N',
'/',
'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
359 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
361 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
363 CALL sggsvp3(
'N',
'N',
'/', 0, 0, 0, a, 1, b, 1, tola, tolb,
364 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
366 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
368 CALL sggsvp3(
'N',
'N',
'N', -1, 0, 0, a, 1, b, 1, tola, tolb,
369 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
371 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
373 CALL sggsvp3(
'N',
'N',
'N', 0, -1, 0, a, 1, b, 1, tola, tolb,
374 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
376 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
378 CALL sggsvp3(
'N',
'N',
'N', 0, 0, -1, a, 1, b, 1, tola, tolb,
379 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
381 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
383 CALL sggsvp3(
'N',
'N',
'N', 2, 1, 1, a, 1, b, 1, tola, tolb,
384 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
386 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
388 CALL sggsvp3(
'N',
'N',
'N', 1, 2, 1, a, 1, b, 1, tola, tolb,
389 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
391 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
393 CALL sggsvp3(
'U',
'N',
'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
394 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
396 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
398 CALL sggsvp3(
'N',
'V',
'N', 1, 2, 1, a, 1, b, 2, tola, tolb,
399 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
401 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
403 CALL sggsvp3(
'N',
'N',
'Q', 1, 1, 2, a, 1, b, 1, tola, tolb,
404 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, tau, w,
406 CALL chkxer(
'SGGSVP3', infot, nout, lerr, ok )
413 CALL stgsja(
'/',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
414 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
416 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
418 CALL stgsja(
'N',
'/',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
419 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
421 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
423 CALL stgsja(
'N',
'N',
'/', 0, 0, 0, dummyk, dummyl, a, 1, b,
424 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
426 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
428 CALL stgsja(
'N',
'N',
'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
429 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
431 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
433 CALL stgsja(
'N',
'N',
'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
434 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
436 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
438 CALL stgsja(
'N',
'N',
'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
439 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
441 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
443 CALL stgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 0, b,
444 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
446 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
448 CALL stgsja(
'N',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
449 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
451 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
453 CALL stgsja(
'U',
'N',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
454 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
456 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
458 CALL stgsja(
'N',
'V',
'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
459 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
461 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
463 CALL stgsja(
'N',
'N',
'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
464 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
466 CALL chkxer(
'STGSJA', infot, nout, lerr, ok )
471 ELSE IF(
lsamen( 3, path,
'GLM' ) )
THEN
477 CALL sggglm( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
478 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
480 CALL sggglm( 0, -1, 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, 0, -1, a, 1, b, 1, r1, r2, r3, w, lw, info )
487 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
489 CALL sggglm( 1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
490 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
492 CALL sggglm( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
493 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
495 CALL sggglm( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
496 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
498 CALL sggglm( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
499 CALL chkxer(
'SGGGLM', infot, nout, lerr, ok )
504 ELSE IF(
lsamen( 3, path,
'LSE' ) )
THEN
510 CALL sgglse( -1, 0, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
511 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
513 CALL sgglse( 0, -1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
514 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
516 CALL sgglse( 0, 0, -1, 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, 1, 0, a, 1, b, 1, r1, r2, r3, w, lw, info )
523 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
525 CALL sgglse( 0, 0, 0, a, 0, b, 1, r1, r2, r3, w, lw, info )
526 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
528 CALL sgglse( 0, 0, 0, a, 1, b, 0, r1, r2, r3, w, lw, info )
529 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
531 CALL sgglse( 1, 1, 1, a, 1, b, 1, r1, r2, r3, w, 1, info )
532 CALL chkxer(
'SGGLSE', infot, nout, lerr, ok )
537 ELSE IF(
lsamen( 3, path,
'CSD' ) )
THEN
543 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
546 $ a, 1, a, 1, a, 1, a,
547 $ 1, w, lw, iw, info )
548 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
550 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
553 $ a, 1, a, 1, a, 1, a,
554 $ 1, w, lw, iw, info )
555 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
557 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
560 $ a, 1, a, 1, a, 1, a,
561 $ 1, w, lw, iw, info )
562 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
564 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
567 $ a, 1, a, 1, a, 1, a,
568 $ 1, w, lw, iw, info )
569 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
571 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
574 $ a, -1, a, 1, a, 1, a,
575 $ 1, w, lw, iw, info )
576 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
578 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
581 $ a, 1, a, -1, a, 1, a,
582 $ 1, w, lw, iw, info )
583 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
585 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
588 $ a, 1, a, 1, a, -1, a,
589 $ 1, w, lw, iw, info )
590 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
592 CALL sorcsd(
'Y',
'Y',
'Y',
'Y',
'N',
'N',
595 $ a, 1, a, 1, a, 1, a,
596 $ -1, w, lw, iw, info )
597 CALL chkxer(
'SORCSD', infot, nout, lerr, ok )
602 ELSE IF(
lsamen( 3, path,
'GQR' ) )
THEN
608 CALL sggqrf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
609 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
611 CALL sggqrf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
612 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
614 CALL sggqrf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
615 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
617 CALL sggqrf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
618 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
620 CALL sggqrf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
621 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
623 CALL sggqrf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
624 CALL chkxer(
'SGGQRF', infot, nout, lerr, ok )
631 CALL sggrqf( -1, 0, 0, a, 1, r1, b, 1, r2, w, lw, info )
632 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
634 CALL sggrqf( 0, -1, 0, a, 1, r1, b, 1, r2, w, lw, info )
635 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
637 CALL sggrqf( 0, 0, -1, a, 1, r1, b, 1, r2, w, lw, info )
638 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
640 CALL sggrqf( 0, 0, 0, a, 0, r1, b, 1, r2, w, lw, info )
641 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
643 CALL sggrqf( 0, 0, 0, a, 1, r1, b, 0, r2, w, lw, info )
644 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
646 CALL sggrqf( 1, 1, 2, a, 1, r1, b, 1, r2, w, 1, info )
647 CALL chkxer(
'SGGRQF', infot, nout, lerr, ok )
652 ELSE IF(
lsamen( 3, path,
'SGS' ) .OR.
653 $
lsamen( 3, path,
'SGV' ) .OR.
654 $
lsamen( 3, path,
'SGX' ) .OR.
lsamen( 3, path,
'SXV' ) )
661 CALL sgges(
'/',
'N',
'S',
slctes, 1, a, 1, b, 1, sdim, r1, r2,
662 $ r3, q, 1, u, 1, w, 1, bw, info )
663 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
665 CALL sgges(
'N',
'/',
'S',
slctes, 1, a, 1, b, 1, sdim, r1, r2,
666 $ r3, q, 1, u, 1, w, 1, bw, info )
667 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
669 CALL sgges(
'N',
'V',
'/',
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',
'V',
'S',
slctes, -1, a, 1, b, 1, sdim, r1,
674 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
675 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
677 CALL sgges(
'N',
'V',
'S',
slctes, 1, a, 0, 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, 0, sdim, r1, r2,
682 $ 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, 1, b, 1, sdim, r1, r2,
686 $ r3, q, 0, u, 1, w, 1, bw, info )
687 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
689 CALL sgges(
'V',
'V',
'S',
slctes, 2, a, 2, b, 2, sdim, r1, r2,
690 $ r3, q, 1, u, 2, 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, 1, u, 0, 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, 2, u, 1, w, 1, bw, info )
699 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
701 CALL sgges(
'V',
'V',
'S',
slctes, 2, a, 2, b, 2, sdim, r1, r2,
702 $ r3, q, 2, u, 2, w, 1, bw, info )
703 CALL chkxer(
'SGGES ', infot, nout, lerr, ok )
710 CALL sgges3(
'/',
'N',
'S',
slctes, 1, a, 1, b, 1, sdim, r1,
711 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
712 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
714 CALL sgges3(
'N',
'/',
'S',
slctes, 1, a, 1, b, 1, sdim, r1,
715 $ r2, r3, q, 1, u, 1, w, 1, bw, info )
716 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
718 CALL sgges3(
'N',
'V',
'/',
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',
'V',
'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',
'S',
slctes, 1, a, 0, 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, 0, 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, 1, b, 1, sdim, r1,
735 $ r2, r3, q, 0, u, 1, w, 1, bw, info )
736 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
738 CALL sgges3(
'V',
'V',
'S',
slctes, 2, a, 2, b, 2, sdim, r1,
739 $ r2, r3, q, 1, u, 2, 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, 1, u, 0, 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, 2, u, 1, w, 1, bw, info )
748 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
750 CALL sgges3(
'V',
'V',
'S',
slctes, 2, a, 2, b, 2, sdim, r1,
751 $ r2, r3, q, 2, u, 2, w, 1, bw, info )
752 CALL chkxer(
'SGGES3 ', infot, nout, lerr, ok )
759 CALL sggesx(
'/',
'N',
'S',
slctsx,
'N', 1, a, 1, b, 1, sdim,
760 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
762 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
764 CALL sggesx(
'N',
'/',
'S',
slctsx,
'N', 1, a, 1, b, 1, sdim,
765 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
767 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
769 CALL sggesx(
'V',
'V',
'/',
slctsx,
'N', 1, a, 1, b, 1, sdim,
770 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
772 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
774 CALL sggesx(
'V',
'V',
'S',
slctsx,
'/', 1, a, 1, b, 1, sdim,
775 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
777 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
779 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', -1, a, 1, b, 1, sdim,
780 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
782 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
784 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 1, a, 0, b, 1, sdim,
785 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
787 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
789 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 1, a, 1, b, 0, sdim,
790 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
792 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
794 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 1, a, 1, b, 1, sdim,
795 $ r1, r2, r3, q, 0, u, 1, rce, rcv, w, 1, iw, 1, bw,
797 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
799 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 2, a, 2, b, 2, sdim,
800 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 1, iw, 1, bw,
802 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
804 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 1, a, 1, b, 1, sdim,
805 $ r1, r2, r3, q, 1, u, 0, rce, rcv, w, 1, iw, 1, bw,
807 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
809 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 2, a, 2, b, 2, sdim,
810 $ r1, r2, r3, q, 2, u, 1, rce, rcv, w, 1, iw, 1, bw,
812 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
814 CALL sggesx(
'V',
'V',
'S',
slctsx,
'B', 2, a, 2, b, 2, sdim,
815 $ r1, r2, r3, q, 2, u, 2, rce, rcv, w, 1, iw, 1, bw,
817 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
819 CALL sggesx(
'V',
'V',
'S',
slctsx,
'V', 1, a, 1, b, 1, sdim,
820 $ r1, r2, r3, q, 1, u, 1, rce, rcv, w, 32, iw, 0,
822 CALL chkxer(
'SGGESX', infot, nout, lerr, ok )
829 CALL sggev(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
831 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
833 CALL sggev(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
835 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
837 CALL sggev(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
839 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
841 CALL sggev(
'V',
'V', 1, a, 0, 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, 0, r1, r2, r3, q, 1, u, 1, w,
847 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
849 CALL sggev(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1, w,
851 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
853 CALL sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2, w,
855 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
857 CALL sggev(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0, w,
859 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
861 CALL sggev(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1, w,
863 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
865 CALL sggev(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1, w,
867 CALL chkxer(
'SGGEV ', infot, nout, lerr, ok )
874 CALL sggev3(
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
876 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
878 CALL sggev3(
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
880 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
882 CALL sggev3(
'V',
'V', -1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
884 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
886 CALL sggev3(
'V',
'V', 1, a, 0, 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, 0, r1, r2, r3, q, 1, u, 1,
892 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
894 CALL sggev3(
'N',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 0, u, 1,
896 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
898 CALL sggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 1, u, 2,
900 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
902 CALL sggev3(
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 0,
904 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
906 CALL sggev3(
'V',
'V', 2, a, 2, b, 2, r1, r2, r3, q, 2, u, 1,
908 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
910 CALL sggev3(
'V',
'V', 1, a, 1, b, 1, r1, r2, r3, q, 1, u, 1,
912 CALL chkxer(
'SGGEV3 ', infot, nout, lerr, ok )
919 CALL sggevx(
'/',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
920 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
921 $ w, 1, iw, bw, info )
922 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
924 CALL sggevx(
'N',
'/',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
925 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
926 $ w, 1, iw, bw, info )
927 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
929 CALL sggevx(
'N',
'N',
'/',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
930 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
931 $ w, 1, iw, bw, info )
932 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
934 CALL sggevx(
'N',
'N',
'N',
'/', 1, a, 1, b, 1, r1, r2, r3, q,
935 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
936 $ w, 1, iw, bw, info )
937 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
939 CALL sggevx(
'N',
'N',
'N',
'N', -1, a, 1, b, 1, r1, r2, r3, q,
940 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
941 $ w, 1, iw, bw, info )
942 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
944 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 0, b, 1, r1, r2, r3, q,
945 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
946 $ w, 1, iw, bw, info )
947 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
949 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 0, r1, r2, r3, q,
950 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
951 $ w, 1, iw, bw, info )
952 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
954 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
955 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
956 $ w, 1, iw, bw, info )
957 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
959 CALL sggevx(
'N',
'V',
'N',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
960 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
961 $ w, 1, iw, bw, info )
962 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
964 CALL sggevx(
'N',
'N',
'N',
'N', 1, a, 1, b, 1, r1, r2, r3, q,
965 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
966 $ w, 1, iw, bw, info )
967 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
969 CALL sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
970 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
971 $ w, 1, iw, bw, info )
972 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
974 CALL sggevx(
'N',
'N',
'V',
'N', 2, a, 2, b, 2, r1, r2, r3, q,
975 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
976 $ w, 1, iw, bw, info )
977 CALL chkxer(
'SGGEVX', infot, nout, lerr, ok )
984 CALL stgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
986 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
988 CALL stgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
990 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
992 CALL stgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
994 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
996 CALL stgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
998 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1000 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1001 $ ilst, w, 1, info )
1002 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1004 CALL stgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, 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, 1, z, 0, ifst,
1009 $ ilst, w, 1, info )
1010 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1012 CALL stgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 1, ifst,
1013 $ ilst, w, 0, info )
1014 CALL chkxer(
'STGEXC', infot, nout, lerr, ok )
1021 CALL stgsen( -1, .true., .true., sel, 1, a, 1, b, 1, r1, r2,
1022 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1024 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1026 CALL stgsen( 1, .true., .true., sel, -1, a, 1, b, 1, r1, r2,
1027 $ r3, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1029 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1031 CALL stgsen( 1, .true., .true., sel, 1, a, 0, b, 1, r1, r2, r3,
1032 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1034 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1036 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 0, r1, r2, r3,
1037 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1039 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1041 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1042 $ q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1044 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1046 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1047 $ q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1049 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1051 CALL stgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1052 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1054 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1056 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1057 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1059 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1061 CALL stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1062 $ q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1064 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1066 CALL stgsen( 0, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1067 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1069 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1071 CALL stgsen( 1, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1072 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 0,
1074 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1076 CALL stgsen( 2, .true., .true., sel, 1, a, 1, b, 1, r1, r2, r3,
1077 $ q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw, 1,
1079 CALL chkxer(
'STGSEN', infot, nout, lerr, ok )
1086 CALL stgsna(
'/',
'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1087 $ 1, m, w, 1, iw, info )
1088 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1090 CALL stgsna(
'B',
'/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1091 $ 1, m, w, 1, iw, info )
1092 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1094 CALL stgsna(
'B',
'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',
'A', sel, 1, a, 0, 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, 0, q, 1, u, 1, r1, r2,
1103 $ 1, m, w, 1, iw, info )
1104 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1106 CALL stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1107 $ 1, m, w, 1, iw, info )
1108 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1110 CALL stgsna(
'E',
'A', sel, 1, a, 1, b, 1, q, 1, u, 0, 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, 1, u, 1, r1, r2,
1115 $ 0, 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, 1, r1, r2,
1119 $ 1, m, w, 0, iw, info )
1120 CALL chkxer(
'STGSNA', infot, nout, lerr, ok )
1127 CALL stgsyl(
'/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1128 $ scale, dif, w, 1, iw, info )
1129 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1131 CALL stgsyl(
'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1132 $ scale, dif, w, 1, iw, info )
1133 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1135 CALL stgsyl(
'N', 0, 0, 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', 0, 1, 0, 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, 1, 1, a, 0, 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, 1, a, 1, b, 0, 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, 1, b, 1, q, 0, 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, 1, q, 1, u, 0, 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, 1, u, 1, v, 0, 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, 1, v, 1, z, 0,
1164 $ scale, dif, w, 1, iw, info )
1165 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1167 CALL stgsyl(
'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1168 $ scale, dif, w, 1, iw, info )
1169 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1171 CALL stgsyl(
'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1172 $ scale, dif, w, 1, iw, info )
1173 CALL chkxer(
'STGSYL', infot, nout, lerr, ok )
1180 WRITE( nout, fmt = 9999 )path, nt
1182 WRITE( nout, fmt = 9998 )path
1185 9999
FORMAT( 1x, a3,
' routines passed the tests of the error exits (',
1186 $ i3,
' tests done)' )
1187 9998
FORMAT(
' *** ', a3,
' routines failed the tests of the error ',
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
logical function lsamen(N, CA, CB)
LSAMEN
subroutine stgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, WORK, LWORK, INFO)
STGEXC
subroutine stgevc(SIDE, HOWMNY, SELECT, N, S, LDS, P, LDP, VL, LDVL, VR, LDVR, MM, M, WORK, INFO)
STGEVC
subroutine shgeqz(JOB, COMPQ, COMPZ, N, ILO, IHI, H, LDH, T, LDT, ALPHAR, ALPHAI, BETA, Q, LDQ, Z, LDZ, WORK, LWORK, INFO)
SHGEQZ
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 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 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 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 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 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 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 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
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 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 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 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 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 sggglm(N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, INFO)
SGGGLM
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 stgsyl(TRANS, IJOB, M, N, A, LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF, SCALE, DIF, WORK, LWORK, IWORK, INFO)
STGSYL
logical function slctes(ZR, ZI, D)
SLCTES
logical function slctsx(AR, AI, BETA)
SLCTSX