1       SUBROUTINE DERRPO( PATH, NUNIT )
  2 *
  3 *  -- LAPACK test routine (version 3.2.1) --
  4 *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
  5 *     April 2009
  6 *
  7 *     .. Scalar Arguments ..
  8       CHARACTER*3        PATH
  9       INTEGER            NUNIT
 10 *     ..
 11 *
 12 *  Purpose
 13 *  =======
 14 *
 15 *  DERRPO tests the error exits for the DOUBLE PRECISION routines
 16 *  for symmetric positive definite matrices.
 17 *
 18 *  Note that this file is used only when the XBLAS are available,
 19 *  otherwise derrpo.f defines this subroutine.
 20 *
 21 *  Arguments
 22 *  =========
 23 *
 24 *  PATH    (input) CHARACTER*3
 25 *          The LAPACK path name for the routines to be tested.
 26 *
 27 *  NUNIT   (input) INTEGER
 28 *          The unit number for output.
 29 *
 30 *  =====================================================================
 31 *
 32 *     .. Parameters ..
 33       INTEGER            NMAX
 34       PARAMETER          ( NMAX = 4 )
 35 *     ..
 36 *     .. Local Scalars ..
 37       CHARACTER          EQ
 38       CHARACTER*2        C2
 39       INTEGER            I, INFO, J, N_ERR_BNDS, NPARAMS
 40       DOUBLE PRECISION   ANRM, RCOND, BERR
 41 *     ..
 42 *     .. Local Arrays ..
 43       INTEGER            IW( NMAX )
 44       DOUBLE PRECISION   A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
 45      $                   R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX ),
 46      $                   S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
 47      $                   ERR_BNDS_C( NMAX, 3), PARAMS( 1 )
 48 *     ..
 49 *     .. External Functions ..
 50       LOGICAL            LSAMEN
 51       EXTERNAL           LSAMEN
 52 *     ..
 53 *     .. External Subroutines ..
 54       EXTERNAL           ALAESM, CHKXER, DPBCON, DPBEQU, DPBRFS, DPBTF2,
 55      $                   DPBTRF, DPBTRS, DPOCON, DPOEQU, DPORFS, DPOTF2,
 56      $                   DPOTRF, DPOTRI, DPOTRS, DPPCON, DPPEQU, DPPRFS,
 57      $                   DPPTRF, DPPTRI, DPPTRS, DPOEQUB, DPORFSX
 58 *     ..
 59 *     .. Scalars in Common ..
 60       LOGICAL            LERR, OK
 61       CHARACTER*32       SRNAMT
 62       INTEGER            INFOT, NOUT
 63 *     ..
 64 *     .. Common blocks ..
 65       COMMON             / INFOC / INFOT, NOUT, OK, LERR
 66       COMMON             / SRNAMC / SRNAMT
 67 *     ..
 68 *     .. Intrinsic Functions ..
 69       INTRINSIC          DBLE
 70 *     ..
 71 *     .. Executable Statements ..
 72 *
 73       NOUT = NUNIT
 74       WRITE( NOUT, FMT = * )
 75       C2 = PATH( 23 )
 76 *
 77 *     Set the variables to innocuous values.
 78 *
 79       DO 20 J = 1, NMAX
 80          DO 10 I = 1, NMAX
 81             A( I, J ) = 1.D0 / DBLE( I+J )
 82             AF( I, J ) = 1.D0 / DBLE( I+J )
 83    10    CONTINUE
 84          B( J ) = 0.D0
 85          R1( J ) = 0.D0
 86          R2( J ) = 0.D0
 87          W( J ) = 0.D0
 88          X( J ) = 0.D0
 89          S( J ) = 0.D0
 90          IW( J ) = J
 91    20 CONTINUE
 92       OK = .TRUE.
 93 *
 94       IF( LSAMEN( 2, C2, 'PO' ) ) THEN
 95 *
 96 *        Test error exits of the routines that use the Cholesky
 97 *        decomposition of a symmetric positive definite matrix.
 98 *
 99 *        DPOTRF
100 *
101          SRNAMT = 'DPOTRF'
102          INFOT = 1
103          CALL DPOTRF( '/'0, A, 1, INFO )
104          CALL CHKXER( 'DPOTRF', INFOT, NOUT, LERR, OK )
105          INFOT = 2
106          CALL DPOTRF( 'U'-1, A, 1, INFO )
107          CALL CHKXER( 'DPOTRF', INFOT, NOUT, LERR, OK )
108          INFOT = 4
109          CALL DPOTRF( 'U'2, A, 1, INFO )
110          CALL CHKXER( 'DPOTRF', INFOT, NOUT, LERR, OK )
111 *
112 *        DPOTF2
113 *
114          SRNAMT = 'DPOTF2'
115          INFOT = 1
116          CALL DPOTF2( '/'0, A, 1, INFO )
117          CALL CHKXER( 'DPOTF2', INFOT, NOUT, LERR, OK )
118          INFOT = 2
119          CALL DPOTF2( 'U'-1, A, 1, INFO )
120          CALL CHKXER( 'DPOTF2', INFOT, NOUT, LERR, OK )
121          INFOT = 4
122          CALL DPOTF2( 'U'2, A, 1, INFO )
123          CALL CHKXER( 'DPOTF2', INFOT, NOUT, LERR, OK )
124 *
125 *        DPOTRI
126 *
127          SRNAMT = 'DPOTRI'
128          INFOT = 1
129          CALL DPOTRI( '/'0, A, 1, INFO )
130          CALL CHKXER( 'DPOTRI', INFOT, NOUT, LERR, OK )
131          INFOT = 2
132          CALL DPOTRI( 'U'-1, A, 1, INFO )
133          CALL CHKXER( 'DPOTRI', INFOT, NOUT, LERR, OK )
134          INFOT = 4
135          CALL DPOTRI( 'U'2, A, 1, INFO )
136          CALL CHKXER( 'DPOTRI', INFOT, NOUT, LERR, OK )
137 *
138 *        DPOTRS
139 *
140          SRNAMT = 'DPOTRS'
141          INFOT = 1
142          CALL DPOTRS( '/'00, A, 1, B, 1, INFO )
143          CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK )
144          INFOT = 2
145          CALL DPOTRS( 'U'-10, A, 1, B, 1, INFO )
146          CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK )
147          INFOT = 3
148          CALL DPOTRS( 'U'0-1, A, 1, B, 1, INFO )
149          CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK )
150          INFOT = 5
151          CALL DPOTRS( 'U'21, A, 1, B, 2, INFO )
152          CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK )
153          INFOT = 7
154          CALL DPOTRS( 'U'21, A, 2, B, 1, INFO )
155          CALL CHKXER( 'DPOTRS', INFOT, NOUT, LERR, OK )
156 *
157 *        DPORFS
158 *
159          SRNAMT = 'DPORFS'
160          INFOT = 1
161          CALL DPORFS( '/'00, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, IW,
162      $                INFO )
163          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
164          INFOT = 2
165          CALL DPORFS( 'U'-10, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
166      $                IW, INFO )
167          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
168          INFOT = 3
169          CALL DPORFS( 'U'0-1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
170      $                IW, INFO )
171          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
172          INFOT = 5
173          CALL DPORFS( 'U'21, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, IW,
174      $                INFO )
175          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
176          INFOT = 7
177          CALL DPORFS( 'U'21, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, IW,
178      $                INFO )
179          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
180          INFOT = 9
181          CALL DPORFS( 'U'21, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, IW,
182      $                INFO )
183          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
184          INFOT = 11
185          CALL DPORFS( 'U'21, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, IW,
186      $                INFO )
187          CALL CHKXER( 'DPORFS', INFOT, NOUT, LERR, OK )
188 *
189 *        DPORFSX
190 *
191          N_ERR_BNDS = 3
192          NPARAMS = 0
193          SRNAMT = 'DPORFSX'
194          INFOT = 1
195          CALL DPORFSX( '/', EQ, 00, A, 1, AF, 1, S, B, 1, X, 1,
196      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
197      $        PARAMS, W, IW, INFO )
198          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
199          INFOT = 2
200          CALL DPORFSX( 'U', EQ, -10, A, 1, AF, 1, S, B, 1, X, 1,
201      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
202      $        PARAMS, W, IW, INFO )
203          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
204          EQ = 'N'
205          INFOT = 3
206          CALL DPORFSX( 'U', EQ, -10, A, 1, AF, 1, S, B, 1, X, 1,
207      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
208      $        PARAMS, W, IW, INFO )
209          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
210          INFOT = 4
211          CALL DPORFSX( 'U', EQ, 0-1, A, 1, AF, 1, S, B, 1, X, 1,
212      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
213      $        PARAMS, W, IW, INFO )
214          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
215          INFOT = 6
216          CALL DPORFSX( 'U', EQ, 21, A, 1, AF, 2, S, B, 2, X, 2,
217      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
218      $        PARAMS, W, IW, INFO )
219          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
220          INFOT = 8
221          CALL DPORFSX( 'U', EQ, 21, A, 2, AF, 1, S, B, 2, X, 2,
222      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
223      $        PARAMS, W, IW, INFO )
224          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
225          INFOT = 11
226          CALL DPORFSX( 'U', EQ, 21, A, 2, AF, 2, S, B, 1, X, 2,
227      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
228      $        PARAMS, W, IW, INFO )
229          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
230          INFOT = 13
231          CALL DPORFSX( 'U', EQ, 21, A, 2, AF, 2, S, B, 2, X, 1,
232      $        RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS,
233      $        PARAMS, W, IW, INFO )
234          CALL CHKXER( 'DPORFSX', INFOT, NOUT, LERR, OK )
235 *
236 *        DPOCON
237 *
238          SRNAMT = 'DPOCON'
239          INFOT = 1
240          CALL DPOCON( '/'0, A, 1, ANRM, RCOND, W, IW, INFO )
241          CALL CHKXER( 'DPOCON', INFOT, NOUT, LERR, OK )
242          INFOT = 2
243          CALL DPOCON( 'U'-1, A, 1, ANRM, RCOND, W, IW, INFO )
244          CALL CHKXER( 'DPOCON', INFOT, NOUT, LERR, OK )
245          INFOT = 4
246          CALL DPOCON( 'U'2, A, 1, ANRM, RCOND, W, IW, INFO )
247          CALL CHKXER( 'DPOCON', INFOT, NOUT, LERR, OK )
248 *
249 *        DPOEQU
250 *
251          SRNAMT = 'DPOEQU'
252          INFOT = 1
253          CALL DPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO )
254          CALL CHKXER( 'DPOEQU', INFOT, NOUT, LERR, OK )
255          INFOT = 3
256          CALL DPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO )
257          CALL CHKXER( 'DPOEQU', INFOT, NOUT, LERR, OK )
258 *
259 *        DPOEQUB
260 *
261          SRNAMT = 'DPOEQUB'
262          INFOT = 1
263          CALL DPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO )
264          CALL CHKXER( 'DPOEQUB', INFOT, NOUT, LERR, OK )
265          INFOT = 3
266          CALL DPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO )
267          CALL CHKXER( 'DPOEQUB', INFOT, NOUT, LERR, OK )
268 *
269       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
270 *
271 *        Test error exits of the routines that use the Cholesky
272 *        decomposition of a symmetric positive definite packed matrix.
273 *
274 *        DPPTRF
275 *
276          SRNAMT = 'DPPTRF'
277          INFOT = 1
278          CALL DPPTRF( '/'0, A, INFO )
279          CALL CHKXER( 'DPPTRF', INFOT, NOUT, LERR, OK )
280          INFOT = 2
281          CALL DPPTRF( 'U'-1, A, INFO )
282          CALL CHKXER( 'DPPTRF', INFOT, NOUT, LERR, OK )
283 *
284 *        DPPTRI
285 *
286          SRNAMT = 'DPPTRI'
287          INFOT = 1
288          CALL DPPTRI( '/'0, A, INFO )
289          CALL CHKXER( 'DPPTRI', INFOT, NOUT, LERR, OK )
290          INFOT = 2
291          CALL DPPTRI( 'U'-1, A, INFO )
292          CALL CHKXER( 'DPPTRI', INFOT, NOUT, LERR, OK )
293 *
294 *        DPPTRS
295 *
296          SRNAMT = 'DPPTRS'
297          INFOT = 1
298          CALL DPPTRS( '/'00, A, B, 1, INFO )
299          CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK )
300          INFOT = 2
301          CALL DPPTRS( 'U'-10, A, B, 1, INFO )
302          CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK )
303          INFOT = 3
304          CALL DPPTRS( 'U'0-1, A, B, 1, INFO )
305          CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK )
306          INFOT = 6
307          CALL DPPTRS( 'U'21, A, B, 1, INFO )
308          CALL CHKXER( 'DPPTRS', INFOT, NOUT, LERR, OK )
309 *
310 *        DPPRFS
311 *
312          SRNAMT = 'DPPRFS'
313          INFOT = 1
314          CALL DPPRFS( '/'00, A, AF, B, 1, X, 1, R1, R2, W, IW,
315      $                INFO )
316          CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK )
317          INFOT = 2
318          CALL DPPRFS( 'U'-10, A, AF, B, 1, X, 1, R1, R2, W, IW,
319      $                INFO )
320          CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK )
321          INFOT = 3
322          CALL DPPRFS( 'U'0-1, A, AF, B, 1, X, 1, R1, R2, W, IW,
323      $                INFO )
324          CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK )
325          INFOT = 7
326          CALL DPPRFS( 'U'21, A, AF, B, 1, X, 2, R1, R2, W, IW,
327      $                INFO )
328          CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK )
329          INFOT = 9
330          CALL DPPRFS( 'U'21, A, AF, B, 2, X, 1, R1, R2, W, IW,
331      $                INFO )
332          CALL CHKXER( 'DPPRFS', INFOT, NOUT, LERR, OK )
333 *
334 *        DPPCON
335 *
336          SRNAMT = 'DPPCON'
337          INFOT = 1
338          CALL DPPCON( '/'0, A, ANRM, RCOND, W, IW, INFO )
339          CALL CHKXER( 'DPPCON', INFOT, NOUT, LERR, OK )
340          INFOT = 2
341          CALL DPPCON( 'U'-1, A, ANRM, RCOND, W, IW, INFO )
342          CALL CHKXER( 'DPPCON', INFOT, NOUT, LERR, OK )
343 *
344 *        DPPEQU
345 *
346          SRNAMT = 'DPPEQU'
347          INFOT = 1
348          CALL DPPEQU( '/'0, A, R1, RCOND, ANRM, INFO )
349          CALL CHKXER( 'DPPEQU', INFOT, NOUT, LERR, OK )
350          INFOT = 2
351          CALL DPPEQU( 'U'-1, A, R1, RCOND, ANRM, INFO )
352          CALL CHKXER( 'DPPEQU', INFOT, NOUT, LERR, OK )
353 *
354       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
355 *
356 *        Test error exits of the routines that use the Cholesky
357 *        decomposition of a symmetric positive definite band matrix.
358 *
359 *        DPBTRF
360 *
361          SRNAMT = 'DPBTRF'
362          INFOT = 1
363          CALL DPBTRF( '/'00, A, 1, INFO )
364          CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK )
365          INFOT = 2
366          CALL DPBTRF( 'U'-10, A, 1, INFO )
367          CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK )
368          INFOT = 3
369          CALL DPBTRF( 'U'1-1, A, 1, INFO )
370          CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK )
371          INFOT = 5
372          CALL DPBTRF( 'U'21, A, 1, INFO )
373          CALL CHKXER( 'DPBTRF', INFOT, NOUT, LERR, OK )
374 *
375 *        DPBTF2
376 *
377          SRNAMT = 'DPBTF2'
378          INFOT = 1
379          CALL DPBTF2( '/'00, A, 1, INFO )
380          CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK )
381          INFOT = 2
382          CALL DPBTF2( 'U'-10, A, 1, INFO )
383          CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK )
384          INFOT = 3
385          CALL DPBTF2( 'U'1-1, A, 1, INFO )
386          CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK )
387          INFOT = 5
388          CALL DPBTF2( 'U'21, A, 1, INFO )
389          CALL CHKXER( 'DPBTF2', INFOT, NOUT, LERR, OK )
390 *
391 *        DPBTRS
392 *
393          SRNAMT = 'DPBTRS'
394          INFOT = 1
395          CALL DPBTRS( '/'000, A, 1, B, 1, INFO )
396          CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK )
397          INFOT = 2
398          CALL DPBTRS( 'U'-100, A, 1, B, 1, INFO )
399          CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK )
400          INFOT = 3
401          CALL DPBTRS( 'U'1-10, A, 1, B, 1, INFO )
402          CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK )
403          INFOT = 4
404          CALL DPBTRS( 'U'00-1, A, 1, B, 1, INFO )
405          CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK )
406          INFOT = 6
407          CALL DPBTRS( 'U'211, A, 1, B, 1, INFO )
408          CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK )
409          INFOT = 8
410          CALL DPBTRS( 'U'201, A, 1, B, 1, INFO )
411          CALL CHKXER( 'DPBTRS', INFOT, NOUT, LERR, OK )
412 *
413 *        DPBRFS
414 *
415          SRNAMT = 'DPBRFS'
416          INFOT = 1
417          CALL DPBRFS( '/'000, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
418      $                IW, INFO )
419          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
420          INFOT = 2
421          CALL DPBRFS( 'U'-100, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
422      $                IW, INFO )
423          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
424          INFOT = 3
425          CALL DPBRFS( 'U'1-10, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
426      $                IW, INFO )
427          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
428          INFOT = 4
429          CALL DPBRFS( 'U'00-1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
430      $                IW, INFO )
431          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
432          INFOT = 6
433          CALL DPBRFS( 'U'211, A, 1, AF, 2, B, 2, X, 2, R1, R2, W,
434      $                IW, INFO )
435          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
436          INFOT = 8
437          CALL DPBRFS( 'U'211, A, 2, AF, 1, B, 2, X, 2, R1, R2, W,
438      $                IW, INFO )
439          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
440          INFOT = 10
441          CALL DPBRFS( 'U'201, A, 1, AF, 1, B, 1, X, 2, R1, R2, W,
442      $                IW, INFO )
443          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
444          INFOT = 12
445          CALL DPBRFS( 'U'201, A, 1, AF, 1, B, 2, X, 1, R1, R2, W,
446      $                IW, INFO )
447          CALL CHKXER( 'DPBRFS', INFOT, NOUT, LERR, OK )
448 *
449 *        DPBCON
450 *
451          SRNAMT = 'DPBCON'
452          INFOT = 1
453          CALL DPBCON( '/'00, A, 1, ANRM, RCOND, W, IW, INFO )
454          CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK )
455          INFOT = 2
456          CALL DPBCON( 'U'-10, A, 1, ANRM, RCOND, W, IW, INFO )
457          CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK )
458          INFOT = 3
459          CALL DPBCON( 'U'1-1, A, 1, ANRM, RCOND, W, IW, INFO )
460          CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK )
461          INFOT = 5
462          CALL DPBCON( 'U'21, A, 1, ANRM, RCOND, W, IW, INFO )
463          CALL CHKXER( 'DPBCON', INFOT, NOUT, LERR, OK )
464 *
465 *        DPBEQU
466 *
467          SRNAMT = 'DPBEQU'
468          INFOT = 1
469          CALL DPBEQU( '/'00, A, 1, R1, RCOND, ANRM, INFO )
470          CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK )
471          INFOT = 2
472          CALL DPBEQU( 'U'-10, A, 1, R1, RCOND, ANRM, INFO )
473          CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK )
474          INFOT = 3
475          CALL DPBEQU( 'U'1-1, A, 1, R1, RCOND, ANRM, INFO )
476          CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK )
477          INFOT = 5
478          CALL DPBEQU( 'U'21, A, 1, R1, RCOND, ANRM, INFO )
479          CALL CHKXER( 'DPBEQU', INFOT, NOUT, LERR, OK )
480       END IF
481 *
482 *     Print a summary line.
483 *
484       CALL ALAESM( PATH, OK, NOUT )
485 *
486       RETURN
487 *
488 *     End of DERRPO
489 *
490       END