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 )
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 ',