OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
zerrgex.f
Go to the documentation of this file.
1*> \brief \b ZERRGEX
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 ZERRGE( 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*> ZERRGE tests the error exits for the COMPLEX*16 routines
25*> for general matrices.
26*>
27*> Note that this file is used only when the XBLAS are available,
28*> otherwise zerrge.f defines this subroutine.
29*> \endverbatim
30*
31* Arguments:
32* ==========
33*
34*> \param[in] PATH
35*> \verbatim
36*> PATH is CHARACTER*3
37*> The LAPACK path name for the routines to be tested.
38*> \endverbatim
39*>
40*> \param[in] NUNIT
41*> \verbatim
42*> NUNIT is INTEGER
43*> The unit number for output.
44*> \endverbatim
45*
46* Authors:
47* ========
48*
49*> \author Univ. of Tennessee
50*> \author Univ. of California Berkeley
51*> \author Univ. of Colorado Denver
52*> \author NAG Ltd.
53*
54*> \ingroup complex16_lin
55*
56* =====================================================================
57 SUBROUTINE zerrge( PATH, NUNIT )
58*
59* -- LAPACK test routine --
60* -- LAPACK is a software package provided by Univ. of Tennessee, --
61* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
62*
63* .. Scalar Arguments ..
64 CHARACTER*3 PATH
65 INTEGER NUNIT
66* ..
67*
68* =====================================================================
69*
70* .. Parameters ..
71 INTEGER NMAX
72 parameter( nmax = 4 )
73* ..
74* .. Local Scalars ..
75 CHARACTER EQ
76 CHARACTER*2 C2
77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 DOUBLE PRECISION ANRM, CCOND, RCOND, BERR
79* ..
80* .. Local Arrays ..
81 INTEGER IP( NMAX )
82 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ),
83 $ RS( NMAX )
84 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
85 $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
86 $ ERR_BNDS_C( NMAX, 3 ), PARAMS
87* ..
88* .. External Functions ..
89 LOGICAL LSAMEN
90 EXTERNAL lsamen
91* ..
92* .. External Subroutines ..
93 EXTERNAL alaesm, chkxer, zgbcon, zgbequ, zgbrfs, zgbtf2,
97* ..
98* .. Scalars in Common ..
99 LOGICAL LERR, OK
100 CHARACTER*32 SRNAMT
101 INTEGER INFOT, NOUT
102* ..
103* .. Common blocks ..
104 COMMON / infoc / infot, nout, ok, lerr
105 COMMON / srnamc / srnamt
106* ..
107* .. Intrinsic Functions ..
108 INTRINSIC dble, dcmplx
109* ..
110* .. Executable Statements ..
111*
112 nout = nunit
113 WRITE( nout, fmt = * )
114 c2 = path( 2: 3 )
115*
116* Set the variables to innocuous values.
117*
118 DO 20 j = 1, nmax
119 DO 10 i = 1, nmax
120 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
121 $ -1.d0 / dble( i+j ) )
122 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
123 $ -1.d0 / dble( i+j ) )
124 10 CONTINUE
125 b( j ) = 0.d0
126 r1( j ) = 0.d0
127 r2( j ) = 0.d0
128 w( j ) = 0.d0
129 x( j ) = 0.d0
130 cs( j ) = 0.d0
131 rs( j ) = 0.d0
132 ip( j ) = j
133 20 CONTINUE
134 ok = .true.
135*
136* Test error exits of the routines that use the LU decomposition
137* of a general matrix.
138*
139 IF( lsamen( 2, c2, 'GE' ) ) THEN
140*
141* ZGETRF
142*
143 srnamt = 'ZGETRF'
144 infot = 1
145 CALL zgetrf( -1, 0, a, 1, ip, info )
146 CALL chkxer( 'ZGETRF', infot, nout, lerr, ok )
147 infot = 2
148 CALL zgetrf( 0, -1, a, 1, ip, info )
149 CALL chkxer( 'ZGETRF', infot, nout, lerr, ok )
150 infot = 4
151 CALL zgetrf( 2, 1, a, 1, ip, info )
152 CALL chkxer( 'zgetrf', INFOT, NOUT, LERR, OK )
153*
154* ZGETF2
155*
156 SRNAMT = 'zgetf2'
157 INFOT = 1
158 CALL ZGETF2( -1, 0, A, 1, IP, INFO )
159 CALL CHKXER( 'zgetf2', INFOT, NOUT, LERR, OK )
160 INFOT = 2
161 CALL ZGETF2( 0, -1, A, 1, IP, INFO )
162 CALL CHKXER( 'zgetf2', INFOT, NOUT, LERR, OK )
163 INFOT = 4
164 CALL ZGETF2( 2, 1, A, 1, IP, INFO )
165 CALL CHKXER( 'zgetf2', INFOT, NOUT, LERR, OK )
166*
167* ZGETRI
168*
169 SRNAMT = 'zgetri'
170 INFOT = 1
171 CALL ZGETRI( -1, A, 1, IP, W, 1, INFO )
172 CALL CHKXER( 'zgetri', INFOT, NOUT, LERR, OK )
173 INFOT = 3
174 CALL ZGETRI( 2, A, 1, IP, W, 2, INFO )
175 CALL CHKXER( 'zgetri', INFOT, NOUT, LERR, OK )
176 INFOT = 6
177 CALL ZGETRI( 2, A, 2, IP, W, 1, INFO )
178 CALL CHKXER( 'zgetri', INFOT, NOUT, LERR, OK )
179*
180* ZGETRS
181*
182 SRNAMT = 'zgetrs'
183 INFOT = 1
184 CALL ZGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO )
185 CALL CHKXER( 'zgetrs', INFOT, NOUT, LERR, OK )
186 INFOT = 2
187 CALL ZGETRS( 'n', -1, 0, A, 1, IP, B, 1, INFO )
188 CALL CHKXER( 'zgetrs', INFOT, NOUT, LERR, OK )
189 INFOT = 3
190 CALL ZGETRS( 'n', 0, -1, A, 1, IP, B, 1, INFO )
191 CALL CHKXER( 'zgetrs', INFOT, NOUT, LERR, OK )
192 INFOT = 5
193 CALL ZGETRS( 'n', 2, 1, A, 1, IP, B, 2, INFO )
194 CALL CHKXER( 'zgetrs', INFOT, NOUT, LERR, OK )
195 INFOT = 8
196 CALL ZGETRS( 'n', 2, 1, A, 2, IP, B, 1, INFO )
197 CALL CHKXER( 'zgetrs', INFOT, NOUT, LERR, OK )
198*
199* ZGERFS
200*
201 SRNAMT = 'zgerfs'
202 INFOT = 1
203 CALL ZGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W,
204 $ R, INFO )
205 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
206 INFOT = 2
207 CALL ZGERFS( 'n', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
208 $ W, R, INFO )
209 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
210 INFOT = 3
211 CALL ZGERFS( 'n', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
212 $ W, R, INFO )
213 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
214 INFOT = 5
215 CALL ZGERFS( 'n', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W,
216 $ R, INFO )
217 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
218 INFOT = 7
219 CALL ZGERFS( 'n', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W,
220 $ R, INFO )
221 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
222 INFOT = 10
223 CALL ZGERFS( 'n', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W,
224 $ R, INFO )
225 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
226 INFOT = 12
227 CALL ZGERFS( 'n', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W,
228 $ R, INFO )
229 CALL CHKXER( 'zgerfs', INFOT, NOUT, LERR, OK )
230*
231* ZGERFSX
232*
233 N_ERR_BNDS = 3
234 NPARAMS = 0
235 SRNAMT = 'zgerfsx'
236 INFOT = 1
237 CALL ZGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X,
238 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
239 $ NPARAMS, PARAMS, W, R, INFO )
240 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
241 INFOT = 2
242 EQ = '/'
243 CALL ZGERFSX( 'n', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X,
244 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
245 $ NPARAMS, PARAMS, W, R, INFO )
246 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
247 INFOT = 3
248 EQ = 'r'
249 CALL ZGERFSX( 'n', EQ, -1, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X,
250 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
251 $ NPARAMS, PARAMS, W, R, INFO )
252 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
253 INFOT = 4
254 CALL ZGERFSX( 'n', EQ, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 1, X,
255 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
256 $ NPARAMS, PARAMS, W, R, INFO )
257 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
258 INFOT = 6
259 CALL ZGERFSX( 'n', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X,
260 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
261 $ NPARAMS, PARAMS, W, R, INFO )
262 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
263 INFOT = 8
264 CALL ZGERFSX( 'n', EQ, 2, 1, A, 2, AF, 1, IP, RS, CS, B, 2, X,
265 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
266 $ NPARAMS, PARAMS, W, R, INFO )
267 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
268 INFOT = 13
269 EQ = 'c'
270 CALL ZGERFSX( 'n', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 1, X,
271 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
272 $ NPARAMS, PARAMS, W, R, INFO )
273 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
274 INFOT = 15
275 CALL ZGERFSX( 'n', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 2, X,
276 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
277 $ NPARAMS, PARAMS, W, R, INFO )
278 CALL CHKXER( 'zgerfsx', INFOT, NOUT, LERR, OK )
279*
280* ZGECON
281*
282 SRNAMT = 'zgecon'
283 INFOT = 1
284 CALL ZGECON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO )
285 CALL CHKXER( 'zgecon', INFOT, NOUT, LERR, OK )
286 INFOT = 2
287 CALL ZGECON( '1', -1, A, 1, ANRM, RCOND, W, R, INFO )
288 CALL CHKXER( 'zgecon', INFOT, NOUT, LERR, OK )
289 INFOT = 4
290 CALL ZGECON( '1', 2, A, 1, ANRM, RCOND, W, R, INFO )
291 CALL CHKXER( 'zgecon', INFOT, NOUT, LERR, OK )
292*
293* ZGEEQU
294*
295 SRNAMT = 'zgeequ'
296 INFOT = 1
297 CALL ZGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
298 CALL CHKXER( 'zgeequ', INFOT, NOUT, LERR, OK )
299 INFOT = 2
300 CALL ZGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
301 CALL CHKXER( 'zgeequ', INFOT, NOUT, LERR, OK )
302 INFOT = 4
303 CALL ZGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
304 CALL CHKXER( 'zgeequ', INFOT, NOUT, LERR, OK )
305*
306* ZGEEQUB
307*
308 SRNAMT = 'zgeequb'
309 INFOT = 1
310 CALL ZGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
311 CALL CHKXER( 'zgeequb', INFOT, NOUT, LERR, OK )
312 INFOT = 2
313 CALL ZGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
314 CALL CHKXER( 'zgeequb', INFOT, NOUT, LERR, OK )
315 INFOT = 4
316 CALL ZGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
317 CALL CHKXER( 'zgeequb', INFOT, NOUT, LERR, OK )
318*
319* Test error exits of the routines that use the LU decomposition
320* of a general band matrix.
321*
322 ELSE IF( LSAMEN( 2, C2, 'gb' ) ) THEN
323*
324* ZGBTRF
325*
326 SRNAMT = 'zgbtrf'
327 INFOT = 1
328 CALL ZGBTRF( -1, 0, 0, 0, A, 1, IP, INFO )
329 CALL CHKXER( 'zgbtrf', INFOT, NOUT, LERR, OK )
330 INFOT = 2
331 CALL ZGBTRF( 0, -1, 0, 0, A, 1, IP, INFO )
332 CALL CHKXER( 'zgbtrf', infot, nout, lerr, ok )
333 infot = 3
334 CALL zgbtrf( 1, 1, -1, 0, a, 1, ip, info )
335 CALL chkxer( 'ZGBTRF', infot, nout, lerr, ok )
336 infot = 4
337 CALL zgbtrf( 1, 1, 0, -1, a, 1, ip, info )
338 CALL chkxer( 'ZGBTRF', infot, nout, lerr, ok )
339 infot = 6
340 CALL zgbtrf( 2, 2, 1, 1, a, 3, ip, info )
341 CALL chkxer( 'ZGBTRF', infot, nout, lerr, ok )
342*
343* ZGBTF2
344*
345 srnamt = 'ZGBTF2'
346 infot = 1
347 CALL zgbtf2( -1, 0, 0, 0, a, 1, ip, info )
348 CALL chkxer( 'ZGBTF2', infot, nout, lerr, ok )
349 infot = 2
350 CALL zgbtf2( 0, -1, 0, 0, a, 1, ip, info )
351 CALL chkxer( 'ZGBTF2', infot, nout, lerr, ok )
352 infot = 3
353 CALL zgbtf2( 1, 1, -1, 0, a, 1, ip, info )
354 CALL chkxer( 'ZGBTF2', infot, nout, lerr, ok )
355 infot = 4
356 CALL zgbtf2( 1, 1, 0, -1, a, 1, ip, info )
357 CALL chkxer( 'ZGBTF2', infot, nout, lerr, ok )
358 infot = 6
359 CALL zgbtf2( 2, 2, 1, 1, a, 3, ip, info )
360 CALL chkxer( 'ZGBTF2', infot, nout, lerr, ok )
361*
362* ZGBTRS
363*
364 srnamt = 'zgbtrs'
365 INFOT = 1
366 CALL ZGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO )
367 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
368 INFOT = 2
369 CALL ZGBTRS( 'n', -1, 0, 0, 1, A, 1, IP, B, 1, INFO )
370 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
371 INFOT = 3
372 CALL ZGBTRS( 'n', 1, -1, 0, 1, A, 1, IP, B, 1, INFO )
373 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
374 INFOT = 4
375 CALL ZGBTRS( 'n', 1, 0, -1, 1, A, 1, IP, B, 1, INFO )
376 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
377 INFOT = 5
378 CALL ZGBTRS( 'n', 1, 0, 0, -1, A, 1, IP, B, 1, INFO )
379 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
380 INFOT = 7
381 CALL ZGBTRS( 'n', 2, 1, 1, 1, A, 3, IP, B, 2, INFO )
382 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
383 INFOT = 10
384 CALL ZGBTRS( 'n', 2, 0, 0, 1, A, 1, IP, B, 1, INFO )
385 CALL CHKXER( 'zgbtrs', INFOT, NOUT, LERR, OK )
386*
387* ZGBRFS
388*
389 SRNAMT = 'zgbrfs'
390 INFOT = 1
391 CALL ZGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
392 $ R2, W, R, INFO )
393 CALL CHKXER( 'zgbrfs', INFOT, NOUT, LERR, OK )
394 INFOT = 2
395 CALL ZGBRFS( 'n', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
396 $ r2, w, r, info )
397 CALL chkxer( 'ZGBRFS', infot, nout, lerr, ok )
398 infot = 3
399 CALL zgbrfs( 'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
400 $ r2, w, r, info )
401 CALL chkxer( 'ZGBRFS', infot, nout, lerr, ok )
402 infot = 4
403 CALL zgbrfs( 'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
404 $ r2, w, r, info )
405 CALL chkxer( 'ZGBRFS', infot, nout, lerr, ok )
406 infot = 5
407 CALL zgbrfs( 'n', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1,
408 $ R2, W, R, INFO )
409 CALL CHKXER( 'zgbrfs', INFOT, NOUT, LERR, OK )
410 INFOT = 7
411 CALL ZGBRFS( 'n', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1,
412 $ R2, W, R, INFO )
413 CALL CHKXER( 'zgbrfs', INFOT, NOUT, LERR, OK )
414 INFOT = 9
415 CALL ZGBRFS( 'n', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1,
416 $ R2, W, R, INFO )
417 CALL CHKXER( 'zgbrfs', INFOT, NOUT, LERR, OK )
418 INFOT = 12
419 CALL ZGBRFS( 'n', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1,
420 $ R2, W, R, INFO )
421 CALL CHKXER( 'zgbrfs', INFOT, NOUT, LERR, OK )
422 INFOT = 14
423 CALL ZGBRFS( 'n', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1,
424 $ R2, W, R, INFO )
425 CALL CHKXER( 'zgbrfs', INFOT, NOUT, LERR, OK )
426*
427* ZGBRFSX
428*
429 N_ERR_BNDS = 3
430 NPARAMS = 0
431 SRNAMT = 'zgbrfsx'
432 INFOT = 1
433 CALL ZGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, RS, CS, B,
434 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
435 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
436 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
437 INFOT = 2
438 EQ = '/'
439 CALL ZGBRFSX( 'n', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B,
440 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
441 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
442 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
443 INFOT = 3
444 EQ = 'r'
445 CALL ZGBRFSX( 'n', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, RS, CS, B,
446 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
447 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
448 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
449 INFOT = 4
450 EQ = 'r'
451 CALL ZGBRFSX( 'n', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, RS, CS, B,
452 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
453 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
454 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
455 INFOT = 5
456 EQ = 'r'
457 CALL ZGBRFSX( 'n', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, RS, CS, B,
458 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
459 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
460 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
461 INFOT = 6
462 CALL ZGBRFSX( 'n', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, RS, CS, B,
463 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
464 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
465 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
466 INFOT = 8
467 CALL ZGBRFSX( 'n', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B,
468 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
469 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
470 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
471 INFOT = 10
472 CALL ZGBRFSX( 'n', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, RS, CS, B,
473 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
474 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
475 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
476 INFOT = 13
477 EQ = 'c'
478 CALL ZGBRFSX( 'n', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B,
479 $ 1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
480 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
481 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
482 INFOT = 15
483 CALL ZGBRFSX( 'n', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B,
484 $ 2, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
485 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
486 CALL CHKXER( 'zgbrfsx', INFOT, NOUT, LERR, OK )
487*
488* ZGBCON
489*
490 SRNAMT = 'zgbcon'
491 INFOT = 1
492 CALL ZGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
493 CALL CHKXER( 'zgbcon', INFOT, NOUT, LERR, OK )
494 INFOT = 2
495 CALL ZGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
496 CALL CHKXER( 'zgbcon', INFOT, NOUT, LERR, OK )
497 INFOT = 3
498 CALL ZGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
499 CALL CHKXER( 'zgbcon', INFOT, NOUT, LERR, OK )
500 INFOT = 4
501 CALL ZGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, R, INFO )
502 CALL CHKXER( 'zgbcon', INFOT, NOUT, LERR, OK )
503 INFOT = 6
504 CALL ZGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, R, INFO )
505 CALL CHKXER( 'zgbcon', INFOT, NOUT, LERR, OK )
506*
507* ZGBEQU
508*
509 SRNAMT = 'zgbequ'
510 INFOT = 1
511 CALL ZGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
512 $ INFO )
513 CALL CHKXER( 'zgbequ', INFOT, NOUT, LERR, OK )
514 INFOT = 2
515 CALL ZGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
516 $ INFO )
517 CALL CHKXER( 'zgbequ', INFOT, NOUT, LERR, OK )
518 INFOT = 3
519 CALL ZGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
520 $ INFO )
521 CALL CHKXER( 'zgbequ', INFOT, NOUT, LERR, OK )
522 INFOT = 4
523 CALL ZGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
524 $ INFO )
525 CALL CHKXER( 'zgbequ', INFOT, NOUT, LERR, OK )
526 INFOT = 6
527 CALL ZGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
528 $ INFO )
529 CALL CHKXER( 'zgbequ', INFOT, NOUT, LERR, OK )
530*
531* ZGBEQUB
532*
533 SRNAMT = 'zgbequb'
534 INFOT = 1
535 CALL ZGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
536 $ INFO )
537 CALL CHKXER( 'zgbequb', INFOT, NOUT, LERR, OK )
538 INFOT = 2
539 CALL ZGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
540 $ INFO )
541 CALL CHKXER( 'zgbequb', INFOT, NOUT, LERR, OK )
542 INFOT = 3
543 CALL ZGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
544 $ INFO )
545 CALL CHKXER( 'zgbequb', INFOT, NOUT, LERR, OK )
546 INFOT = 4
547 CALL ZGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
548 $ INFO )
549 CALL CHKXER( 'zgbequb', INFOT, NOUT, LERR, OK )
550 INFOT = 6
551 CALL ZGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
552 $ INFO )
553 CALL CHKXER( 'zgbequb', INFOT, NOUT, LERR, OK )
554 END IF
555*
556* Print a summary line.
557*
558 CALL ALAESM( PATH, OK, NOUT )
559*
560 RETURN
561*
562* End of ZERRGEX
563*
564 END
subroutine chkxer(srnamt, infot, nout, lerr, ok)
Definition cblat2.f:3196
subroutine alaesm(path, ok, nout)
ALAESM
Definition alaesm.f:63
subroutine zgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
ZGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
Definition zgbtf2.f:145
subroutine zgbtrs(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
ZGBTRS
Definition zgbtrs.f:138
subroutine zgbtrf(m, n, kl, ku, ab, ldab, ipiv, info)
ZGBTRF
Definition zgbtrf.f:144
subroutine zgbcon(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info)
ZGBCON
Definition zgbcon.f:147
subroutine zgbrfs(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZGBRFS
Definition zgbrfs.f:206
subroutine zgbequ(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)
ZGBEQU
Definition zgbequ.f:154
subroutine zgbequb(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)
ZGBEQUB
Definition zgbequb.f:161
subroutine zgbrfsx(trans, equed, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, r, c, b, ldb, x, ldx, rcond, berr, n_err_bnds, err_bnds_norm, err_bnds_comp, nparams, params, work, rwork, info)
ZGBRFSX
Definition zgbrfsx.f:440
subroutine zgerfsx(trans, equed, n, nrhs, a, lda, af, ldaf, ipiv, r, c, b, ldb, x, ldx, rcond, berr, n_err_bnds, err_bnds_norm, err_bnds_comp, nparams, params, work, rwork, info)
ZGERFSX
Definition zgerfsx.f:414
subroutine zgerfs(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZGERFS
Definition zgerfs.f:186
subroutine zgetri(n, a, lda, ipiv, work, lwork, info)
ZGETRI
Definition zgetri.f:114
subroutine zgecon(norm, n, a, lda, anorm, rcond, work, rwork, info)
ZGECON
Definition zgecon.f:124
subroutine zgetrs(trans, n, nrhs, a, lda, ipiv, b, ldb, info)
ZGETRS
Definition zgetrs.f:121
subroutine zgeequb(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
ZGEEQUB
Definition zgeequb.f:147
subroutine zgetf2(m, n, a, lda, ipiv, info)
ZGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
Definition zgetf2.f:108
subroutine zgeequ(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
ZGEEQU
Definition zgeequ.f:140
subroutine zerrge(path, nunit)
ZERRGE
Definition zerrge.f:55
subroutine zgetrf(m, n, a, lda, ipiv, info)
ZGETRF VARIANT: Crout Level 3 BLAS version of the algorithm.
Definition zgetrf.f:102