151 SUBROUTINE zchkps( DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL,
152 $ THRESH, TSTERR, NMAX, A, AFAC, PERM, PIV, WORK,
160 DOUBLE PRECISION THRESH
161 INTEGER NMAX, NN, NNB, NOUT, NRANK
165 COMPLEX*16 ( * ), AFAC( * ), PERM( * ), WORK( * )
166 DOUBLE PRECISION RWORK( * )
167 INTEGER NBVAL( * ), NVAL( * ), PIV( * ), RANKVAL( * )
177 parameter( ntypes = 9 )
180 DOUBLE PRECISION , CNDNUM, RESULT, TOL
181 INTEGER COMPRANK, I, IMAT, IN, INB, INFO, IRANK, IUPLO,
183 $ nimat, nrun, rank, rankdiff
184 CHARACTER DIST,
TYPE, UPLO
188 INTEGER ISEED( 4 ), ISEEDY( 4 )
201 COMMON / infoc / infot, nunit, ok, lerr
202 COMMON / srnamc / srnamt
205 INTRINSIC dble,
max, ceiling
208 DATA iseedy / 1988, 1989, 1990, 1991 /
209 DATA uplos /
'U',
'L' /
215 path( 1: 1 ) = 'zomplex precision
'
221 ISEED( I ) = ISEEDY( I )
227 $ CALL ZERRPS( PATH, NOUT )
240 DO 140 IMAT = 1, NIMAT
244.NOT.
IF( DOTYPE( IMAT ) )
249 DO 130 IRANK = 1, NRANK
254.LT..OR..GT..AND..GT.
IF( ( IMAT3 IMAT5 ) IRANK1 )
257 RANK = CEILING( ( N * DBLE( RANKVAL( IRANK ) ) )
264 UPLO = UPLOS( IUPLO )
269 CALL ZLATB5( PATH, IMAT, N, TYPE, KL, KU, ANORM,
270 $ MODE, CNDNUM, DIST )
273 CALL ZLATMT( N, N, DIST, ISEED, TYPE, RWORK, MODE,
274 $ CNDNUM, ANORM, RANK, KL, KU, UPLO, A,
280 CALL ALAERH( PATH, 'zlatmt', INFO, 0, UPLO, N,
281 $ N, -1, -1, -1, IMAT, NFAIL, NERRS,
295 CALL ZLACPY( UPLO, N, N, A, LDA, AFAC, LDA )
301 CALL ZPSTRF( UPLO, N, AFAC, LDA, PIV, COMPRANK,
307.OR..NE..AND..EQ.
$ (INFOIZERORANKN)
308.OR..LE..AND..LT.
$ (INFOIZERORANKN) ) THEN
309 CALL ALAERH( PATH, 'zpstrf', INFO, IZERO,
310 $ UPLO, N, N, -1, -1, NB, IMAT,
311 $ NFAIL, NERRS, NOUT )
324 CALL ZPST01( UPLO, N, A, LDA, AFAC, LDA, PERM, LDA,
325 $ PIV, RWORK, RESULT, COMPRANK )
332 RANKDIFF = RANK - COMPRANK
333.GE.
IF( RESULTTHRESH ) THEN
334.EQ..AND..EQ.
IF( NFAIL0 NERRS0 )
335 $ CALL ALAHD( NOUT, PATH )
336 WRITE( NOUT, FMT = 9999 )UPLO, N, RANK,
337 $ RANKDIFF, NB, IMAT, RESULT
350 CALL ALASUM( PATH, NOUT, NFAIL, NRUN, NERRS )
352 9999 FORMAT( ' uplo =
''', A1, ''', n =
', I5, ', rank =
', I3,
353 $ ', diff =
', I5, ', nb =
', I4, ',
type ', I2, ', ratio =
',
subroutine xlaenv(ispec, nvalue)
XLAENV
subroutine alasum(type, nout, nfail, nrun, nerrs)
ALASUM
subroutine alahd(iounit, path)
ALAHD
subroutine alaerh(path, subnam, info, infoe, opts, m, n, kl, ku, n5, imat, nfail, nerrs, nout)
ALAERH
subroutine zlacpy(uplo, m, n, a, lda, b, ldb)
ZLACPY copies all or part of one two-dimensional array to another.
subroutine zpstrf(uplo, n, a, lda, piv, rank, tol, work, info)
ZPSTRF computes the Cholesky factorization with complete pivoting of a complex Hermitian positive sem...
subroutine zerrps(path, nunit)
ZERRPS
subroutine zlatb5(path, imat, n, type, kl, ku, anorm, mode, cndnum, dist)
ZLATB5
subroutine zpst01(uplo, n, a, lda, afac, ldafac, perm, ldperm, piv, rwork, resid, rank)
ZPST01
subroutine zchkps(dotype, nn, nval, nnb, nbval, nrank, rankval, thresh, tsterr, nmax, a, afac, perm, piv, work, rwork, nout)
ZCHKPS
subroutine zlatmt(m, n, dist, iseed, sym, d, mode, cond, dmax, rank, kl, ku, pack, a, lda, work, info)
ZLATMT