LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
serrgex.f
Go to the documentation of this file.
1 *> \brief \b SERRGEX
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 SERRGE( 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 *> SERRGE tests the error exits for the REAL routines
25 *> for general matrices.
26 *>
27 *> Note that this file is used only when the XBLAS are available,
28 *> otherwise serrge.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 single_lin
55 *
56 * =====================================================================
57  SUBROUTINE serrge( 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, LW
72  parameter( nmax = 4, lw = 3*nmax )
73 * ..
74 * .. Local Scalars ..
75  CHARACTER EQ
76  CHARACTER*2 C2
77  INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78  REAL ANRM, CCOND, RCOND, BERR
79 * ..
80 * .. Local Arrays ..
81  INTEGER IP( NMAX ), IW( NMAX )
82  REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
83  $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
84  $ W( LW ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
85  $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
86 * ..
87 * .. External Functions ..
88  LOGICAL LSAMEN
89  EXTERNAL lsamen
90 * ..
91 * .. External Subroutines ..
92  EXTERNAL alaesm, chkxer, sgbcon, sgbequ, sgbrfs, sgbtf2,
95  $ sgbequb, sgbrfsx
96 * ..
97 * .. Scalars in Common ..
98  LOGICAL LERR, OK
99  CHARACTER*32 SRNAMT
100  INTEGER INFOT, NOUT
101 * ..
102 * .. Common blocks ..
103  COMMON / infoc / infot, nout, ok, lerr
104  COMMON / srnamc / srnamt
105 * ..
106 * .. Intrinsic Functions ..
107  INTRINSIC real
108 * ..
109 * .. Executable Statements ..
110 *
111  nout = nunit
112  WRITE( nout, fmt = * )
113  c2 = path( 2: 3 )
114 *
115 * Set the variables to innocuous values.
116 *
117  DO 20 j = 1, nmax
118  DO 10 i = 1, nmax
119  a( i, j ) = 1. / real( i+j )
120  af( i, j ) = 1. / real( i+j )
121  10 CONTINUE
122  b( j ) = 0.
123  r1( j ) = 0.
124  r2( j ) = 0.
125  w( j ) = 0.
126  x( j ) = 0.
127  c( j ) = 0.
128  r( j ) = 0.
129  ip( j ) = j
130  iw( j ) = j
131  20 CONTINUE
132  ok = .true.
133 *
134  IF( lsamen( 2, c2, 'GE' ) ) THEN
135 *
136 * Test error exits of the routines that use the LU decomposition
137 * of a general matrix.
138 *
139 * SGETRF
140 *
141  srnamt = 'SGETRF'
142  infot = 1
143  CALL sgetrf( -1, 0, a, 1, ip, info )
144  CALL chkxer( 'SGETRF', infot, nout, lerr, ok )
145  infot = 2
146  CALL sgetrf( 0, -1, a, 1, ip, info )
147  CALL chkxer( 'SGETRF', infot, nout, lerr, ok )
148  infot = 4
149  CALL sgetrf( 2, 1, a, 1, ip, info )
150  CALL chkxer( 'SGETRF', infot, nout, lerr, ok )
151 *
152 * SGETF2
153 *
154  srnamt = 'SGETF2'
155  infot = 1
156  CALL sgetf2( -1, 0, a, 1, ip, info )
157  CALL chkxer( 'SGETF2', infot, nout, lerr, ok )
158  infot = 2
159  CALL sgetf2( 0, -1, a, 1, ip, info )
160  CALL chkxer( 'SGETF2', infot, nout, lerr, ok )
161  infot = 4
162  CALL sgetf2( 2, 1, a, 1, ip, info )
163  CALL chkxer( 'SGETF2', infot, nout, lerr, ok )
164 *
165 * SGETRI
166 *
167  srnamt = 'SGETRI'
168  infot = 1
169  CALL sgetri( -1, a, 1, ip, w, lw, info )
170  CALL chkxer( 'SGETRI', infot, nout, lerr, ok )
171  infot = 3
172  CALL sgetri( 2, a, 1, ip, w, lw, info )
173  CALL chkxer( 'SGETRI', infot, nout, lerr, ok )
174 *
175 * SGETRS
176 *
177  srnamt = 'SGETRS'
178  infot = 1
179  CALL sgetrs( '/', 0, 0, a, 1, ip, b, 1, info )
180  CALL chkxer( 'SGETRS', infot, nout, lerr, ok )
181  infot = 2
182  CALL sgetrs( 'N', -1, 0, a, 1, ip, b, 1, info )
183  CALL chkxer( 'SGETRS', infot, nout, lerr, ok )
184  infot = 3
185  CALL sgetrs( 'N', 0, -1, a, 1, ip, b, 1, info )
186  CALL chkxer( 'SGETRS', infot, nout, lerr, ok )
187  infot = 5
188  CALL sgetrs( 'N', 2, 1, a, 1, ip, b, 2, info )
189  CALL chkxer( 'SGETRS', infot, nout, lerr, ok )
190  infot = 8
191  CALL sgetrs( 'N', 2, 1, a, 2, ip, b, 1, info )
192  CALL chkxer( 'SGETRS', infot, nout, lerr, ok )
193 *
194 * SGERFS
195 *
196  srnamt = 'SGERFS'
197  infot = 1
198  CALL sgerfs( '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
199  $ iw, info )
200  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
201  infot = 2
202  CALL sgerfs( 'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
203  $ w, iw, info )
204  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
205  infot = 3
206  CALL sgerfs( 'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
207  $ w, iw, info )
208  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
209  infot = 5
210  CALL sgerfs( 'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
211  $ iw, info )
212  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
213  infot = 7
214  CALL sgerfs( 'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
215  $ iw, info )
216  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
217  infot = 10
218  CALL sgerfs( 'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
219  $ iw, info )
220  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
221  infot = 12
222  CALL sgerfs( 'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
223  $ iw, info )
224  CALL chkxer( 'SGERFS', infot, nout, lerr, ok )
225 *
226 * SGERFSX
227 *
228  n_err_bnds = 3
229  nparams = 0
230  srnamt = 'SGERFSX'
231  infot = 1
232  CALL sgerfsx( '/', eq, 0, 0, a, 1, af, 1, ip, r, c, b, 1, x,
233  $ 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
234  $ nparams, params, w, iw, info )
235  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
236  infot = 2
237  eq = '/'
238  CALL sgerfsx( 'N', eq, 2, 1, a, 1, af, 2, ip, r, c, b, 2, x,
239  $ 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
240  $ nparams, params, w, iw, info )
241  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
242  infot = 3
243  eq = 'R'
244  CALL sgerfsx( 'N', eq, -1, 0, a, 1, af, 1, ip, r, c, b, 1, x,
245  $ 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
246  $ nparams, params, w, iw, info )
247  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
248  infot = 4
249  CALL sgerfsx( 'N', eq, 0, -1, a, 1, af, 1, ip, r, c, b, 1, x,
250  $ 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
251  $ nparams, params, w, iw, info )
252  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
253  infot = 6
254  CALL sgerfsx( 'N', eq, 2, 1, a, 1, af, 2, ip, r, c, b, 2, x,
255  $ 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
256  $ nparams, params, w, iw, info )
257  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
258  infot = 8
259  CALL sgerfsx( 'N', eq, 2, 1, a, 2, af, 1, ip, r, c, b, 2, x,
260  $ 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
261  $ nparams, params, w, iw, info )
262  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
263  infot = 13
264  eq = 'C'
265  CALL sgerfsx( 'N', eq, 2, 1, a, 2, af, 2, ip, r, c, b, 1, x,
266  $ 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
267  $ nparams, params, w, iw, info )
268  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
269  infot = 15
270  CALL sgerfsx( 'N', eq, 2, 1, a, 2, af, 2, ip, r, c, b, 2, x,
271  $ 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
272  $ nparams, params, w, iw, info )
273  CALL chkxer( 'SGERFSX', infot, nout, lerr, ok )
274 *
275 * SGECON
276 *
277  srnamt = 'SGECON'
278  infot = 1
279  CALL sgecon( '/', 0, a, 1, anrm, rcond, w, iw, info )
280  CALL chkxer( 'SGECON', infot, nout, lerr, ok )
281  infot = 2
282  CALL sgecon( '1', -1, a, 1, anrm, rcond, w, iw, info )
283  CALL chkxer( 'SGECON', infot, nout, lerr, ok )
284  infot = 4
285  CALL sgecon( '1', 2, a, 1, anrm, rcond, w, iw, info )
286  CALL chkxer( 'SGECON', infot, nout, lerr, ok )
287 *
288 * SGEEQU
289 *
290  srnamt = 'SGEEQU'
291  infot = 1
292  CALL sgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
293  CALL chkxer( 'SGEEQU', infot, nout, lerr, ok )
294  infot = 2
295  CALL sgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
296  CALL chkxer( 'SGEEQU', infot, nout, lerr, ok )
297  infot = 4
298  CALL sgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
299  CALL chkxer( 'SGEEQU', infot, nout, lerr, ok )
300 *
301 * SGEEQUB
302 *
303  srnamt = 'SGEEQUB'
304  infot = 1
305  CALL sgeequb( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
306  CALL chkxer( 'SGEEQUB', infot, nout, lerr, ok )
307  infot = 2
308  CALL sgeequb( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
309  CALL chkxer( 'SGEEQUB', infot, nout, lerr, ok )
310  infot = 4
311  CALL sgeequb( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
312  CALL chkxer( 'SGEEQUB', infot, nout, lerr, ok )
313 *
314  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
315 *
316 * Test error exits of the routines that use the LU decomposition
317 * of a general band matrix.
318 *
319 * SGBTRF
320 *
321  srnamt = 'SGBTRF'
322  infot = 1
323  CALL sgbtrf( -1, 0, 0, 0, a, 1, ip, info )
324  CALL chkxer( 'SGBTRF', infot, nout, lerr, ok )
325  infot = 2
326  CALL sgbtrf( 0, -1, 0, 0, a, 1, ip, info )
327  CALL chkxer( 'SGBTRF', infot, nout, lerr, ok )
328  infot = 3
329  CALL sgbtrf( 1, 1, -1, 0, a, 1, ip, info )
330  CALL chkxer( 'SGBTRF', infot, nout, lerr, ok )
331  infot = 4
332  CALL sgbtrf( 1, 1, 0, -1, a, 1, ip, info )
333  CALL chkxer( 'SGBTRF', infot, nout, lerr, ok )
334  infot = 6
335  CALL sgbtrf( 2, 2, 1, 1, a, 3, ip, info )
336  CALL chkxer( 'SGBTRF', infot, nout, lerr, ok )
337 *
338 * SGBTF2
339 *
340  srnamt = 'SGBTF2'
341  infot = 1
342  CALL sgbtf2( -1, 0, 0, 0, a, 1, ip, info )
343  CALL chkxer( 'SGBTF2', infot, nout, lerr, ok )
344  infot = 2
345  CALL sgbtf2( 0, -1, 0, 0, a, 1, ip, info )
346  CALL chkxer( 'SGBTF2', infot, nout, lerr, ok )
347  infot = 3
348  CALL sgbtf2( 1, 1, -1, 0, a, 1, ip, info )
349  CALL chkxer( 'SGBTF2', infot, nout, lerr, ok )
350  infot = 4
351  CALL sgbtf2( 1, 1, 0, -1, a, 1, ip, info )
352  CALL chkxer( 'SGBTF2', infot, nout, lerr, ok )
353  infot = 6
354  CALL sgbtf2( 2, 2, 1, 1, a, 3, ip, info )
355  CALL chkxer( 'SGBTF2', infot, nout, lerr, ok )
356 *
357 * SGBTRS
358 *
359  srnamt = 'SGBTRS'
360  infot = 1
361  CALL sgbtrs( '/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
362  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
363  infot = 2
364  CALL sgbtrs( 'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
365  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
366  infot = 3
367  CALL sgbtrs( 'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
368  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
369  infot = 4
370  CALL sgbtrs( 'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
371  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
372  infot = 5
373  CALL sgbtrs( 'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
374  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
375  infot = 7
376  CALL sgbtrs( 'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
377  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
378  infot = 10
379  CALL sgbtrs( 'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
380  CALL chkxer( 'SGBTRS', infot, nout, lerr, ok )
381 *
382 * SGBRFS
383 *
384  srnamt = 'SGBRFS'
385  infot = 1
386  CALL sgbrfs( '/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
387  $ r2, w, iw, info )
388  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
389  infot = 2
390  CALL sgbrfs( 'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
391  $ r2, w, iw, info )
392  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
393  infot = 3
394  CALL sgbrfs( 'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
395  $ r2, w, iw, info )
396  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
397  infot = 4
398  CALL sgbrfs( 'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
399  $ r2, w, iw, info )
400  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
401  infot = 5
402  CALL sgbrfs( 'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
403  $ r2, w, iw, info )
404  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
405  infot = 7
406  CALL sgbrfs( 'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
407  $ r2, w, iw, info )
408  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
409  infot = 9
410  CALL sgbrfs( 'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
411  $ r2, w, iw, info )
412  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
413  infot = 12
414  CALL sgbrfs( 'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
415  $ r2, w, iw, info )
416  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
417  infot = 14
418  CALL sgbrfs( 'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
419  $ r2, w, iw, info )
420  CALL chkxer( 'SGBRFS', infot, nout, lerr, ok )
421 *
422 * SGBRFSX
423 *
424  n_err_bnds = 3
425  nparams = 0
426  srnamt = 'SGBRFSX'
427  infot = 1
428  CALL sgbrfsx( '/', eq, 0, 0, 0, 0, a, 1, af, 1, ip, r, c, b, 1,
429  $ x, 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
430  $ nparams, params, w, iw, info )
431  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
432  infot = 2
433  eq = '/'
434  CALL sgbrfsx( 'N', eq, 2, 1, 1, 1, a, 1, af, 2, ip, r, c, b, 2,
435  $ x, 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
436  $ nparams, params, w, iw, info )
437  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
438  infot = 3
439  eq = 'R'
440  CALL sgbrfsx( 'N', eq, -1, 1, 1, 0, a, 1, af, 1, ip, r, c, b,
441  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
442  $ nparams, params, w, iw, info )
443  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
444  infot = 4
445  eq = 'R'
446  CALL sgbrfsx( 'N', eq, 2, -1, 1, 1, a, 3, af, 4, ip, r, c, b,
447  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
448  $ nparams, params, w, iw, info )
449  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
450  infot = 5
451  eq = 'R'
452  CALL sgbrfsx( 'N', eq, 2, 1, -1, 1, a, 3, af, 4, ip, r, c, b,
453  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
454  $ nparams, params, w, iw, info )
455  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
456  infot = 6
457  CALL sgbrfsx( 'N', eq, 0, 0, 0, -1, a, 1, af, 1, ip, r, c, b,
458  $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
459  $ nparams, params, w, iw, info )
460  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
461  infot = 8
462  CALL sgbrfsx( 'N', eq, 2, 1, 1, 1, a, 1, af, 2, ip, r, c, b,
463  $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
464  $ nparams, params, w, iw, info )
465  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
466  infot = 10
467  CALL sgbrfsx( 'N', eq, 2, 1, 1, 1, a, 3, af, 3, ip, r, c, b, 2,
468  $ x, 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
469  $ nparams, params, w, iw, info )
470  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
471  infot = 13
472  eq = 'C'
473  CALL sgbrfsx( 'N', eq, 2, 1, 1, 1, a, 3, af, 5, ip, r, c, b,
474  $ 1, x, 2, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
475  $ nparams, params, w, iw, info )
476  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
477  infot = 15
478  CALL sgbrfsx( 'N', eq, 2, 1, 1, 1, a, 3, af, 5, ip, r, c, b, 2,
479  $ x, 1, rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c,
480  $ nparams, params, w, iw, info )
481  CALL chkxer( 'SGBRFSX', infot, nout, lerr, ok )
482 *
483 * SGBCON
484 *
485  srnamt = 'SGBCON'
486  infot = 1
487  CALL sgbcon( '/', 0, 0, 0, a, 1, ip, anrm, rcond, w, iw, info )
488  CALL chkxer( 'SGBCON', infot, nout, lerr, ok )
489  infot = 2
490  CALL sgbcon( '1', -1, 0, 0, a, 1, ip, anrm, rcond, w, iw,
491  $ info )
492  CALL chkxer( 'SGBCON', infot, nout, lerr, ok )
493  infot = 3
494  CALL sgbcon( '1', 1, -1, 0, a, 1, ip, anrm, rcond, w, iw,
495  $ info )
496  CALL chkxer( 'SGBCON', infot, nout, lerr, ok )
497  infot = 4
498  CALL sgbcon( '1', 1, 0, -1, a, 1, ip, anrm, rcond, w, iw,
499  $ info )
500  CALL chkxer( 'SGBCON', infot, nout, lerr, ok )
501  infot = 6
502  CALL sgbcon( '1', 2, 1, 1, a, 3, ip, anrm, rcond, w, iw, info )
503  CALL chkxer( 'SGBCON', infot, nout, lerr, ok )
504 *
505 * SGBEQU
506 *
507  srnamt = 'SGBEQU'
508  infot = 1
509  CALL sgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
510  $ info )
511  CALL chkxer( 'SGBEQU', infot, nout, lerr, ok )
512  infot = 2
513  CALL sgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
514  $ info )
515  CALL chkxer( 'SGBEQU', infot, nout, lerr, ok )
516  infot = 3
517  CALL sgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
518  $ info )
519  CALL chkxer( 'SGBEQU', infot, nout, lerr, ok )
520  infot = 4
521  CALL sgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
522  $ info )
523  CALL chkxer( 'SGBEQU', infot, nout, lerr, ok )
524  infot = 6
525  CALL sgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
526  $ info )
527  CALL chkxer( 'SGBEQU', infot, nout, lerr, ok )
528 *
529 * SGBEQUB
530 *
531  srnamt = 'SGBEQUB'
532  infot = 1
533  CALL sgbequb( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
534  $ info )
535  CALL chkxer( 'SGBEQUB', infot, nout, lerr, ok )
536  infot = 2
537  CALL sgbequb( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
538  $ info )
539  CALL chkxer( 'SGBEQUB', infot, nout, lerr, ok )
540  infot = 3
541  CALL sgbequb( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
542  $ info )
543  CALL chkxer( 'SGBEQUB', infot, nout, lerr, ok )
544  infot = 4
545  CALL sgbequb( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
546  $ info )
547  CALL chkxer( 'SGBEQUB', infot, nout, lerr, ok )
548  infot = 6
549  CALL sgbequb( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
550  $ info )
551  CALL chkxer( 'SGBEQUB', infot, nout, lerr, ok )
552  END IF
553 *
554 * Print a summary line.
555 *
556  CALL alaesm( path, ok, nout )
557 *
558  RETURN
559 *
560 * End of SERRGEX
561 *
562  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine sgbtf2(M, N, KL, KU, AB, LDAB, IPIV, INFO)
SGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
Definition: sgbtf2.f:145
subroutine sgbtrs(TRANS, N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
SGBTRS
Definition: sgbtrs.f:138
subroutine sgbrfsx(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, IWORK, INFO)
SGBRFSX
Definition: sgbrfsx.f:440
subroutine sgbrfs(TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SGBRFS
Definition: sgbrfs.f:205
subroutine sgbequb(M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, INFO)
SGBEQUB
Definition: sgbequb.f:160
subroutine sgbcon(NORM, N, KL, KU, AB, LDAB, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
SGBCON
Definition: sgbcon.f:146
subroutine sgbtrf(M, N, KL, KU, AB, LDAB, IPIV, INFO)
SGBTRF
Definition: sgbtrf.f:144
subroutine sgbequ(M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, INFO)
SGBEQU
Definition: sgbequ.f:153
subroutine sgetri(N, A, LDA, IPIV, WORK, LWORK, INFO)
SGETRI
Definition: sgetri.f:114
subroutine sgeequ(M, N, A, LDA, R, C, ROWCND, COLCND, AMAX, INFO)
SGEEQU
Definition: sgeequ.f:139
subroutine sgerfs(TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SGERFS
Definition: sgerfs.f:185
subroutine sgecon(NORM, N, A, LDA, ANORM, RCOND, WORK, IWORK, INFO)
SGECON
Definition: sgecon.f:124
subroutine sgetrf(M, N, A, LDA, IPIV, INFO)
SGETRF
Definition: sgetrf.f:108
subroutine sgetrs(TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SGETRS
Definition: sgetrs.f:121
subroutine sgetf2(M, N, A, LDA, IPIV, INFO)
SGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
Definition: sgetf2.f:108
subroutine sgerfsx(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, IWORK, INFO)
SGERFSX
Definition: sgerfsx.f:414
subroutine sgeequb(M, N, A, LDA, R, C, ROWCND, COLCND, AMAX, INFO)
SGEEQUB
Definition: sgeequb.f:146
subroutine serrge(PATH, NUNIT)
SERRGE
Definition: serrge.f:55