1       SUBROUTINE CERRPO( 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 *  CERRPO tests the error exits for the COMPLEX routines
 16 *  for Hermitian positive definite matrices.
 17 *
 18 *  Note that this file is used only when the XBLAS are available,
 19 *  otherwise cerrpo.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       REAL               ANRM, RCOND, BERR
 41 *     ..
 42 *     .. Local Arrays ..
 43       REAL               S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
 44      $                   ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ),
 45      $                   PARAMS( 1 )
 46       COMPLEX            A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
 47      $                   W( 2*NMAX ), X( NMAX )
 48 *     ..
 49 *     .. External Functions ..
 50       LOGICAL            LSAMEN
 51       EXTERNAL           LSAMEN
 52 *     ..
 53 *     .. External Subroutines ..
 54       EXTERNAL           ALAESM, CHKXER, CPBCON, CPBEQU, CPBRFS, CPBTF2,
 55      $                   CPBTRF, CPBTRS, CPOCON, CPOEQU, CPORFS, CPOTF2,
 56      $                   CPOTRF, CPOTRI, CPOTRS, CPPCON, CPPEQU, CPPRFS,
 57      $                   CPPTRF, CPPTRI, CPPTRS, CPOEQUB, CPORFSX
 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          CMPLX, REAL
 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 ) = CMPLX1/ REAL( I+J ), -1/ REAL( I+J ) )
 82             AF( I, J ) = CMPLX1/ REAL( I+J ), -1/ REAL( I+J ) )
 83    10    CONTINUE
 84          B( J ) = 0.
 85          R1( J ) = 0.
 86          R2( J ) = 0.
 87          W( J ) = 0.
 88          X( J ) = 0.
 89          S( J ) = 0.
 90    20 CONTINUE
 91       ANRM = 1.
 92       OK = .TRUE.
 93 *
 94 *     Test error exits of the routines that use the Cholesky
 95 *     decomposition of a Hermitian positive definite matrix.
 96 *
 97       IF( LSAMEN( 2, C2, 'PO' ) ) THEN
 98 *
 99 *        CPOTRF
100 *
101          SRNAMT = 'CPOTRF'
102          INFOT = 1
103          CALL CPOTRF( '/'0, A, 1, INFO )
104          CALL CHKXER( 'CPOTRF', INFOT, NOUT, LERR, OK )
105          INFOT = 2
106          CALL CPOTRF( 'U'-1, A, 1, INFO )
107          CALL CHKXER( 'CPOTRF', INFOT, NOUT, LERR, OK )
108          INFOT = 4
109          CALL CPOTRF( 'U'2, A, 1, INFO )
110          CALL CHKXER( 'CPOTRF', INFOT, NOUT, LERR, OK )
111 *
112 *        CPOTF2
113 *
114          SRNAMT = 'CPOTF2'
115          INFOT = 1
116          CALL CPOTF2( '/'0, A, 1, INFO )
117          CALL CHKXER( 'CPOTF2', INFOT, NOUT, LERR, OK )
118          INFOT = 2
119          CALL CPOTF2( 'U'-1, A, 1, INFO )
120          CALL CHKXER( 'CPOTF2', INFOT, NOUT, LERR, OK )
121          INFOT = 4
122          CALL CPOTF2( 'U'2, A, 1, INFO )
123          CALL CHKXER( 'CPOTF2', INFOT, NOUT, LERR, OK )
124 *
125 *        CPOTRI
126 *
127          SRNAMT = 'CPOTRI'
128          INFOT = 1
129          CALL CPOTRI( '/'0, A, 1, INFO )
130          CALL CHKXER( 'CPOTRI', INFOT, NOUT, LERR, OK )
131          INFOT = 2
132          CALL CPOTRI( 'U'-1, A, 1, INFO )
133          CALL CHKXER( 'CPOTRI', INFOT, NOUT, LERR, OK )
134          INFOT = 4
135          CALL CPOTRI( 'U'2, A, 1, INFO )
136          CALL CHKXER( 'CPOTRI', INFOT, NOUT, LERR, OK )
137 *
138 *        CPOTRS
139 *
140          SRNAMT = 'CPOTRS'
141          INFOT = 1
142          CALL CPOTRS( '/'00, A, 1, B, 1, INFO )
143          CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK )
144          INFOT = 2
145          CALL CPOTRS( 'U'-10, A, 1, B, 1, INFO )
146          CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK )
147          INFOT = 3
148          CALL CPOTRS( 'U'0-1, A, 1, B, 1, INFO )
149          CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK )
150          INFOT = 5
151          CALL CPOTRS( 'U'21, A, 1, B, 2, INFO )
152          CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK )
153          INFOT = 7
154          CALL CPOTRS( 'U'21, A, 2, B, 1, INFO )
155          CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK )
156 *
157 *        CPORFS
158 *
159          SRNAMT = 'CPORFS'
160          INFOT = 1
161          CALL CPORFS( '/'00, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R,
162      $                INFO )
163          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
164          INFOT = 2
165          CALL CPORFS( 'U'-10, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R,
166      $                INFO )
167          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
168          INFOT = 3
169          CALL CPORFS( 'U'0-1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R,
170      $                INFO )
171          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
172          INFOT = 5
173          CALL CPORFS( 'U'21, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, R,
174      $                INFO )
175          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
176          INFOT = 7
177          CALL CPORFS( 'U'21, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, R,
178      $                INFO )
179          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
180          INFOT = 9
181          CALL CPORFS( 'U'21, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, R,
182      $                INFO )
183          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
184          INFOT = 11
185          CALL CPORFS( 'U'21, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, R,
186      $                INFO )
187          CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK )
188 *
189 *        CPORFSX
190 *
191          N_ERR_BNDS = 3
192          NPARAMS = 0
193          SRNAMT = 'CPORFSX'
194          INFOT = 1
195          CALL CPORFSX( '/', 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, R, INFO )
198          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
199          INFOT = 2
200          CALL CPORFSX( '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, R, INFO )
203          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
204          EQ = 'N'
205          INFOT = 3
206          CALL CPORFSX( '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, R, INFO )
209          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
210          INFOT = 4
211          CALL CPORFSX( '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, R, INFO )
214          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
215          INFOT = 6
216          CALL CPORFSX( '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, R, INFO )
219          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
220          INFOT = 8
221          CALL CPORFSX( '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, R, INFO )
224          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
225          INFOT = 11
226          CALL CPORFSX( '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, R, INFO )
229          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
230          INFOT = 13
231          CALL CPORFSX( '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, R, INFO )
234          CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK )
235 *
236 *        CPOCON
237 *
238          SRNAMT = 'CPOCON'
239          INFOT = 1
240          CALL CPOCON( '/'0, A, 1, ANRM, RCOND, W, R, INFO )
241          CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK )
242          INFOT = 2
243          CALL CPOCON( 'U'-1, A, 1, ANRM, RCOND, W, R, INFO )
244          CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK )
245          INFOT = 4
246          CALL CPOCON( 'U'2, A, 1, ANRM, RCOND, W, R, INFO )
247          CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK )
248          INFOT = 5
249          CALL CPOCON( 'U'1, A, 1-ANRM, RCOND, W, R, INFO )
250          CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK )
251 *
252 *        CPOEQU
253 *
254          SRNAMT = 'CPOEQU'
255          INFOT = 1
256          CALL CPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO )
257          CALL CHKXER( 'CPOEQU', INFOT, NOUT, LERR, OK )
258          INFOT = 3
259          CALL CPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO )
260          CALL CHKXER( 'CPOEQU', INFOT, NOUT, LERR, OK )
261 *
262 *        CPOEQUB
263 *
264          SRNAMT = 'CPOEQUB'
265          INFOT = 1
266          CALL CPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO )
267          CALL CHKXER( 'CPOEQUB', INFOT, NOUT, LERR, OK )
268          INFOT = 3
269          CALL CPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO )
270          CALL CHKXER( 'CPOEQUB', INFOT, NOUT, LERR, OK )
271 *
272 *     Test error exits of the routines that use the Cholesky
273 *     decomposition of a Hermitian positive definite packed matrix.
274 *
275       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
276 *
277 *        CPPTRF
278 *
279          SRNAMT = 'CPPTRF'
280          INFOT = 1
281          CALL CPPTRF( '/'0, A, INFO )
282          CALL CHKXER( 'CPPTRF', INFOT, NOUT, LERR, OK )
283          INFOT = 2
284          CALL CPPTRF( 'U'-1, A, INFO )
285          CALL CHKXER( 'CPPTRF', INFOT, NOUT, LERR, OK )
286 *
287 *        CPPTRI
288 *
289          SRNAMT = 'CPPTRI'
290          INFOT = 1
291          CALL CPPTRI( '/'0, A, INFO )
292          CALL CHKXER( 'CPPTRI', INFOT, NOUT, LERR, OK )
293          INFOT = 2
294          CALL CPPTRI( 'U'-1, A, INFO )
295          CALL CHKXER( 'CPPTRI', INFOT, NOUT, LERR, OK )
296 *
297 *        CPPTRS
298 *
299          SRNAMT = 'CPPTRS'
300          INFOT = 1
301          CALL CPPTRS( '/'00, A, B, 1, INFO )
302          CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK )
303          INFOT = 2
304          CALL CPPTRS( 'U'-10, A, B, 1, INFO )
305          CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK )
306          INFOT = 3
307          CALL CPPTRS( 'U'0-1, A, B, 1, INFO )
308          CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK )
309          INFOT = 6
310          CALL CPPTRS( 'U'21, A, B, 1, INFO )
311          CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK )
312 *
313 *        CPPRFS
314 *
315          SRNAMT = 'CPPRFS'
316          INFOT = 1
317          CALL CPPRFS( '/'00, A, AF, B, 1, X, 1, R1, R2, W, R, INFO )
318          CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK )
319          INFOT = 2
320          CALL CPPRFS( 'U'-10, A, AF, B, 1, X, 1, R1, R2, W, R,
321      $                INFO )
322          CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK )
323          INFOT = 3
324          CALL CPPRFS( 'U'0-1, A, AF, B, 1, X, 1, R1, R2, W, R,
325      $                INFO )
326          CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK )
327          INFOT = 7
328          CALL CPPRFS( 'U'21, A, AF, B, 1, X, 2, R1, R2, W, R, INFO )
329          CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK )
330          INFOT = 9
331          CALL CPPRFS( 'U'21, A, AF, B, 2, X, 1, R1, R2, W, R, INFO )
332          CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK )
333 *
334 *        CPPCON
335 *
336          SRNAMT = 'CPPCON'
337          INFOT = 1
338          CALL CPPCON( '/'0, A, ANRM, RCOND, W, R, INFO )
339          CALL CHKXER( 'CPPCON', INFOT, NOUT, LERR, OK )
340          INFOT = 2
341          CALL CPPCON( 'U'-1, A, ANRM, RCOND, W, R, INFO )
342          CALL CHKXER( 'CPPCON', INFOT, NOUT, LERR, OK )
343          INFOT = 4
344          CALL CPPCON( 'U'1, A, -ANRM, RCOND, W, R, INFO )
345          CALL CHKXER( 'CPPCON', INFOT, NOUT, LERR, OK )
346 *
347 *        CPPEQU
348 *
349          SRNAMT = 'CPPEQU'
350          INFOT = 1
351          CALL CPPEQU( '/'0, A, R1, RCOND, ANRM, INFO )
352          CALL CHKXER( 'CPPEQU', INFOT, NOUT, LERR, OK )
353          INFOT = 2
354          CALL CPPEQU( 'U'-1, A, R1, RCOND, ANRM, INFO )
355          CALL CHKXER( 'CPPEQU', INFOT, NOUT, LERR, OK )
356 *
357 *     Test error exits of the routines that use the Cholesky
358 *     decomposition of a Hermitian positive definite band matrix.
359 *
360       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
361 *
362 *        CPBTRF
363 *
364          SRNAMT = 'CPBTRF'
365          INFOT = 1
366          CALL CPBTRF( '/'00, A, 1, INFO )
367          CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK )
368          INFOT = 2
369          CALL CPBTRF( 'U'-10, A, 1, INFO )
370          CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK )
371          INFOT = 3
372          CALL CPBTRF( 'U'1-1, A, 1, INFO )
373          CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK )
374          INFOT = 5
375          CALL CPBTRF( 'U'21, A, 1, INFO )
376          CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK )
377 *
378 *        CPBTF2
379 *
380          SRNAMT = 'CPBTF2'
381          INFOT = 1
382          CALL CPBTF2( '/'00, A, 1, INFO )
383          CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK )
384          INFOT = 2
385          CALL CPBTF2( 'U'-10, A, 1, INFO )
386          CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK )
387          INFOT = 3
388          CALL CPBTF2( 'U'1-1, A, 1, INFO )
389          CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK )
390          INFOT = 5
391          CALL CPBTF2( 'U'21, A, 1, INFO )
392          CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK )
393 *
394 *        CPBTRS
395 *
396          SRNAMT = 'CPBTRS'
397          INFOT = 1
398          CALL CPBTRS( '/'000, A, 1, B, 1, INFO )
399          CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK )
400          INFOT = 2
401          CALL CPBTRS( 'U'-100, A, 1, B, 1, INFO )
402          CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK )
403          INFOT = 3
404          CALL CPBTRS( 'U'1-10, A, 1, B, 1, INFO )
405          CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK )
406          INFOT = 4
407          CALL CPBTRS( 'U'00-1, A, 1, B, 1, INFO )
408          CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK )
409          INFOT = 6
410          CALL CPBTRS( 'U'211, A, 1, B, 1, INFO )
411          CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK )
412          INFOT = 8
413          CALL CPBTRS( 'U'201, A, 1, B, 1, INFO )
414          CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK )
415 *
416 *        CPBRFS
417 *
418          SRNAMT = 'CPBRFS'
419          INFOT = 1
420          CALL CPBRFS( '/'000, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
421      $                R, INFO )
422          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
423          INFOT = 2
424          CALL CPBRFS( 'U'-100, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
425      $                R, INFO )
426          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
427          INFOT = 3
428          CALL CPBRFS( 'U'1-10, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
429      $                R, INFO )
430          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
431          INFOT = 4
432          CALL CPBRFS( 'U'00-1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W,
433      $                R, INFO )
434          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
435          INFOT = 6
436          CALL CPBRFS( 'U'211, A, 1, AF, 2, B, 2, X, 2, R1, R2, W,
437      $                R, INFO )
438          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
439          INFOT = 8
440          CALL CPBRFS( 'U'211, A, 2, AF, 1, B, 2, X, 2, R1, R2, W,
441      $                R, INFO )
442          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
443          INFOT = 10
444          CALL CPBRFS( 'U'201, A, 1, AF, 1, B, 1, X, 2, R1, R2, W,
445      $                R, INFO )
446          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
447          INFOT = 12
448          CALL CPBRFS( 'U'201, A, 1, AF, 1, B, 2, X, 1, R1, R2, W,
449      $                R, INFO )
450          CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK )
451 *
452 *        CPBCON
453 *
454          SRNAMT = 'CPBCON'
455          INFOT = 1
456          CALL CPBCON( '/'00, A, 1, ANRM, RCOND, W, R, INFO )
457          CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK )
458          INFOT = 2
459          CALL CPBCON( 'U'-10, A, 1, ANRM, RCOND, W, R, INFO )
460          CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK )
461          INFOT = 3
462          CALL CPBCON( 'U'1-1, A, 1, ANRM, RCOND, W, R, INFO )
463          CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK )
464          INFOT = 5
465          CALL CPBCON( 'U'21, A, 1, ANRM, RCOND, W, R, INFO )
466          CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK )
467          INFOT = 6
468          CALL CPBCON( 'U'10, A, 1-ANRM, RCOND, W, R, INFO )
469          CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK )
470 *
471 *        CPBEQU
472 *
473          SRNAMT = 'CPBEQU'
474          INFOT = 1
475          CALL CPBEQU( '/'00, A, 1, R1, RCOND, ANRM, INFO )
476          CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK )
477          INFOT = 2
478          CALL CPBEQU( 'U'-10, A, 1, R1, RCOND, ANRM, INFO )
479          CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK )
480          INFOT = 3
481          CALL CPBEQU( 'U'1-1, A, 1, R1, RCOND, ANRM, INFO )
482          CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK )
483          INFOT = 5
484          CALL CPBEQU( 'U'21, A, 1, R1, RCOND, ANRM, INFO )
485          CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK )
486       END IF
487 *
488 *     Print a summary line.
489 *
490       CALL ALAESM( PATH, OK, NOUT )
491 *
492       RETURN
493 *
494 *     End of CERRPO
495 *
496       END