LAPACK  3.10.0
LAPACK: Linear Algebra PACKage
zerrpo.f
Go to the documentation of this file.
1 *> \brief \b ZERRPO
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 ZERRPO( 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 *> ZERRPO tests the error exits for the COMPLEX*16 routines
25 *> for Hermitian positive definite matrices.
26 *> \endverbatim
27 *
28 * Arguments:
29 * ==========
30 *
31 *> \param[in] PATH
32 *> \verbatim
33 *> PATH is CHARACTER*3
34 *> The LAPACK path name for the routines to be tested.
35 *> \endverbatim
36 *>
37 *> \param[in] NUNIT
38 *> \verbatim
39 *> NUNIT is INTEGER
40 *> The unit number for output.
41 *> \endverbatim
42 *
43 * Authors:
44 * ========
45 *
46 *> \author Univ. of Tennessee
47 *> \author Univ. of California Berkeley
48 *> \author Univ. of Colorado Denver
49 *> \author NAG Ltd.
50 *
51 *> \ingroup complex16_lin
52 *
53 * =====================================================================
54  SUBROUTINE zerrpo( PATH, NUNIT )
55 *
56 * -- LAPACK test routine --
57 * -- LAPACK is a software package provided by Univ. of Tennessee, --
58 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
59 *
60 * .. Scalar Arguments ..
61  CHARACTER*3 PATH
62  INTEGER NUNIT
63 * ..
64 *
65 * =====================================================================
66 *
67 * .. Parameters ..
68  INTEGER NMAX
69  parameter( nmax = 4 )
70 * ..
71 * .. Local Scalars ..
72  CHARACTER*2 C2
73  INTEGER I, INFO, J
74  DOUBLE PRECISION ANRM, RCOND
75 * ..
76 * .. Local Arrays ..
77  DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX )
78  COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
79  $ W( 2*NMAX ), X( NMAX )
80 * ..
81 * .. External Functions ..
82  LOGICAL LSAMEN
83  EXTERNAL lsamen
84 * ..
85 * .. External Subroutines ..
86  EXTERNAL alaesm, chkxer, zpbcon, zpbequ, zpbrfs, zpbtf2,
89  $ zpptrf, zpptri, zpptrs
90 * ..
91 * .. Scalars in Common ..
92  LOGICAL LERR, OK
93  CHARACTER*32 SRNAMT
94  INTEGER INFOT, NOUT
95 * ..
96 * .. Common blocks ..
97  COMMON / infoc / infot, nout, ok, lerr
98  COMMON / srnamc / srnamt
99 * ..
100 * .. Intrinsic Functions ..
101  INTRINSIC dble, dcmplx
102 * ..
103 * .. Executable Statements ..
104 *
105  nout = nunit
106  WRITE( nout, fmt = * )
107  c2 = path( 2: 3 )
108 *
109 * Set the variables to innocuous values.
110 *
111  DO 20 j = 1, nmax
112  DO 10 i = 1, nmax
113  a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
114  $ -1.d0 / dble( i+j ) )
115  af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
116  $ -1.d0 / dble( i+j ) )
117  10 CONTINUE
118  b( j ) = 0.d0
119  r1( j ) = 0.d0
120  r2( j ) = 0.d0
121  w( j ) = 0.d0
122  x( j ) = 0.d0
123  20 CONTINUE
124  anrm = 1.d0
125  ok = .true.
126 *
127 * Test error exits of the routines that use the Cholesky
128 * decomposition of a Hermitian positive definite matrix.
129 *
130  IF( lsamen( 2, c2, 'PO' ) ) THEN
131 *
132 * ZPOTRF
133 *
134  srnamt = 'ZPOTRF'
135  infot = 1
136  CALL zpotrf( '/', 0, a, 1, info )
137  CALL chkxer( 'ZPOTRF', infot, nout, lerr, ok )
138  infot = 2
139  CALL zpotrf( 'U', -1, a, 1, info )
140  CALL chkxer( 'ZPOTRF', infot, nout, lerr, ok )
141  infot = 4
142  CALL zpotrf( 'U', 2, a, 1, info )
143  CALL chkxer( 'ZPOTRF', infot, nout, lerr, ok )
144 *
145 * ZPOTF2
146 *
147  srnamt = 'ZPOTF2'
148  infot = 1
149  CALL zpotf2( '/', 0, a, 1, info )
150  CALL chkxer( 'ZPOTF2', infot, nout, lerr, ok )
151  infot = 2
152  CALL zpotf2( 'U', -1, a, 1, info )
153  CALL chkxer( 'ZPOTF2', infot, nout, lerr, ok )
154  infot = 4
155  CALL zpotf2( 'U', 2, a, 1, info )
156  CALL chkxer( 'ZPOTF2', infot, nout, lerr, ok )
157 *
158 * ZPOTRI
159 *
160  srnamt = 'ZPOTRI'
161  infot = 1
162  CALL zpotri( '/', 0, a, 1, info )
163  CALL chkxer( 'ZPOTRI', infot, nout, lerr, ok )
164  infot = 2
165  CALL zpotri( 'U', -1, a, 1, info )
166  CALL chkxer( 'ZPOTRI', infot, nout, lerr, ok )
167  infot = 4
168  CALL zpotri( 'U', 2, a, 1, info )
169  CALL chkxer( 'ZPOTRI', infot, nout, lerr, ok )
170 *
171 * ZPOTRS
172 *
173  srnamt = 'ZPOTRS'
174  infot = 1
175  CALL zpotrs( '/', 0, 0, a, 1, b, 1, info )
176  CALL chkxer( 'ZPOTRS', infot, nout, lerr, ok )
177  infot = 2
178  CALL zpotrs( 'U', -1, 0, a, 1, b, 1, info )
179  CALL chkxer( 'ZPOTRS', infot, nout, lerr, ok )
180  infot = 3
181  CALL zpotrs( 'U', 0, -1, a, 1, b, 1, info )
182  CALL chkxer( 'ZPOTRS', infot, nout, lerr, ok )
183  infot = 5
184  CALL zpotrs( 'U', 2, 1, a, 1, b, 2, info )
185  CALL chkxer( 'ZPOTRS', infot, nout, lerr, ok )
186  infot = 7
187  CALL zpotrs( 'U', 2, 1, a, 2, b, 1, info )
188  CALL chkxer( 'ZPOTRS', infot, nout, lerr, ok )
189 *
190 * ZPORFS
191 *
192  srnamt = 'ZPORFS'
193  infot = 1
194  CALL zporfs( '/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
195  $ info )
196  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
197  infot = 2
198  CALL zporfs( 'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
199  $ info )
200  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
201  infot = 3
202  CALL zporfs( 'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
203  $ info )
204  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
205  infot = 5
206  CALL zporfs( 'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
207  $ info )
208  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
209  infot = 7
210  CALL zporfs( 'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
211  $ info )
212  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
213  infot = 9
214  CALL zporfs( 'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
215  $ info )
216  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
217  infot = 11
218  CALL zporfs( 'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
219  $ info )
220  CALL chkxer( 'ZPORFS', infot, nout, lerr, ok )
221 *
222 * ZPOCON
223 *
224  srnamt = 'ZPOCON'
225  infot = 1
226  CALL zpocon( '/', 0, a, 1, anrm, rcond, w, r, info )
227  CALL chkxer( 'ZPOCON', infot, nout, lerr, ok )
228  infot = 2
229  CALL zpocon( 'U', -1, a, 1, anrm, rcond, w, r, info )
230  CALL chkxer( 'ZPOCON', infot, nout, lerr, ok )
231  infot = 4
232  CALL zpocon( 'U', 2, a, 1, anrm, rcond, w, r, info )
233  CALL chkxer( 'ZPOCON', infot, nout, lerr, ok )
234  infot = 5
235  CALL zpocon( 'U', 1, a, 1, -anrm, rcond, w, r, info )
236  CALL chkxer( 'ZPOCON', infot, nout, lerr, ok )
237 *
238 * ZPOEQU
239 *
240  srnamt = 'ZPOEQU'
241  infot = 1
242  CALL zpoequ( -1, a, 1, r1, rcond, anrm, info )
243  CALL chkxer( 'ZPOEQU', infot, nout, lerr, ok )
244  infot = 3
245  CALL zpoequ( 2, a, 1, r1, rcond, anrm, info )
246  CALL chkxer( 'ZPOEQU', infot, nout, lerr, ok )
247 *
248 * Test error exits of the routines that use the Cholesky
249 * decomposition of a Hermitian positive definite packed matrix.
250 *
251  ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
252 *
253 * ZPPTRF
254 *
255  srnamt = 'ZPPTRF'
256  infot = 1
257  CALL zpptrf( '/', 0, a, info )
258  CALL chkxer( 'ZPPTRF', infot, nout, lerr, ok )
259  infot = 2
260  CALL zpptrf( 'U', -1, a, info )
261  CALL chkxer( 'ZPPTRF', infot, nout, lerr, ok )
262 *
263 * ZPPTRI
264 *
265  srnamt = 'ZPPTRI'
266  infot = 1
267  CALL zpptri( '/', 0, a, info )
268  CALL chkxer( 'ZPPTRI', infot, nout, lerr, ok )
269  infot = 2
270  CALL zpptri( 'U', -1, a, info )
271  CALL chkxer( 'ZPPTRI', infot, nout, lerr, ok )
272 *
273 * ZPPTRS
274 *
275  srnamt = 'ZPPTRS'
276  infot = 1
277  CALL zpptrs( '/', 0, 0, a, b, 1, info )
278  CALL chkxer( 'ZPPTRS', infot, nout, lerr, ok )
279  infot = 2
280  CALL zpptrs( 'U', -1, 0, a, b, 1, info )
281  CALL chkxer( 'ZPPTRS', infot, nout, lerr, ok )
282  infot = 3
283  CALL zpptrs( 'U', 0, -1, a, b, 1, info )
284  CALL chkxer( 'ZPPTRS', infot, nout, lerr, ok )
285  infot = 6
286  CALL zpptrs( 'U', 2, 1, a, b, 1, info )
287  CALL chkxer( 'ZPPTRS', infot, nout, lerr, ok )
288 *
289 * ZPPRFS
290 *
291  srnamt = 'ZPPRFS'
292  infot = 1
293  CALL zpprfs( '/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
294  CALL chkxer( 'ZPPRFS', infot, nout, lerr, ok )
295  infot = 2
296  CALL zpprfs( 'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
297  $ info )
298  CALL chkxer( 'ZPPRFS', infot, nout, lerr, ok )
299  infot = 3
300  CALL zpprfs( 'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
301  $ info )
302  CALL chkxer( 'ZPPRFS', infot, nout, lerr, ok )
303  infot = 7
304  CALL zpprfs( 'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
305  CALL chkxer( 'ZPPRFS', infot, nout, lerr, ok )
306  infot = 9
307  CALL zpprfs( 'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
308  CALL chkxer( 'ZPPRFS', infot, nout, lerr, ok )
309 *
310 * ZPPCON
311 *
312  srnamt = 'ZPPCON'
313  infot = 1
314  CALL zppcon( '/', 0, a, anrm, rcond, w, r, info )
315  CALL chkxer( 'ZPPCON', infot, nout, lerr, ok )
316  infot = 2
317  CALL zppcon( 'U', -1, a, anrm, rcond, w, r, info )
318  CALL chkxer( 'ZPPCON', infot, nout, lerr, ok )
319  infot = 4
320  CALL zppcon( 'U', 1, a, -anrm, rcond, w, r, info )
321  CALL chkxer( 'ZPPCON', infot, nout, lerr, ok )
322 *
323 * ZPPEQU
324 *
325  srnamt = 'ZPPEQU'
326  infot = 1
327  CALL zppequ( '/', 0, a, r1, rcond, anrm, info )
328  CALL chkxer( 'ZPPEQU', infot, nout, lerr, ok )
329  infot = 2
330  CALL zppequ( 'U', -1, a, r1, rcond, anrm, info )
331  CALL chkxer( 'ZPPEQU', infot, nout, lerr, ok )
332 *
333 * Test error exits of the routines that use the Cholesky
334 * decomposition of a Hermitian positive definite band matrix.
335 *
336  ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
337 *
338 * ZPBTRF
339 *
340  srnamt = 'ZPBTRF'
341  infot = 1
342  CALL zpbtrf( '/', 0, 0, a, 1, info )
343  CALL chkxer( 'ZPBTRF', infot, nout, lerr, ok )
344  infot = 2
345  CALL zpbtrf( 'U', -1, 0, a, 1, info )
346  CALL chkxer( 'ZPBTRF', infot, nout, lerr, ok )
347  infot = 3
348  CALL zpbtrf( 'U', 1, -1, a, 1, info )
349  CALL chkxer( 'ZPBTRF', infot, nout, lerr, ok )
350  infot = 5
351  CALL zpbtrf( 'U', 2, 1, a, 1, info )
352  CALL chkxer( 'ZPBTRF', infot, nout, lerr, ok )
353 *
354 * ZPBTF2
355 *
356  srnamt = 'ZPBTF2'
357  infot = 1
358  CALL zpbtf2( '/', 0, 0, a, 1, info )
359  CALL chkxer( 'ZPBTF2', infot, nout, lerr, ok )
360  infot = 2
361  CALL zpbtf2( 'U', -1, 0, a, 1, info )
362  CALL chkxer( 'ZPBTF2', infot, nout, lerr, ok )
363  infot = 3
364  CALL zpbtf2( 'U', 1, -1, a, 1, info )
365  CALL chkxer( 'ZPBTF2', infot, nout, lerr, ok )
366  infot = 5
367  CALL zpbtf2( 'U', 2, 1, a, 1, info )
368  CALL chkxer( 'ZPBTF2', infot, nout, lerr, ok )
369 *
370 * ZPBTRS
371 *
372  srnamt = 'ZPBTRS'
373  infot = 1
374  CALL zpbtrs( '/', 0, 0, 0, a, 1, b, 1, info )
375  CALL chkxer( 'ZPBTRS', infot, nout, lerr, ok )
376  infot = 2
377  CALL zpbtrs( 'U', -1, 0, 0, a, 1, b, 1, info )
378  CALL chkxer( 'ZPBTRS', infot, nout, lerr, ok )
379  infot = 3
380  CALL zpbtrs( 'U', 1, -1, 0, a, 1, b, 1, info )
381  CALL chkxer( 'ZPBTRS', infot, nout, lerr, ok )
382  infot = 4
383  CALL zpbtrs( 'U', 0, 0, -1, a, 1, b, 1, info )
384  CALL chkxer( 'ZPBTRS', infot, nout, lerr, ok )
385  infot = 6
386  CALL zpbtrs( 'U', 2, 1, 1, a, 1, b, 1, info )
387  CALL chkxer( 'ZPBTRS', infot, nout, lerr, ok )
388  infot = 8
389  CALL zpbtrs( 'U', 2, 0, 1, a, 1, b, 1, info )
390  CALL chkxer( 'ZPBTRS', infot, nout, lerr, ok )
391 *
392 * ZPBRFS
393 *
394  srnamt = 'ZPBRFS'
395  infot = 1
396  CALL zpbrfs( '/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
397  $ r, info )
398  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
399  infot = 2
400  CALL zpbrfs( 'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
401  $ r, info )
402  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
403  infot = 3
404  CALL zpbrfs( 'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
405  $ r, info )
406  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
407  infot = 4
408  CALL zpbrfs( 'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
409  $ r, info )
410  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
411  infot = 6
412  CALL zpbrfs( 'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
413  $ r, info )
414  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
415  infot = 8
416  CALL zpbrfs( 'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
417  $ r, info )
418  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
419  infot = 10
420  CALL zpbrfs( 'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
421  $ r, info )
422  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
423  infot = 12
424  CALL zpbrfs( 'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
425  $ r, info )
426  CALL chkxer( 'ZPBRFS', infot, nout, lerr, ok )
427 *
428 * ZPBCON
429 *
430  srnamt = 'ZPBCON'
431  infot = 1
432  CALL zpbcon( '/', 0, 0, a, 1, anrm, rcond, w, r, info )
433  CALL chkxer( 'ZPBCON', infot, nout, lerr, ok )
434  infot = 2
435  CALL zpbcon( 'U', -1, 0, a, 1, anrm, rcond, w, r, info )
436  CALL chkxer( 'ZPBCON', infot, nout, lerr, ok )
437  infot = 3
438  CALL zpbcon( 'U', 1, -1, a, 1, anrm, rcond, w, r, info )
439  CALL chkxer( 'ZPBCON', infot, nout, lerr, ok )
440  infot = 5
441  CALL zpbcon( 'U', 2, 1, a, 1, anrm, rcond, w, r, info )
442  CALL chkxer( 'ZPBCON', infot, nout, lerr, ok )
443  infot = 6
444  CALL zpbcon( 'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
445  CALL chkxer( 'ZPBCON', infot, nout, lerr, ok )
446 *
447 * ZPBEQU
448 *
449  srnamt = 'ZPBEQU'
450  infot = 1
451  CALL zpbequ( '/', 0, 0, a, 1, r1, rcond, anrm, info )
452  CALL chkxer( 'ZPBEQU', infot, nout, lerr, ok )
453  infot = 2
454  CALL zpbequ( 'U', -1, 0, a, 1, r1, rcond, anrm, info )
455  CALL chkxer( 'ZPBEQU', infot, nout, lerr, ok )
456  infot = 3
457  CALL zpbequ( 'U', 1, -1, a, 1, r1, rcond, anrm, info )
458  CALL chkxer( 'ZPBEQU', infot, nout, lerr, ok )
459  infot = 5
460  CALL zpbequ( 'U', 2, 1, a, 1, r1, rcond, anrm, info )
461  CALL chkxer( 'ZPBEQU', infot, nout, lerr, ok )
462  END IF
463 *
464 * Print a summary line.
465 *
466  CALL alaesm( path, ok, nout )
467 *
468  RETURN
469 *
470 * End of ZERRPO
471 *
472  END
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine zerrpo(PATH, NUNIT)
ZERRPO
Definition: zerrpo.f:55
subroutine zpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, RWORK, INFO)
ZPBCON
Definition: zpbcon.f:133
subroutine zpbtf2(UPLO, N, KD, AB, LDAB, INFO)
ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
Definition: zpbtf2.f:142
subroutine zppcon(UPLO, N, AP, ANORM, RCOND, WORK, RWORK, INFO)
ZPPCON
Definition: zppcon.f:118
subroutine zpptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPTRS
Definition: zpptrs.f:108
subroutine zppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
ZPPEQU
Definition: zppequ.f:117
subroutine zpbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPBRFS
Definition: zpbrfs.f:189
subroutine zpptri(UPLO, N, AP, INFO)
ZPPTRI
Definition: zpptri.f:93
subroutine zpbtrf(UPLO, N, KD, AB, LDAB, INFO)
ZPBTRF
Definition: zpbtrf.f:142
subroutine zpptrf(UPLO, N, AP, INFO)
ZPPTRF
Definition: zpptrf.f:119
subroutine zpprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPPRFS
Definition: zpprfs.f:171
subroutine zpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
ZPBEQU
Definition: zpbequ.f:130
subroutine zpbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZPBTRS
Definition: zpbtrs.f:121
subroutine zpotf2(UPLO, N, A, LDA, INFO)
ZPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
Definition: zpotf2.f:109
subroutine zpotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
ZPOTRS
Definition: zpotrs.f:110
subroutine zpocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, RWORK, INFO)
ZPOCON
Definition: zpocon.f:121
subroutine zpoequ(N, A, LDA, S, SCOND, AMAX, INFO)
ZPOEQU
Definition: zpoequ.f:113
subroutine zporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPORFS
Definition: zporfs.f:183
subroutine zpotri(UPLO, N, A, LDA, INFO)
ZPOTRI
Definition: zpotri.f:95
subroutine zpotrf(UPLO, N, A, LDA, INFO)
ZPOTRF VARIANT: right looking block version of the algorithm, calling Level 3 BLAS.
Definition: zpotrf.f:102