LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
zerrgg.f
Go to the documentation of this file.
1*> \brief \b ZERRGG
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8* Definition:
9* ===========
10*
11* SUBROUTINE ZERRGG( PATH, NUNIT )
12*
13* .. Scalar Arguments ..
14* CHARACTER*3 PATH
15* INTEGER NUNIT
16* ..
17*
18*
19*> \par Purpose:
20* =============
21*>
22*> \verbatim
23*>
24*> ZERRGG tests the error exits for ZGGES, ZGGESX, ZGGEV, ZGGEVX,
25*> ZGGES3, ZGGEV3, ZGGGLM, ZGGHRD, ZGGLSE, ZGGQRF, ZGGRQF,
26*> ZGGSVD3, ZGGSVP3, ZHGEQZ, ZTGEVC, ZTGEXC, ZTGSEN, ZTGSJA,
27*> ZTGSNA, ZTGSYL, and ZUNCSD.
28*> \endverbatim
29*
30* Arguments:
31* ==========
32*
33*> \param[in] PATH
34*> \verbatim
35*> PATH is CHARACTER*3
36*> The LAPACK path name for the routines to be tested.
37*> \endverbatim
38*>
39*> \param[in] NUNIT
40*> \verbatim
41*> NUNIT is INTEGER
42*> The unit number for output.
43*> \endverbatim
44*
45* Authors:
46* ========
47*
48*> \author Univ. of Tennessee
49*> \author Univ. of California Berkeley
50*> \author Univ. of Colorado Denver
51*> \author NAG Ltd.
52*
53*> \ingroup complex16_eig
54*
55* =====================================================================
56 SUBROUTINE zerrgg( PATH, NUNIT )
57*
58* -- LAPACK test routine --
59* -- LAPACK is a software package provided by Univ. of Tennessee, --
60* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
61*
62* .. Scalar Arguments ..
63 CHARACTER*3 PATH
64 INTEGER NUNIT
65* ..
66*
67* =====================================================================
68*
69* .. Parameters ..
70 INTEGER NMAX, LW
71 parameter( nmax = 3, lw = 6*nmax )
72 DOUBLE PRECISION ONE, ZERO
73 parameter( one = 1.0d+0, zero = 0.0d+0 )
74* ..
75* .. Local Scalars ..
76 CHARACTER*2 C2
77 INTEGER DUMMYK, DUMMYL, I, IFST, IHI, ILO, ILST, INFO,
78 $ J, M, NCYCLE, NT, SDIM, LWORK
79 DOUBLE PRECISION ANRM, BNRM, DIF, SCALE, TOLA, TOLB
80* ..
81* .. Local Arrays ..
82 LOGICAL BW( NMAX ), SEL( NMAX )
83 INTEGER IW( LW ), IDUM(NMAX)
84 DOUBLE PRECISION LS( NMAX ), R1( NMAX ), R2( NMAX ),
85 $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
86 COMPLEX*16 A( NMAX, NMAX ), ALPHA( NMAX ),
87 $ B( NMAX, NMAX ), BETA( NMAX ), Q( NMAX, NMAX ),
88 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
89 $ W( LW ), Z( NMAX, NMAX )
90* ..
91* .. External Functions ..
92 LOGICAL LSAMEN, ZLCTES, ZLCTSX
93 EXTERNAL lsamen, zlctes, zlctsx
94* ..
95* .. External Subroutines ..
96 EXTERNAL chkxer, zgges, zggesx, zggev, zggevx, zggglm,
101* ..
102* .. Scalars in Common ..
103 LOGICAL LERR, OK
104 CHARACTER*32 SRNAMT
105 INTEGER INFOT, NOUT
106* ..
107* .. Common blocks ..
108 COMMON / infoc / infot, nout, ok, lerr
109 COMMON / srnamc / srnamt
110* ..
111* .. Executable Statements ..
112*
113 nout = nunit
114 WRITE( nout, fmt = * )
115 c2 = path( 2: 3 )
116*
117* Set the variables to innocuous values.
118*
119 DO 20 j = 1, nmax
120 sel( j ) = .true.
121 DO 10 i = 1, nmax
122 a( i, j ) = zero
123 b( i, j ) = zero
124 10 CONTINUE
125 20 CONTINUE
126 DO 30 i = 1, nmax
127 a( i, i ) = one
128 b( i, i ) = one
129 30 CONTINUE
130 ok = .true.
131 tola = 1.0d0
132 tolb = 1.0d0
133 ifst = 1
134 ilst = 1
135 nt = 0
136 lwork = 1
137*
138* Call XLAENV to set the parameters used in CLAQZ0
139*
140 CALL xlaenv( 12, 10 )
141 CALL xlaenv( 13, 12 )
142 CALL xlaenv( 14, 13 )
143 CALL xlaenv( 15, 2 )
144 CALL xlaenv( 17, 10 )
145*
146* Test error exits for the GG path.
147*
148 IF( lsamen( 2, c2, 'GG' ) ) THEN
149*
150* ZGGHRD
151*
152 srnamt = 'ZGGHRD'
153 infot = 1
154 CALL zgghrd( '/', 'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
155 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
156 infot = 2
157 CALL zgghrd( 'N', '/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, info )
158 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
159 infot = 3
160 CALL zgghrd( 'N', 'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
161 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
162 infot = 4
163 CALL zgghrd( 'N', 'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, info )
164 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
165 infot = 5
166 CALL zgghrd( 'N', 'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, info )
167 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
168 infot = 7
169 CALL zgghrd( 'N', 'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, info )
170 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
171 infot = 9
172 CALL zgghrd( 'N', 'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, info )
173 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
174 infot = 11
175 CALL zgghrd( 'V', 'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
176 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
177 infot = 13
178 CALL zgghrd( 'N', 'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, info )
179 CALL chkxer( 'ZGGHRD', infot, nout, lerr, ok )
180 nt = nt + 9
181*
182* ZGGHD3
183*
184 srnamt = 'ZGGHD3'
185 infot = 1
186 CALL zgghd3( '/', 'N', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
187 $ info )
188 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
189 infot = 2
190 CALL zgghd3( 'N', '/', 0, 1, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
191 $ info )
192 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
193 infot = 3
194 CALL zgghd3( 'N', 'N', -1, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
195 $ info )
196 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
197 infot = 4
198 CALL zgghd3( 'N', 'N', 0, 0, 0, a, 1, b, 1, q, 1, z, 1, w, lw,
199 $ info )
200 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
201 infot = 5
202 CALL zgghd3( 'N', 'N', 0, 1, 1, a, 1, b, 1, q, 1, z, 1, w, lw,
203 $ info )
204 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
205 infot = 7
206 CALL zgghd3( 'N', 'N', 2, 1, 1, a, 1, b, 2, q, 1, z, 1, w, lw,
207 $ info )
208 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
209 infot = 9
210 CALL zgghd3( 'N', 'N', 2, 1, 1, a, 2, b, 1, q, 1, z, 1, w, lw,
211 $ info )
212 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
213 infot = 11
214 CALL zgghd3( 'V', 'N', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
215 $ info )
216 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
217 infot = 13
218 CALL zgghd3( 'N', 'V', 2, 1, 1, a, 2, b, 2, q, 1, z, 1, w, lw,
219 $ info )
220 CALL chkxer( 'ZGGHD3', infot, nout, lerr, ok )
221 nt = nt + 9
222*
223* ZHGEQZ
224*
225 srnamt = 'ZHGEQZ'
226 infot = 1
227 CALL zhgeqz( '/', 'N', 'N', 0, 1, 0, a, 1, b, 1, alpha, beta,
228 $ q, 1, z, 1, w, 1, rw, info )
229 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
230 infot = 2
231 CALL zhgeqz( 'E', '/', 'N', 0, 1, 0, a, 1, b, 1, alpha, beta,
232 $ q, 1, z, 1, w, 1, rw, info )
233 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
234 infot = 3
235 CALL zhgeqz( 'E', 'N', '/', 0, 1, 0, a, 1, b, 1, alpha, beta,
236 $ q, 1, z, 1, w, 1, rw, info )
237 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
238 infot = 4
239 CALL zhgeqz( 'E', 'N', 'N', -1, 0, 0, a, 1, b, 1, alpha, beta,
240 $ q, 1, z, 1, w, 1, rw, info )
241 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
242 infot = 5
243 CALL zhgeqz( 'E', 'N', 'N', 0, 0, 0, a, 1, b, 1, alpha, beta,
244 $ q, 1, z, 1, w, 1, rw, info )
245 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
246 infot = 6
247 CALL zhgeqz( 'E', 'N', 'N', 0, 1, 1, a, 1, b, 1, alpha, beta,
248 $ q, 1, z, 1, w, 1, rw, info )
249 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
250 infot = 8
251 CALL zhgeqz( 'E', 'N', 'N', 2, 1, 1, a, 1, b, 2, alpha, beta,
252 $ q, 1, z, 1, w, 1, rw, info )
253 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
254 infot = 10
255 CALL zhgeqz( 'E', 'N', 'N', 2, 1, 1, a, 2, b, 1, alpha, beta,
256 $ q, 1, z, 1, w, 1, rw, info )
257 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
258 infot = 14
259 CALL zhgeqz( 'E', 'V', 'N', 2, 1, 1, a, 2, b, 2, alpha, beta,
260 $ q, 1, z, 1, w, 1, rw, info )
261 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
262 infot = 16
263 CALL zhgeqz( 'E', 'N', 'V', 2, 1, 1, a, 2, b, 2, alpha, beta,
264 $ q, 1, z, 1, w, 1, rw, info )
265 CALL chkxer( 'ZHGEQZ', infot, nout, lerr, ok )
266 nt = nt + 10
267*
268* ZTGEVC
269*
270 srnamt = 'ZTGEVC'
271 infot = 1
272 CALL ztgevc( '/', 'A', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
273 $ rw, info )
274 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
275 infot = 2
276 CALL ztgevc( 'R', '/', sel, 0, a, 1, b, 1, q, 1, z, 1, 0, m, w,
277 $ rw, info )
278 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
279 infot = 4
280 CALL ztgevc( 'R', 'A', sel, -1, a, 1, b, 1, q, 1, z, 1, 0, m,
281 $ w, rw, info )
282 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
283 infot = 6
284 CALL ztgevc( 'R', 'A', sel, 2, a, 1, b, 2, q, 1, z, 2, 0, m, w,
285 $ rw, info )
286 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
287 infot = 8
288 CALL ztgevc( 'R', 'A', sel, 2, a, 2, b, 1, q, 1, z, 2, 0, m, w,
289 $ rw, info )
290 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
291 infot = 10
292 CALL ztgevc( 'L', 'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
293 $ rw, info )
294 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
295 infot = 12
296 CALL ztgevc( 'R', 'A', sel, 2, a, 2, b, 2, q, 1, z, 1, 0, m, w,
297 $ rw, info )
298 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
299 infot = 13
300 CALL ztgevc( 'R', 'A', sel, 2, a, 2, b, 2, q, 1, z, 2, 1, m, w,
301 $ rw, info )
302 CALL chkxer( 'ZTGEVC', infot, nout, lerr, ok )
303 nt = nt + 8
304*
305* Test error exits for the GSV path.
306*
307 ELSE IF( lsamen( 3, path, 'GSV' ) ) THEN
308*
309* ZGGSVD3
310*
311 srnamt = 'ZGGSVD3'
312 infot = 1
313 CALL zggsvd3( '/', 'N', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
314 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
315 $ info )
316 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
317 infot = 2
318 CALL zggsvd3( 'N', '/', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
319 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
320 $ info )
321 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
322 infot = 3
323 CALL zggsvd3( 'N', 'N', '/', 0, 0, 0, dummyk, dummyl, a, 1, b,
324 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
325 $ info )
326 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
327 infot = 4
328 CALL zggsvd3( 'N', 'N', 'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
329 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
330 $ info )
331 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
332 infot = 5
333 CALL zggsvd3( 'N', 'N', 'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
334 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
335 $ info )
336 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
337 infot = 6
338 CALL zggsvd3( 'N', 'N', 'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
339 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
340 $ info )
341 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
342 infot = 10
343 CALL zggsvd3( 'N', 'N', 'N', 2, 1, 1, dummyk, dummyl, a, 1, b,
344 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
345 $ info )
346 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
347 infot = 12
348 CALL zggsvd3( 'N', 'N', 'N', 1, 1, 2, dummyk, dummyl, a, 1, b,
349 $ 1, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
350 $ info )
351 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
352 infot = 16
353 CALL zggsvd3( 'U', 'N', 'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
354 $ 2, r1, r2, u, 1, v, 1, q, 1, w, lwork, rw, idum,
355 $ info )
356 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
357 infot = 18
358 CALL zggsvd3( 'N', 'V', 'N', 2, 2, 2, dummyk, dummyl, a, 2, b,
359 $ 2, r1, r2, u, 2, v, 1, q, 1, w, lwork, rw, idum,
360 $ info )
361 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
362 infot = 20
363 CALL zggsvd3( 'N', 'N', 'Q', 2, 2, 2, dummyk, dummyl, a, 2, b,
364 $ 2, r1, r2, u, 2, v, 2, q, 1, w, lwork, rw, idum,
365 $ info )
366 CALL chkxer( 'ZGGSVD3', infot, nout, lerr, ok )
367 nt = nt + 11
368*
369* ZGGSVP3
370*
371 srnamt = 'ZGGSVP3'
372 infot = 1
373 CALL zggsvp3( '/', 'N', 'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
374 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
375 $ lwork, info )
376 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
377 infot = 2
378 CALL zggsvp3( 'N', '/', 'N', 0, 0, 0, a, 1, b, 1, tola, tolb,
379 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
380 $ lwork, info )
381 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
382 infot = 3
383 CALL zggsvp3( 'N', 'N', '/', 0, 0, 0, a, 1, b, 1, tola, tolb,
384 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
385 $ lwork, info )
386 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
387 infot = 4
388 CALL zggsvp3( 'N', 'N', 'N', -1, 0, 0, a, 1, b, 1, tola, tolb,
389 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
390 $ lwork, info )
391 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
392 infot = 5
393 CALL zggsvp3( 'N', 'N', 'N', 0, -1, 0, a, 1, b, 1, tola, tolb,
394 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
395 $ lwork, info )
396 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
397 infot = 6
398 CALL zggsvp3( 'N', 'N', 'N', 0, 0, -1, a, 1, b, 1, tola, tolb,
399 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
400 $ lwork, info )
401 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
402 infot = 8
403 CALL zggsvp3( 'N', 'N', 'N', 2, 1, 1, a, 1, b, 1, tola, tolb,
404 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
405 $ lwork, info )
406 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
407 infot = 10
408 CALL zggsvp3( 'N', 'N', 'N', 1, 2, 1, a, 1, b, 1, tola, tolb,
409 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
410 $ lwork, info )
411 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
412 infot = 16
413 CALL zggsvp3( 'U', 'N', 'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
414 $ dummyk, dummyl, u, 1, v, 1, q, 1, iw, rw, tau, w,
415 $ lwork, info )
416 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
417 infot = 18
418 CALL zggsvp3( 'N', 'V', 'N', 2, 2, 2, a, 2, b, 2, tola, tolb,
419 $ dummyk, dummyl, u, 2, v, 1, q, 1, iw, rw, tau, w,
420 $ lwork, info )
421 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
422 infot = 20
423 CALL zggsvp3( 'N', 'N', 'Q', 2, 2, 2, a, 2, b, 2, tola, tolb,
424 $ dummyk, dummyl, u, 2, v, 2, q, 1, iw, rw, tau, w,
425 $ lwork, info )
426 CALL chkxer( 'ZGGSVP3', infot, nout, lerr, ok )
427 nt = nt + 11
428*
429* ZTGSJA
430*
431 srnamt = 'ZTGSJA'
432 infot = 1
433 CALL ztgsja( '/', 'N', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
434 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
435 $ ncycle, info )
436 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
437 infot = 2
438 CALL ztgsja( 'N', '/', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
439 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
440 $ ncycle, info )
441 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
442 infot = 3
443 CALL ztgsja( 'N', 'N', '/', 0, 0, 0, dummyk, dummyl, a, 1, b,
444 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
445 $ ncycle, info )
446 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
447 infot = 4
448 CALL ztgsja( 'N', 'N', 'N', -1, 0, 0, dummyk, dummyl, a, 1, b,
449 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
450 $ ncycle, info )
451 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
452 infot = 5
453 CALL ztgsja( 'N', 'N', 'N', 0, -1, 0, dummyk, dummyl, a, 1, b,
454 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
455 $ ncycle, info )
456 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
457 infot = 6
458 CALL ztgsja( 'N', 'N', 'N', 0, 0, -1, dummyk, dummyl, a, 1, b,
459 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
460 $ ncycle, info )
461 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
462 infot = 10
463 CALL ztgsja( 'N', 'N', 'N', 0, 0, 0, dummyk, dummyl, a, 0, b,
464 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
465 $ ncycle, info )
466 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
467 infot = 12
468 CALL ztgsja( 'N', 'N', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
469 $ 0, tola, tolb, r1, r2, u, 1, v, 1, q, 1, w,
470 $ ncycle, info )
471 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
472 infot = 18
473 CALL ztgsja( 'U', 'N', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
474 $ 1, tola, tolb, r1, r2, u, 0, v, 1, q, 1, w,
475 $ ncycle, info )
476 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
477 infot = 20
478 CALL ztgsja( 'N', 'V', 'N', 0, 0, 0, dummyk, dummyl, a, 1, b,
479 $ 1, tola, tolb, r1, r2, u, 1, v, 0, q, 1, w,
480 $ ncycle, info )
481 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
482 infot = 22
483 CALL ztgsja( 'N', 'N', 'Q', 0, 0, 0, dummyk, dummyl, a, 1, b,
484 $ 1, tola, tolb, r1, r2, u, 1, v, 1, q, 0, w,
485 $ ncycle, info )
486 CALL chkxer( 'ZTGSJA', infot, nout, lerr, ok )
487 nt = nt + 11
488*
489* Test error exits for the GLM path.
490*
491 ELSE IF( lsamen( 3, path, 'GLM' ) ) THEN
492*
493* ZGGGLM
494*
495 srnamt = 'ZGGGLM'
496 infot = 1
497 CALL zggglm( -1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
498 $ info )
499 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
500 infot = 2
501 CALL zggglm( 0, -1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
502 $ info )
503 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
504 infot = 2
505 CALL zggglm( 0, 1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
506 $ info )
507 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
508 infot = 3
509 CALL zggglm( 0, 0, -1, a, 1, b, 1, tau, alpha, beta, w, lw,
510 $ info )
511 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
512 infot = 3
513 CALL zggglm( 1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
514 $ info )
515 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
516 infot = 5
517 CALL zggglm( 0, 0, 0, a, 0, b, 1, tau, alpha, beta, w, lw,
518 $ info )
519 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
520 infot = 7
521 CALL zggglm( 0, 0, 0, a, 1, b, 0, tau, alpha, beta, w, lw,
522 $ info )
523 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
524 infot = 12
525 CALL zggglm( 1, 1, 1, a, 1, b, 1, tau, alpha, beta, w, 1,
526 $ info )
527 CALL chkxer( 'ZGGGLM', infot, nout, lerr, ok )
528 nt = nt + 8
529*
530* Test error exits for the LSE path.
531*
532 ELSE IF( lsamen( 3, path, 'LSE' ) ) THEN
533*
534* ZGGLSE
535*
536 srnamt = 'ZGGLSE'
537 infot = 1
538 CALL zgglse( -1, 0, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
539 $ info )
540 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
541 infot = 2
542 CALL zgglse( 0, -1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
543 $ info )
544 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
545 infot = 3
546 CALL zgglse( 0, 0, -1, a, 1, b, 1, tau, alpha, beta, w, lw,
547 $ info )
548 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
549 infot = 3
550 CALL zgglse( 0, 0, 1, a, 1, b, 1, tau, alpha, beta, w, lw,
551 $ info )
552 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
553 infot = 3
554 CALL zgglse( 0, 1, 0, a, 1, b, 1, tau, alpha, beta, w, lw,
555 $ info )
556 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
557 infot = 5
558 CALL zgglse( 0, 0, 0, a, 0, b, 1, tau, alpha, beta, w, lw,
559 $ info )
560 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
561 infot = 7
562 CALL zgglse( 0, 0, 0, a, 1, b, 0, tau, alpha, beta, w, lw,
563 $ info )
564 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
565 infot = 12
566 CALL zgglse( 1, 1, 1, a, 1, b, 1, tau, alpha, beta, w, 1,
567 $ info )
568 CALL chkxer( 'ZGGLSE', infot, nout, lerr, ok )
569 nt = nt + 8
570*
571* Test error exits for the CSD path.
572*
573 ELSE IF( lsamen( 3, path, 'CSD' ) ) THEN
574*
575* ZUNCSD
576*
577 srnamt = 'ZUNCSD'
578 infot = 7
579 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
580 $ -1, 0, 0, a, 1, a,
581 $ 1, a, 1, a, 1, rs,
582 $ a, 1, a, 1, a, 1, a,
583 $ 1, w, lw, rw, lw, iw, info )
584 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
585 infot = 8
586 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
587 $ 1, -1, 0, a, 1, a,
588 $ 1, a, 1, a, 1, rs,
589 $ a, 1, a, 1, a, 1, a,
590 $ 1, w, lw, rw, lw, iw, info )
591 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
592 infot = 9
593 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
594 $ 1, 1, -1, a, 1, a,
595 $ 1, a, 1, a, 1, rs,
596 $ a, 1, a, 1, a, 1, a,
597 $ 1, w, lw, rw, lw, iw, info )
598 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
599 infot = 11
600 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
601 $ 1, 1, 1, a, -1, a,
602 $ 1, a, 1, a, 1, rs,
603 $ a, 1, a, 1, a, 1, a,
604 $ 1, w, lw, rw, lw, iw, info )
605 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
606 infot = 20
607 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
608 $ 1, 1, 1, a, 1, a,
609 $ 1, a, 1, a, 1, rs,
610 $ a, -1, a, 1, a, 1, a,
611 $ 1, w, lw, rw, lw, iw, info )
612 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
613 infot = 22
614 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
615 $ 1, 1, 1, a, 1, a,
616 $ 1, a, 1, a, 1, rs,
617 $ a, 1, a, -1, a, 1, a,
618 $ 1, w, lw, rw, lw, iw, info )
619 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
620 infot = 24
621 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
622 $ 1, 1, 1, a, 1, a,
623 $ 1, a, 1, a, 1, rs,
624 $ a, 1, a, 1, a, -1, a,
625 $ 1, w, lw, rw, lw, iw, info )
626 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
627 infot = 26
628 CALL zuncsd( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
629 $ 1, 1, 1, a, 1, a,
630 $ 1, a, 1, a, 1, rs,
631 $ a, 1, a, 1, a, 1, a,
632 $ -1, w, lw, rw, lw, iw, info )
633 CALL chkxer( 'ZUNCSD', infot, nout, lerr, ok )
634 nt = nt + 8
635*
636* Test error exits for the GQR path.
637*
638 ELSE IF( lsamen( 3, path, 'GQR' ) ) THEN
639*
640* ZGGQRF
641*
642 srnamt = 'ZGGQRF'
643 infot = 1
644 CALL zggqrf( -1, 0, 0, a, 1, alpha, b, 1, beta, w, lw, info )
645 CALL chkxer( 'ZGGQRF', infot, nout, lerr, ok )
646 infot = 2
647 CALL zggqrf( 0, -1, 0, a, 1, alpha, b, 1, beta, w, lw, info )
648 CALL chkxer( 'ZGGQRF', infot, nout, lerr, ok )
649 infot = 3
650 CALL zggqrf( 0, 0, -1, a, 1, alpha, b, 1, beta, w, lw, info )
651 CALL chkxer( 'ZGGQRF', infot, nout, lerr, ok )
652 infot = 5
653 CALL zggqrf( 0, 0, 0, a, 0, alpha, b, 1, beta, w, lw, info )
654 CALL chkxer( 'ZGGQRF', infot, nout, lerr, ok )
655 infot = 8
656 CALL zggqrf( 0, 0, 0, a, 1, alpha, b, 0, beta, w, lw, info )
657 CALL chkxer( 'ZGGQRF', infot, nout, lerr, ok )
658 infot = 11
659 CALL zggqrf( 1, 1, 2, a, 1, alpha, b, 1, beta, w, 1, info )
660 CALL chkxer( 'ZGGQRF', infot, nout, lerr, ok )
661 nt = nt + 6
662*
663* ZGGRQF
664*
665 srnamt = 'ZGGRQF'
666 infot = 1
667 CALL zggrqf( -1, 0, 0, a, 1, alpha, b, 1, beta, w, lw, info )
668 CALL chkxer( 'ZGGRQF', infot, nout, lerr, ok )
669 infot = 2
670 CALL zggrqf( 0, -1, 0, a, 1, alpha, b, 1, beta, w, lw, info )
671 CALL chkxer( 'ZGGRQF', infot, nout, lerr, ok )
672 infot = 3
673 CALL zggrqf( 0, 0, -1, a, 1, alpha, b, 1, beta, w, lw, info )
674 CALL chkxer( 'ZGGRQF', infot, nout, lerr, ok )
675 infot = 5
676 CALL zggrqf( 0, 0, 0, a, 0, alpha, b, 1, beta, w, lw, info )
677 CALL chkxer( 'ZGGRQF', infot, nout, lerr, ok )
678 infot = 8
679 CALL zggrqf( 0, 0, 0, a, 1, alpha, b, 0, beta, w, lw, info )
680 CALL chkxer( 'ZGGRQF', infot, nout, lerr, ok )
681 infot = 11
682 CALL zggrqf( 1, 1, 2, a, 1, alpha, b, 1, beta, w, 1, info )
683 CALL chkxer( 'ZGGRQF', infot, nout, lerr, ok )
684 nt = nt + 6
685*
686* Test error exits for the ZGS, ZGV, ZGX, and ZXV paths.
687*
688 ELSE IF( lsamen( 3, path, 'ZGS' ) .OR.
689 $ lsamen( 3, path, 'ZGV' ) .OR.
690 $ lsamen( 3, path, 'ZGX' ) .OR. lsamen( 3, path, 'ZXV' ) )
691 $ THEN
692*
693* ZGGES
694*
695 srnamt = 'ZGGES '
696 infot = 1
697 CALL zgges( '/', 'N', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
698 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
699 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
700 infot = 2
701 CALL zgges( 'N', '/', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
702 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
703 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
704 infot = 3
705 CALL zgges( 'N', 'V', '/', zlctes, 1, a, 1, b, 1, sdim, alpha,
706 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
707 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
708 infot = 5
709 CALL zgges( 'N', 'V', 'S', zlctes, -1, a, 1, b, 1, sdim, alpha,
710 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
711 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
712 infot = 7
713 CALL zgges( 'N', 'V', 'S', zlctes, 1, a, 0, b, 1, sdim, alpha,
714 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
715 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
716 infot = 9
717 CALL zgges( 'N', 'V', 'S', zlctes, 1, a, 1, b, 0, sdim, alpha,
718 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
719 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
720 infot = 14
721 CALL zgges( 'N', 'V', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
722 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
723 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
724 infot = 14
725 CALL zgges( 'V', 'V', 'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
726 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
727 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
728 infot = 16
729 CALL zgges( 'N', 'V', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
730 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
731 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
732 infot = 16
733 CALL zgges( 'V', 'V', 'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
734 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
735 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
736 infot = 18
737 CALL zgges( 'V', 'V', 'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
738 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
739 CALL chkxer( 'ZGGES ', infot, nout, lerr, ok )
740 nt = nt + 11
741*
742* ZGGES3
743*
744 srnamt = 'ZGGES3'
745 infot = 1
746 CALL zgges3( '/', 'N', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
747 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
748 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
749 infot = 2
750 CALL zgges3( 'N', '/', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
751 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
752 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
753 infot = 3
754 CALL zgges3( 'N', 'V', '/', zlctes, 1, a, 1, b, 1, sdim, alpha,
755 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
756 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
757 infot = 5
758 CALL zgges3( 'N', 'V', 'S', zlctes, -1, a, 1, b, 1, sdim,
759 $ alpha, beta, q, 1, u, 1, w, 1, rw, bw, info )
760 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
761 infot = 7
762 CALL zgges3( 'N', 'V', 'S', zlctes, 1, a, 0, b, 1, sdim, alpha,
763 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
764 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
765 infot = 9
766 CALL zgges3( 'N', 'V', 'S', zlctes, 1, a, 1, b, 0, sdim, alpha,
767 $ beta, q, 1, u, 1, w, 1, rw, bw, info )
768 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
769 infot = 14
770 CALL zgges3( 'N', 'V', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
771 $ beta, q, 0, u, 1, w, 1, rw, bw, info )
772 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
773 infot = 14
774 CALL zgges3( 'V', 'V', 'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
775 $ beta, q, 1, u, 2, w, 1, rw, bw, info )
776 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
777 infot = 16
778 CALL zgges3( 'N', 'V', 'S', zlctes, 1, a, 1, b, 1, sdim, alpha,
779 $ beta, q, 1, u, 0, w, 1, rw, bw, info )
780 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
781 infot = 16
782 CALL zgges3( 'V', 'V', 'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
783 $ beta, q, 2, u, 1, w, 1, rw, bw, info )
784 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
785 infot = 18
786 CALL zgges3( 'V', 'V', 'S', zlctes, 2, a, 2, b, 2, sdim, alpha,
787 $ beta, q, 2, u, 2, w, 1, rw, bw, info )
788 CALL chkxer( 'ZGGES3', infot, nout, lerr, ok )
789 nt = nt + 11
790*
791* ZGGESX
792*
793 srnamt = 'ZGGESX'
794 infot = 1
795 CALL zggesx( '/', 'N', 'S', zlctsx, 'N', 1, a, 1, b, 1, sdim,
796 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
797 $ 1, bw, info )
798 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
799 infot = 2
800 CALL zggesx( 'N', '/', 'S', zlctsx, 'N', 1, a, 1, b, 1, sdim,
801 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
802 $ 1, bw, info )
803 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
804 infot = 3
805 CALL zggesx( 'V', 'V', '/', zlctsx, 'N', 1, a, 1, b, 1, sdim,
806 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
807 $ 1, bw, info )
808 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
809 infot = 5
810 CALL zggesx( 'V', 'V', 'S', zlctsx, '/', 1, a, 1, b, 1, sdim,
811 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
812 $ 1, bw, info )
813 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
814 infot = 6
815 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', -1, a, 1, b, 1, sdim,
816 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
817 $ 1, bw, info )
818 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
819 infot = 8
820 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 1, a, 0, b, 1, sdim,
821 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
822 $ 1, bw, info )
823 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
824 infot = 10
825 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 1, a, 1, b, 0, sdim,
826 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
827 $ 1, bw, info )
828 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
829 infot = 15
830 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 1, a, 1, b, 1, sdim,
831 $ alpha, beta, q, 0, u, 1, rce, rcv, w, 1, rw, iw,
832 $ 1, bw, info )
833 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
834 infot = 15
835 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 2, a, 2, b, 2, sdim,
836 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 1, rw, iw,
837 $ 1, bw, info )
838 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
839 infot = 17
840 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 1, a, 1, b, 1, sdim,
841 $ alpha, beta, q, 1, u, 0, rce, rcv, w, 1, rw, iw,
842 $ 1, bw, info )
843 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
844 infot = 17
845 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 2, a, 2, b, 2, sdim,
846 $ alpha, beta, q, 2, u, 1, rce, rcv, w, 1, rw, iw,
847 $ 1, bw, info )
848 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
849 infot = 21
850 CALL zggesx( 'V', 'V', 'S', zlctsx, 'B', 2, a, 2, b, 2, sdim,
851 $ alpha, beta, q, 2, u, 2, rce, rcv, w, 1, rw, iw,
852 $ 1, bw, info )
853 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
854 infot = 24
855 CALL zggesx( 'V', 'V', 'S', zlctsx, 'V', 1, a, 1, b, 1, sdim,
856 $ alpha, beta, q, 1, u, 1, rce, rcv, w, 32, rw, iw,
857 $ 0, bw, info )
858 CALL chkxer( 'ZGGESX', infot, nout, lerr, ok )
859 nt = nt + 13
860*
861* ZGGEV
862*
863 srnamt = 'ZGGEV '
864 infot = 1
865 CALL zggev( '/', 'N', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
866 $ w, 1, rw, info )
867 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
868 infot = 2
869 CALL zggev( 'N', '/', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
870 $ w, 1, rw, info )
871 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
872 infot = 3
873 CALL zggev( 'V', 'V', -1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
874 $ w, 1, rw, info )
875 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
876 infot = 5
877 CALL zggev( 'V', 'V', 1, a, 0, b, 1, alpha, beta, q, 1, u, 1,
878 $ w, 1, rw, info )
879 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
880 infot = 7
881 CALL zggev( 'V', 'V', 1, a, 1, b, 0, alpha, beta, q, 1, u, 1,
882 $ w, 1, rw, info )
883 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
884 infot = 11
885 CALL zggev( 'N', 'V', 1, a, 1, b, 1, alpha, beta, q, 0, u, 1,
886 $ w, 1, rw, info )
887 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
888 infot = 11
889 CALL zggev( 'V', 'V', 2, a, 2, b, 2, alpha, beta, q, 1, u, 2,
890 $ w, 1, rw, info )
891 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
892 infot = 13
893 CALL zggev( 'V', 'N', 2, a, 2, b, 2, alpha, beta, q, 2, u, 0,
894 $ w, 1, rw, info )
895 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
896 infot = 13
897 CALL zggev( 'V', 'V', 2, a, 2, b, 2, alpha, beta, q, 2, u, 1,
898 $ w, 1, rw, info )
899 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
900 infot = 15
901 CALL zggev( 'V', 'V', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
902 $ w, 1, rw, info )
903 CALL chkxer( 'ZGGEV ', infot, nout, lerr, ok )
904 nt = nt + 10
905*
906* ZGGEV3
907*
908 srnamt = 'ZGGEV3'
909 infot = 1
910 CALL zggev3( '/', 'N', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
911 $ w, 1, rw, info )
912 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
913 infot = 2
914 CALL zggev3( 'N', '/', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
915 $ w, 1, rw, info )
916 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
917 infot = 3
918 CALL zggev3( 'V', 'V', -1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
919 $ w, 1, rw, info )
920 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
921 infot = 5
922 CALL zggev3( 'V', 'V', 1, a, 0, b, 1, alpha, beta, q, 1, u, 1,
923 $ w, 1, rw, info )
924 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
925 infot = 7
926 CALL zggev3( 'V', 'V', 1, a, 1, b, 0, alpha, beta, q, 1, u, 1,
927 $ w, 1, rw, info )
928 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
929 infot = 11
930 CALL zggev3( 'N', 'V', 1, a, 1, b, 1, alpha, beta, q, 0, u, 1,
931 $ w, 1, rw, info )
932 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
933 infot = 11
934 CALL zggev3( 'V', 'V', 2, a, 2, b, 2, alpha, beta, q, 1, u, 2,
935 $ w, 1, rw, info )
936 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
937 infot = 13
938 CALL zggev3( 'V', 'N', 2, a, 2, b, 2, alpha, beta, q, 2, u, 0,
939 $ w, 1, rw, info )
940 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
941 infot = 13
942 CALL zggev3( 'V', 'V', 2, a, 2, b, 2, alpha, beta, q, 2, u, 1,
943 $ w, 1, rw, info )
944 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
945 infot = 15
946 CALL zggev3( 'V', 'V', 1, a, 1, b, 1, alpha, beta, q, 1, u, 1,
947 $ w, 1, rw, info )
948 CALL chkxer( 'ZGGEV3', infot, nout, lerr, ok )
949 nt = nt + 10
950*
951* ZGGEVX
952*
953 srnamt = 'ZGGEVX'
954 infot = 1
955 CALL zggevx( '/', 'N', 'N', 'N', 1, a, 1, b, 1, alpha, beta, q,
956 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
957 $ w, 1, rw, iw, bw, info )
958 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
959 infot = 2
960 CALL zggevx( 'N', '/', 'N', 'N', 1, a, 1, b, 1, alpha, beta, q,
961 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
962 $ w, 1, rw, iw, bw, info )
963 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
964 infot = 3
965 CALL zggevx( 'N', 'N', '/', 'N', 1, a, 1, b, 1, alpha, beta, q,
966 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
967 $ w, 1, rw, iw, bw, info )
968 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
969 infot = 4
970 CALL zggevx( 'N', 'N', 'N', '/', 1, a, 1, b, 1, alpha, beta, q,
971 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
972 $ w, 1, rw, iw, bw, info )
973 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
974 infot = 5
975 CALL zggevx( 'N', 'N', 'N', 'N', -1, a, 1, b, 1, alpha, beta,
976 $ q, 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce,
977 $ rcv, w, 1, rw, iw, bw, info )
978 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
979 infot = 7
980 CALL zggevx( 'N', 'N', 'N', 'N', 1, a, 0, b, 1, alpha, beta, q,
981 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
982 $ w, 1, rw, iw, bw, info )
983 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
984 infot = 9
985 CALL zggevx( 'N', 'N', 'N', 'N', 1, a, 1, b, 0, alpha, beta, q,
986 $ 1, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
987 $ w, 1, rw, iw, bw, info )
988 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
989 infot = 13
990 CALL zggevx( 'N', 'N', 'N', 'N', 1, a, 1, b, 1, alpha, beta, q,
991 $ 0, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
992 $ w, 1, rw, iw, bw, info )
993 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
994 infot = 13
995 CALL zggevx( 'N', 'V', 'N', 'N', 2, a, 2, b, 2, alpha, beta, q,
996 $ 1, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
997 $ w, 1, rw, iw, bw, info )
998 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
999 infot = 15
1000 CALL zggevx( 'N', 'N', 'N', 'N', 1, a, 1, b, 1, alpha, beta, q,
1001 $ 1, u, 0, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
1002 $ w, 1, rw, iw, bw, info )
1003 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
1004 infot = 15
1005 CALL zggevx( 'N', 'N', 'V', 'N', 2, a, 2, b, 2, alpha, beta, q,
1006 $ 2, u, 1, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
1007 $ w, 1, rw, iw, bw, info )
1008 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
1009 infot = 25
1010 CALL zggevx( 'N', 'N', 'V', 'N', 2, a, 2, b, 2, alpha, beta, q,
1011 $ 2, u, 2, ilo, ihi, ls, rs, anrm, bnrm, rce, rcv,
1012 $ w, 0, rw, iw, bw, info )
1013 CALL chkxer( 'ZGGEVX', infot, nout, lerr, ok )
1014 nt = nt + 12
1015*
1016* ZTGEXC
1017*
1018 srnamt = 'ZTGEXC'
1019 infot = 3
1020 CALL ztgexc( .true., .true., -1, a, 1, b, 1, q, 1, z, 1, ifst,
1021 $ ilst, info )
1022 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1023 infot = 5
1024 CALL ztgexc( .true., .true., 1, a, 0, b, 1, q, 1, z, 1, ifst,
1025 $ ilst, info )
1026 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1027 infot = 7
1028 CALL ztgexc( .true., .true., 1, a, 1, b, 0, q, 1, z, 1, ifst,
1029 $ ilst, info )
1030 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1031 infot = 9
1032 CALL ztgexc( .false., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1033 $ ilst, info )
1034 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1035 infot = 9
1036 CALL ztgexc( .true., .true., 1, a, 1, b, 1, q, 0, z, 1, ifst,
1037 $ ilst, info )
1038 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1039 infot = 11
1040 CALL ztgexc( .true., .false., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1041 $ ilst, info )
1042 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1043 infot = 11
1044 CALL ztgexc( .true., .true., 1, a, 1, b, 1, q, 1, z, 0, ifst,
1045 $ ilst, info )
1046 CALL chkxer( 'ZTGEXC', infot, nout, lerr, ok )
1047 nt = nt + 7
1048*
1049* ZTGSEN
1050*
1051 srnamt = 'ZTGSEN'
1052 infot = 1
1053 CALL ztgsen( -1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1054 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1055 $ info )
1056 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1057 infot = 5
1058 CALL ztgsen( 1, .true., .true., sel, -1, a, 1, b, 1, alpha,
1059 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1060 $ info )
1061 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1062 infot = 7
1063 CALL ztgsen( 1, .true., .true., sel, 1, a, 0, b, 1, alpha,
1064 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1065 $ info )
1066 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1067 infot = 9
1068 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 0, alpha,
1069 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1070 $ info )
1071 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1072 infot = 13
1073 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1074 $ beta, q, 0, z, 1, m, tola, tolb, rcv, w, 1, iw, 1,
1075 $ info )
1076 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1077 infot = 15
1078 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1079 $ beta, q, 1, z, 0, m, tola, tolb, rcv, w, 1, iw, 1,
1080 $ info )
1081 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1082 infot = 21
1083 CALL ztgsen( 3, .true., .true., sel, 1, a, 1, b, 1, alpha,
1084 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, -5, iw,
1085 $ 1, info )
1086 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1087 infot = 23
1088 CALL ztgsen( 0, .true., .true., sel, 1, a, 1, b, 1, alpha,
1089 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1090 $ 0, info )
1091 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1092 infot = 23
1093 CALL ztgsen( 1, .true., .true., sel, 1, a, 1, b, 1, alpha,
1094 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1095 $ 0, info )
1096 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1097 infot = 23
1098 CALL ztgsen( 5, .true., .true., sel, 1, a, 1, b, 1, alpha,
1099 $ beta, q, 1, z, 1, m, tola, tolb, rcv, w, 20, iw,
1100 $ 1, info )
1101 CALL chkxer( 'ZTGSEN', infot, nout, lerr, ok )
1102 nt = nt + 11
1103*
1104* ZTGSNA
1105*
1106 srnamt = 'ZTGSNA'
1107 infot = 1
1108 CALL ztgsna( '/', 'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1109 $ 1, m, w, 1, iw, info )
1110 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1111 infot = 2
1112 CALL ztgsna( 'B', '/', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1113 $ 1, m, w, 1, iw, info )
1114 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1115 infot = 4
1116 CALL ztgsna( 'B', 'A', sel, -1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1117 $ 1, m, w, 1, iw, info )
1118 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1119 infot = 6
1120 CALL ztgsna( 'B', 'A', sel, 1, a, 0, b, 1, q, 1, u, 1, r1, r2,
1121 $ 1, m, w, 1, iw, info )
1122 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1123 infot = 8
1124 CALL ztgsna( 'B', 'A', sel, 1, a, 1, b, 0, q, 1, u, 1, r1, r2,
1125 $ 1, m, w, 1, iw, info )
1126 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1127 infot = 10
1128 CALL ztgsna( 'E', 'A', sel, 1, a, 1, b, 1, q, 0, u, 1, r1, r2,
1129 $ 1, m, w, 1, iw, info )
1130 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1131 infot = 12
1132 CALL ztgsna( 'E', 'A', sel, 1, a, 1, b, 1, q, 1, u, 0, r1, r2,
1133 $ 1, m, w, 1, iw, info )
1134 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1135 infot = 15
1136 CALL ztgsna( 'E', 'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1137 $ 0, m, w, 1, iw, info )
1138 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1139 infot = 18
1140 CALL ztgsna( 'E', 'A', sel, 1, a, 1, b, 1, q, 1, u, 1, r1, r2,
1141 $ 1, m, w, 0, iw, info )
1142 CALL chkxer( 'ZTGSNA', infot, nout, lerr, ok )
1143 nt = nt + 9
1144*
1145* ZTGSYL
1146*
1147 srnamt = 'ZTGSYL'
1148 infot = 1
1149 CALL ztgsyl( '/', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1150 $ scale, dif, w, 1, iw, info )
1151 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1152 infot = 2
1153 CALL ztgsyl( 'N', -1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1154 $ scale, dif, w, 1, iw, info )
1155 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1156 infot = 3
1157 CALL ztgsyl( 'N', 0, 0, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1158 $ scale, dif, w, 1, iw, info )
1159 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1160 infot = 4
1161 CALL ztgsyl( 'N', 0, 1, 0, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1162 $ scale, dif, w, 1, iw, info )
1163 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1164 infot = 6
1165 CALL ztgsyl( 'N', 0, 1, 1, a, 0, b, 1, q, 1, u, 1, v, 1, z, 1,
1166 $ scale, dif, w, 1, iw, info )
1167 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1168 infot = 8
1169 CALL ztgsyl( 'N', 0, 1, 1, a, 1, b, 0, q, 1, u, 1, v, 1, z, 1,
1170 $ scale, dif, w, 1, iw, info )
1171 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1172 infot = 10
1173 CALL ztgsyl( 'N', 0, 1, 1, a, 1, b, 1, q, 0, u, 1, v, 1, z, 1,
1174 $ scale, dif, w, 1, iw, info )
1175 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1176 infot = 12
1177 CALL ztgsyl( 'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 0, v, 1, z, 1,
1178 $ scale, dif, w, 1, iw, info )
1179 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1180 infot = 14
1181 CALL ztgsyl( 'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 0, z, 1,
1182 $ scale, dif, w, 1, iw, info )
1183 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1184 infot = 16
1185 CALL ztgsyl( 'N', 0, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 0,
1186 $ scale, dif, w, 1, iw, info )
1187 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1188 infot = 20
1189 CALL ztgsyl( 'N', 1, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1190 $ scale, dif, w, 1, iw, info )
1191 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1192 infot = 20
1193 CALL ztgsyl( 'N', 2, 1, 1, a, 1, b, 1, q, 1, u, 1, v, 1, z, 1,
1194 $ scale, dif, w, 1, iw, info )
1195 CALL chkxer( 'ZTGSYL', infot, nout, lerr, ok )
1196 nt = nt + 12
1197 END IF
1198*
1199* Print a summary line.
1200*
1201 IF( ok ) THEN
1202 WRITE( nout, fmt = 9999 )path, nt
1203 ELSE
1204 WRITE( nout, fmt = 9998 )path
1205 END IF
1206*
1207 9999 FORMAT( 1x, a3, ' routines passed the tests of the error exits (',
1208 $ i3, ' tests done)' )
1209 9998 FORMAT( ' *** ', a3, ' routines failed the tests of the error ',
1210 $ 'exits ***' )
1211*
1212 RETURN
1213*
1214* End of ZERRGG
1215*
1216 END
subroutine xlaenv(ispec, nvalue)
XLAENV
Definition xlaenv.f:81
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3224
subroutine zgges3(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, rwork, bwork, info)
ZGGES3 computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...
Definition zgges3.f:269
subroutine zgges(jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, work, lwork, rwork, bwork, info)
ZGGES computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE m...
Definition zgges.f:270
subroutine zggesx(jobvsl, jobvsr, sort, selctg, sense, n, a, lda, b, ldb, sdim, alpha, beta, vsl, ldvsl, vsr, ldvsr, rconde, rcondv, work, lwork, rwork, iwork, liwork, bwork, info)
ZGGESX computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors for GE ...
Definition zggesx.f:330
subroutine zggev3(jobvl, jobvr, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, work, lwork, rwork, info)
ZGGEV3 computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices (...
Definition zggev3.f:216
subroutine zggev(jobvl, jobvr, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, work, lwork, rwork, info)
ZGGEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
Definition zggev.f:217
subroutine zggevx(balanc, jobvl, jobvr, sense, n, a, lda, b, ldb, alpha, beta, vl, ldvl, vr, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work, lwork, rwork, iwork, bwork, info)
ZGGEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for GE matrices
Definition zggevx.f:374
subroutine zggglm(n, m, p, a, lda, b, ldb, d, x, y, work, lwork, info)
ZGGGLM
Definition zggglm.f:185
subroutine zgghd3(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, work, lwork, info)
ZGGHD3
Definition zgghd3.f:227
subroutine zgghrd(compq, compz, n, ilo, ihi, a, lda, b, ldb, q, ldq, z, ldz, info)
ZGGHRD
Definition zgghrd.f:204
subroutine zgglse(m, n, p, a, lda, b, ldb, c, d, x, work, lwork, info)
ZGGLSE solves overdetermined or underdetermined systems for OTHER matrices
Definition zgglse.f:180
subroutine zggqrf(n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info)
ZGGQRF
Definition zggqrf.f:215
subroutine zggrqf(m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info)
ZGGRQF
Definition zggrqf.f:214
subroutine zggsvd3(jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q, ldq, work, lwork, rwork, iwork, info)
ZGGSVD3 computes the singular value decomposition (SVD) for OTHER matrices
Definition zggsvd3.f:353
subroutine zggsvp3(jobu, jobv, jobq, m, p, n, a, lda, b, ldb, tola, tolb, k, l, u, ldu, v, ldv, q, ldq, iwork, rwork, tau, work, lwork, info)
ZGGSVP3
Definition zggsvp3.f:278
subroutine zhgeqz(job, compq, compz, n, ilo, ihi, h, ldh, t, ldt, alpha, beta, q, ldq, z, ldz, work, lwork, rwork, info)
ZHGEQZ
Definition zhgeqz.f:284
subroutine ztgevc(side, howmny, select, n, s, lds, p, ldp, vl, ldvl, vr, ldvr, mm, m, work, rwork, info)
ZTGEVC
Definition ztgevc.f:219
subroutine ztgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)
ZTGEXC
Definition ztgexc.f:200
subroutine ztgsen(ijob, wantq, wantz, select, n, a, lda, b, ldb, alpha, beta, q, ldq, z, ldz, m, pl, pr, dif, work, lwork, iwork, liwork, info)
ZTGSEN
Definition ztgsen.f:433
subroutine ztgsja(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)
ZTGSJA
Definition ztgsja.f:379
subroutine ztgsna(job, howmny, select, n, a, lda, b, ldb, vl, ldvl, vr, ldvr, s, dif, mm, m, work, lwork, iwork, info)
ZTGSNA
Definition ztgsna.f:311
subroutine ztgsyl(trans, ijob, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde, f, ldf, scale, dif, work, lwork, iwork, info)
ZTGSYL
Definition ztgsyl.f:295
recursive subroutine zuncsd(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, rwork, lrwork, iwork, info)
ZUNCSD
Definition zuncsd.f:320
subroutine zerrgg(path, nunit)
ZERRGG
Definition zerrgg.f:57