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