Functions | |
| program | zchkaa |
| ZCHKAA | |
| program | zchkab |
| ZCHKAB | |
| subroutine | zchkeq (thresh, nout) |
| ZCHKEQ | |
| subroutine | zchkgb (dotype, nm, mval, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, a, la, afac, lafac, b, x, xact, work, rwork, iwork, nout) |
| ZCHKGB | |
| subroutine | zchkge (dotype, nm, mval, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKGE | |
| subroutine | zchkgt (dotype, nn, nval, nns, nsval, thresh, tsterr, a, af, b, x, xact, work, rwork, iwork, nout) |
| ZCHKGT | |
| subroutine | zchkhe (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKHE | |
| subroutine | zchkhe_aa (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKHE_AA | |
| subroutine | zchkhe_aa_2stage (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKHE_AA_2STAGE | |
| subroutine | zchkhe_rk (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKHE_RK | |
| subroutine | zchkhe_rook (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKHE_ROOK | |
| subroutine | zchkhp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKHP | |
| subroutine | zchklq (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs, thresh, tsterr, nmax, a, af, aq, al, ac, b, x, xact, tau, work, rwork, nout) |
| ZCHKLQ | |
| subroutine | zchkpb (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, nout) |
| ZCHKPB | |
| subroutine | zchkpo (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, nout) |
| ZCHKPO | |
| subroutine | zchkpp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, nout) |
| ZCHKPP | |
| subroutine | zchkps (dotype, nn, nval, nnb, nbval, nrank, rankval, thresh, tsterr, nmax, a, afac, perm, piv, work, rwork, nout) |
| ZCHKPS | |
| subroutine | zchkpt (dotype, nn, nval, nns, nsval, thresh, tsterr, a, d, e, b, x, xact, work, rwork, nout) |
| ZCHKPT | |
| subroutine | zchkq3 (dotype, nm, mval, nn, nval, nnb, nbval, nxval, thresh, a, copya, s, tau, work, rwork, iwork, nout) |
| ZCHKQ3 | |
| subroutine | zchkql (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs, thresh, tsterr, nmax, a, af, aq, al, ac, b, x, xact, tau, work, rwork, nout) |
| ZCHKQL | |
| subroutine | zchkqr (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs, thresh, tsterr, nmax, a, af, aq, ar, ac, b, x, xact, tau, work, rwork, iwork, nout) |
| ZCHKQR | |
| subroutine | zchkqrt (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| ZCHKQRT | |
| subroutine | zchkqrtp (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| ZCHKQRTP | |
| program | zchkrfp |
| ZCHKRFP | |
| subroutine | zchkrq (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs, thresh, tsterr, nmax, a, af, aq, ar, ac, b, x, xact, tau, work, rwork, iwork, nout) |
| ZCHKRQ | |
| subroutine | zchksp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKSP | |
| subroutine | zchksy (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKSY | |
| subroutine | zchksy_aa (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKSY_AA | |
| subroutine | zchksy_aa_2stage (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKSY_AA_2STAGE | |
| subroutine | zchksy_rk (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKSY_RK | |
| subroutine | zchksy_rook (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZCHKSY_ROOK | |
| subroutine | zchktb (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, ab, ainv, b, x, xact, work, rwork, nout) |
| ZCHKTB | |
| subroutine | zchktp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, ap, ainvp, b, x, xact, work, rwork, nout) |
| ZCHKTP | |
| subroutine | zchktr (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, ainv, b, x, xact, work, rwork, nout) |
| ZCHKTR | |
| subroutine | zchktz (dotype, nm, mval, nn, nval, thresh, tsterr, a, copya, s, tau, work, rwork, nout) |
| ZCHKTZ | |
| subroutine | zchkunhr_col (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| ZCHKUNHR_COL | |
| subroutine | zdrvab (dotype, nm, mval, nns, nsval, thresh, nmax, a, afac, b, x, work, rwork, swork, iwork, nout) |
| ZDRVAB | |
| subroutine | zdrvac (dotype, nm, mval, nns, nsval, thresh, nmax, a, afac, b, x, work, rwork, swork, nout) |
| ZDRVAC | |
| subroutine | zdrvgb (dotype, nn, nval, nrhs, thresh, tsterr, a, la, afb, lafb, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| ZDRVGB | |
| subroutine | zdrvge (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| ZDRVGE | |
| subroutine | zdrvgt (dotype, nn, nval, nrhs, thresh, tsterr, a, af, b, x, xact, work, rwork, iwork, nout) |
| ZDRVGT | |
| subroutine | zdrvhe (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVHE | |
| subroutine | zdrvhe_aa (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVHE_AA | |
| subroutine | zdrvhe_aa_2stage (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVHE_AA_2STAGE | |
| subroutine | zdrvhe_rk (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVHE_RK | |
| subroutine | zdrvhe_rook (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVHE_ROOK | |
| subroutine | zdrvhp (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVHP | |
| subroutine | zdrvls (dotype, nm, mval, nn, nval, nns, nsval, nnb, nbval, nxval, thresh, tsterr, a, copya, b, copyb, c, s, copys, nout) |
| ZDRVLS | |
| subroutine | zdrvpb (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, nout) |
| ZDRVPB | |
| subroutine | zdrvpo (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, nout) |
| ZDRVPO | |
| subroutine | zdrvpp (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, nout) |
| ZDRVPP | |
| subroutine | zdrvpt (dotype, nn, nval, nrhs, thresh, tsterr, a, d, e, b, x, xact, work, rwork, nout) |
| ZDRVPT | |
| subroutine | zdrvrf1 (nout, nn, nval, thresh, a, lda, arf, work) |
| ZDRVRF1 | |
| subroutine | zdrvrf2 (nout, nn, nval, a, lda, arf, ap, asav) |
| ZDRVRF2 | |
| subroutine | zdrvrf3 (nout, nn, nval, thresh, a, lda, arf, b1, b2, d_work_zlange, z_work_zgeqrf, tau) |
| ZDRVRF3 | |
| subroutine | zdrvrf4 (nout, nn, nval, thresh, c1, c2, ldc, crf, a, lda, d_work_zlange) |
| ZDRVRF4 | |
| subroutine | zdrvrfp (nout, nn, nval, nns, nsval, nnt, ntval, thresh, a, asav, afac, ainv, b, bsav, xact, x, arf, arfinv, z_work_zlatms, z_work_zpot02, z_work_zpot03, d_work_zlatms, d_work_zlanhe, d_work_zpot01, d_work_zpot02, d_work_zpot03) |
| ZDRVRFP | |
| subroutine | zdrvsp (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVSP | |
| subroutine | zdrvsy (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVSY | |
| subroutine | zdrvsy_aa (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVSY_AA | |
| subroutine | zdrvsy_aa_2stage (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVSY_AA_2STAGE | |
| subroutine | zdrvsy_rk (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVSY_RK | |
| subroutine | zdrvsy_rook (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| ZDRVSY_ROOK | |
| subroutine | zebchvxx (thresh, path) |
| ZEBCHVXX | |
| subroutine | zerrab (nunit) |
| ZERRAB | |
| subroutine | zerrac (nunit) |
| ZERRAC | |
| subroutine | zerrge (path, nunit) |
| ZERRGE | |
| subroutine | zerrgt (path, nunit) |
| ZERRGT | |
| subroutine | zerrhe (path, nunit) |
| ZERRHE | |
| subroutine | zerrlq (path, nunit) |
| ZERRLQ | |
| subroutine | zerrls (path, nunit) |
| ZERRLS | |
| subroutine | zerrpo (path, nunit) |
| ZERRPO | |
| subroutine | zerrps (path, nunit) |
| ZERRPS | |
| subroutine | zerrql (path, nunit) |
| ZERRQL | |
| subroutine | zerrqp (path, nunit) |
| ZERRQP | |
| subroutine | zerrqr (path, nunit) |
| ZERRQR | |
| subroutine | zerrqrt (path, nunit) |
| ZERRQRT | |
| subroutine | zerrqrtp (path, nunit) |
| ZERRQRTP | |
| subroutine | zerrrfp (nunit) |
| ZERRRFP | |
| subroutine | zerrrq (path, nunit) |
| ZERRRQ | |
| subroutine | zerrsy (path, nunit) |
| ZERRSY | |
| subroutine | zerrtr (path, nunit) |
| ZERRTR | |
| subroutine | zerrtz (path, nunit) |
| ZERRTZ | |
| subroutine | zerrunhr_col (path, nunit) |
| ZERRUNHR_COL | |
| subroutine | zerrvx (path, nunit) |
| ZERRVX | |
| subroutine | zgbt01 (m, n, kl, ku, a, lda, afac, ldafac, ipiv, work, resid) |
| ZGBT01 | |
| subroutine | zgbt02 (trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZGBT02 | |
| subroutine | zgbt05 (trans, n, kl, ku, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZGBT05 | |
| subroutine | zgelqs (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| ZGELQS | |
| logical function | zgennd (m, n, a, lda) |
| ZGENND | |
| subroutine | zgeqls (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| ZGEQLS | |
| subroutine | zgeqrs (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| ZGEQRS | |
| subroutine | zgerqs (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| ZGERQS | |
| subroutine | zget01 (m, n, a, lda, afac, ldafac, ipiv, rwork, resid) |
| ZGET01 | |
| subroutine | zget02 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZGET02 | |
| subroutine | zget03 (n, a, lda, ainv, ldainv, work, ldwork, rwork, rcond, resid) |
| ZGET03 | |
| subroutine | zget04 (n, nrhs, x, ldx, xact, ldxact, rcond, resid) |
| ZGET04 | |
| subroutine | zget07 (trans, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, chkferr, berr, reslts) |
| ZGET07 | |
| subroutine | zget08 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZGET08 | |
| subroutine | zgtt01 (n, dl, d, du, dlf, df, duf, du2, ipiv, work, ldwork, rwork, resid) |
| ZGTT01 | |
| subroutine | zgtt02 (trans, n, nrhs, dl, d, du, x, ldx, b, ldb, resid) |
| ZGTT02 | |
| subroutine | zgtt05 (trans, n, nrhs, dl, d, du, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZGTT05 | |
| subroutine | zhet01 (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| ZHET01 | |
| subroutine | zhet01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc, rwork, resid) |
| ZHET01_3 | |
| subroutine | zhet01_aa (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| ZHET01_AA | |
| subroutine | zhet01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| ZHET01_ROOK | |
| subroutine | zhpt01 (uplo, n, a, afac, ipiv, c, ldc, rwork, resid) |
| ZHPT01 | |
| subroutine | zlahilb (n, nrhs, a, lda, x, ldx, b, ldb, work, info, path) |
| ZLAHILB | |
| subroutine | zlaipd (n, a, inda, vinda) |
| ZLAIPD | |
| subroutine | zlaptm (uplo, n, nrhs, alpha, d, e, x, ldx, beta, b, ldb) |
| ZLAPTM | |
| subroutine | zlarhs (path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info) |
| ZLARHS | |
| subroutine | zlatb4 (path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist) |
| ZLATB4 | |
| subroutine | zlatb5 (path, imat, n, type, kl, ku, anorm, mode, cndnum, dist) |
| ZLATB5 | |
| subroutine | zlatsp (uplo, n, x, iseed) |
| ZLATSP | |
| subroutine | zlatsy (uplo, n, x, ldx, iseed) |
| ZLATSY | |
| subroutine | zlattb (imat, uplo, trans, diag, iseed, n, kd, ab, ldab, b, work, rwork, info) |
| ZLATTB | |
| subroutine | zlattp (imat, uplo, trans, diag, iseed, n, ap, b, work, rwork, info) |
| ZLATTP | |
| subroutine | zlattr (imat, uplo, trans, diag, iseed, n, a, lda, b, work, rwork, info) |
| ZLATTR | |
| subroutine | zlavhe (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info) |
| ZLAVHE | |
| subroutine | zlavhe_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info) |
| ZLAVHE_ROOK | |
| subroutine | zlavhp (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info) |
| ZLAVHP | |
| subroutine | zlavsp (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info) |
| ZLAVSP | |
| subroutine | zlavsy (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info) |
| ZLAVSY | |
| subroutine | zlavsy_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info) |
| ZLAVSY_ROOK | |
| subroutine | zlqt01 (m, n, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| ZLQT01 | |
| subroutine | zlqt02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| ZLQT02 | |
| subroutine | zlqt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| ZLQT03 | |
| subroutine | zpbt01 (uplo, n, kd, a, lda, afac, ldafac, rwork, resid) |
| ZPBT01 | |
| subroutine | zpbt02 (uplo, n, kd, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZPBT02 | |
| subroutine | zpbt05 (uplo, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZPBT05 | |
| subroutine | zpot01 (uplo, n, a, lda, afac, ldafac, rwork, resid) |
| ZPOT01 | |
| subroutine | zpot02 (uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZPOT02 | |
| subroutine | zpot03 (uplo, n, a, lda, ainv, ldainv, work, ldwork, rwork, rcond, resid) |
| ZPOT03 | |
| subroutine | zpot05 (uplo, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZPOT05 | |
| subroutine | zpot06 (uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZPOT06 | |
| subroutine | zppt01 (uplo, n, a, afac, rwork, resid) |
| ZPPT01 | |
| subroutine | zppt02 (uplo, n, nrhs, a, x, ldx, b, ldb, rwork, resid) |
| ZPPT02 | |
| subroutine | zppt03 (uplo, n, a, ainv, work, ldwork, rwork, rcond, resid) |
| ZPPT03 | |
| subroutine | zppt05 (uplo, n, nrhs, ap, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZPPT05 | |
| subroutine | zpst01 (uplo, n, a, lda, afac, ldafac, perm, ldperm, piv, rwork, resid, rank) |
| ZPST01 | |
| subroutine | zptt01 (n, d, e, df, ef, work, resid) |
| ZPTT01 | |
| subroutine | zptt02 (uplo, n, nrhs, d, e, x, ldx, b, ldb, resid) |
| ZPTT02 | |
| subroutine | zptt05 (n, nrhs, d, e, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZPTT05 | |
| subroutine | zqlt01 (m, n, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| ZQLT01 | |
| subroutine | zqlt02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| ZQLT02 | |
| subroutine | zqlt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| ZQLT03 | |
| double precision function | zqpt01 (m, n, k, a, af, lda, tau, jpvt, work, lwork) |
| ZQPT01 | |
| subroutine | zqrt01 (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| ZQRT01 | |
| subroutine | zqrt01p (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| ZQRT01P | |
| subroutine | zqrt02 (m, n, k, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| ZQRT02 | |
| subroutine | zqrt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| ZQRT03 | |
| subroutine | zqrt04 (m, n, nb, result) |
| ZQRT04 | |
| subroutine | zqrt05 (m, n, l, nb, result) |
| ZQRT05 | |
| double precision function | zqrt11 (m, k, a, lda, tau, work, lwork) |
| ZQRT11 | |
| double precision function | zqrt12 (m, n, a, lda, s, work, lwork, rwork) |
| ZQRT12 | |
| subroutine | zqrt13 (scale, m, n, a, lda, norma, iseed) |
| ZQRT13 | |
| double precision function | zqrt14 (trans, m, n, nrhs, a, lda, x, ldx, work, lwork) |
| ZQRT14 | |
| subroutine | zqrt15 (scale, rksel, m, n, nrhs, a, lda, b, ldb, s, rank, norma, normb, iseed, work, lwork) |
| ZQRT15 | |
| subroutine | zqrt16 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZQRT16 | |
| double precision function | zqrt17 (trans, iresid, m, n, nrhs, a, lda, x, ldx, b, ldb, c, work, lwork) |
| ZQRT17 | |
| subroutine | zrqt01 (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| ZRQT01 | |
| subroutine | zrqt02 (m, n, k, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| ZRQT02 | |
| subroutine | zrqt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| ZRQT03 | |
| double precision function | zrzt01 (m, n, a, af, lda, tau, work, lwork) |
| ZRZT01 | |
| double precision function | zrzt02 (m, n, af, lda, tau, work, lwork) |
| ZRZT02 | |
| subroutine | zsbmv (uplo, n, k, alpha, a, lda, x, incx, beta, y, incy) |
| ZSBMV | |
| subroutine | zspt01 (uplo, n, a, afac, ipiv, c, ldc, rwork, resid) |
| ZSPT01 | |
| subroutine | zspt02 (uplo, n, nrhs, a, x, ldx, b, ldb, rwork, resid) |
| ZSPT02 | |
| subroutine | zspt03 (uplo, n, a, ainv, work, ldw, rwork, rcond, resid) |
| ZSPT03 | |
| subroutine | zsyt01 (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| ZSYT01 | |
| subroutine | zsyt01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc, rwork, resid) |
| ZSYT01_3 | |
| subroutine | zsyt01_aa (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| ZSYT01 | |
| subroutine | zsyt01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| ZSYT01_ROOK | |
| subroutine | zsyt02 (uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| ZSYT02 | |
| subroutine | zsyt03 (uplo, n, a, lda, ainv, ldainv, work, ldwork, rwork, rcond, resid) |
| ZSYT03 | |
| subroutine | ztbt02 (uplo, trans, diag, n, kd, nrhs, ab, ldab, x, ldx, b, ldb, work, rwork, resid) |
| ZTBT02 | |
| subroutine | ztbt03 (uplo, trans, diag, n, kd, nrhs, ab, ldab, scale, cnorm, tscal, x, ldx, b, ldb, work, resid) |
| ZTBT03 | |
| subroutine | ztbt05 (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZTBT05 | |
| subroutine | ztbt06 (rcond, rcondc, uplo, diag, n, kd, ab, ldab, rwork, rat) |
| ZTBT06 | |
| subroutine | ztpt01 (uplo, diag, n, ap, ainvp, rcond, rwork, resid) |
| ZTPT01 | |
| subroutine | ztpt02 (uplo, trans, diag, n, nrhs, ap, x, ldx, b, ldb, work, rwork, resid) |
| ZTPT02 | |
| subroutine | ztpt03 (uplo, trans, diag, n, nrhs, ap, scale, cnorm, tscal, x, ldx, b, ldb, work, resid) |
| ZTPT03 | |
| subroutine | ztpt05 (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZTPT05 | |
| subroutine | ztpt06 (rcond, rcondc, uplo, diag, n, ap, rwork, rat) |
| ZTPT06 | |
| subroutine | ztrt01 (uplo, diag, n, a, lda, ainv, ldainv, rcond, rwork, resid) |
| ZTRT01 | |
| subroutine | ztrt02 (uplo, trans, diag, n, nrhs, a, lda, x, ldx, b, ldb, work, rwork, resid) |
| ZTRT02 | |
| subroutine | ztrt03 (uplo, trans, diag, n, nrhs, a, lda, scale, cnorm, tscal, x, ldx, b, ldb, work, resid) |
| ZTRT03 | |
| subroutine | ztrt05 (uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| ZTRT05 | |
| subroutine | ztrt06 (rcond, rcondc, uplo, diag, n, a, lda, rwork, rat) |
| ZTRT06 | |
| subroutine | zunhr_col01 (m, n, mb1, nb1, nb2, result) |
| ZUNHR_COL01 | |
| subroutine | zunhr_col02 (m, n, mb1, nb1, nb2, result) |
| ZUNHR_COL02 | |
This is the group of complex16 LAPACK TESTING LIN routines.
| program zchkaa |
ZCHKAA
!> !> ZCHKAA is the main test program for the COMPLEX*16 linear equation !> routines. !> !> The program must be driven by a short data file. The first 15 records !> (not including the first comment line) specify problem dimensions !> and program options using list-directed input. The remaining lines !> specify the LAPACK test paths and the number of matrix types to use !> in testing. An annotated example of a data file can be obtained by !> deleting the first 3 characters from the following 42 lines: !> Data file for testing COMPLEX*16 LAPACK linear equation routines !> 7 Number of values of M !> 0 1 2 3 5 10 16 Values of M (row dimension) !> 7 Number of values of N !> 0 1 2 3 5 10 16 Values of N (column dimension) !> 1 Number of values of NRHS !> 2 Values of NRHS (number of right hand sides) !> 5 Number of values of NB !> 1 3 3 3 20 Values of NB (the blocksize) !> 1 0 5 9 1 Values of NX (crossover point) !> 3 Number of values of RANK !> 30 50 90 Values of rank (as a % of N) !> 30.0 Threshold value of test ratio !> T Put T to test the LAPACK routines !> T Put T to test the driver routines !> T Put T to test the error exits !> ZGE 11 List types on next line if 0 < NTYPES < 11 !> ZGB 8 List types on next line if 0 < NTYPES < 8 !> ZGT 12 List types on next line if 0 < NTYPES < 12 !> ZPO 9 List types on next line if 0 < NTYPES < 9 !> ZPS 9 List types on next line if 0 < NTYPES < 9 !> ZPP 9 List types on next line if 0 < NTYPES < 9 !> ZPB 8 List types on next line if 0 < NTYPES < 8 !> ZPT 12 List types on next line if 0 < NTYPES < 12 !> ZHE 10 List types on next line if 0 < NTYPES < 10 !> ZHR 10 List types on next line if 0 < NTYPES < 10 !> ZHK 10 List types on next line if 0 < NTYPES < 10 !> ZHA 10 List types on next line if 0 < NTYPES < 10 !> ZH2 10 List types on next line if 0 < NTYPES < 10 !> ZSA 11 List types on next line if 0 < NTYPES < 10 !> ZS2 11 List types on next line if 0 < NTYPES < 10 !> ZHP 10 List types on next line if 0 < NTYPES < 10 !> ZSY 11 List types on next line if 0 < NTYPES < 11 !> ZSR 11 List types on next line if 0 < NTYPES < 11 !> ZSK 11 List types on next line if 0 < NTYPES < 11 !> ZSP 11 List types on next line if 0 < NTYPES < 11 !> ZTR 18 List types on next line if 0 < NTYPES < 18 !> ZTP 18 List types on next line if 0 < NTYPES < 18 !> ZTB 17 List types on next line if 0 < NTYPES < 17 !> ZQR 8 List types on next line if 0 < NTYPES < 8 !> ZRQ 8 List types on next line if 0 < NTYPES < 8 !> ZLQ 8 List types on next line if 0 < NTYPES < 8 !> ZQL 8 List types on next line if 0 < NTYPES < 8 !> ZQP 6 List types on next line if 0 < NTYPES < 6 !> ZTZ 3 List types on next line if 0 < NTYPES < 3 !> ZLS 6 List types on next line if 0 < NTYPES < 6 !> ZEQ !> ZQT !> ZQX !> ZTS !> ZHH !>
!> NMAX INTEGER !> The maximum allowable value for M and N. !> !> MAXIN INTEGER !> The number of different values that can be used for each of !> M, N, NRHS, NB, NX and RANK !> !> MAXRHS INTEGER !> The maximum number of right hand sides !> !> MATMAX INTEGER !> The maximum number of matrix types to use for testing !> !> NIN INTEGER !> The unit number for input !> !> NOUT INTEGER !> The unit number for output !>
| program zchkab |
ZCHKAB
!> !> ZCHKAB is the test program for the COMPLEX*16 LAPACK !> ZCGESV/ZCPOSV routine !> !> The program must be driven by a short data file. The first 5 records !> specify problem dimensions and program options using list-directed !> input. The remaining lines specify the LAPACK test paths and the !> number of matrix types to use in testing. An annotated example of a !> data file can be obtained by deleting the first 3 characters from the !> following 9 lines: !> Data file for testing COMPLEX*16 LAPACK ZCGESV !> 7 Number of values of M !> 0 1 2 3 5 10 16 Values of M (row dimension) !> 1 Number of values of NRHS !> 2 Values of NRHS (number of right hand sides) !> 20.0 Threshold value of test ratio !> T Put T to test the LAPACK routine !> T Put T to test the error exits !> DGE 11 List types on next line if 0 < NTYPES < 11 !> DPO 9 List types on next line if 0 < NTYPES < 9 !>
!> NMAX INTEGER !> The maximum allowable value for N !> !> MAXIN INTEGER !> The number of different values that can be used for each of !> M, N, NRHS, NB, and NX !> !> MAXRHS INTEGER !> The maximum number of right hand sides !> !> NIN INTEGER !> The unit number for input !> !> NOUT INTEGER !> The unit number for output !>
| subroutine zchkeq | ( | double precision | thresh, |
| integer | nout ) |
ZCHKEQ
!> !> ZCHKEQ tests ZGEEQU, ZGBEQU, ZPOEQU, ZPPEQU and ZPBEQU !>
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> Threshold for testing routines. Should be between 2 and 10. !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 53 of file zchkeq.f.
| subroutine zchkgb | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| integer | la, | ||
| complex*16, dimension( * ) | afac, | ||
| integer | lafac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKGB
!> !> ZCHKGB tests ZGBTRF, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LA) !> |
| [in] | LA | !> LA is INTEGER !> The length of the array A. LA >= (KLMAX+KUMAX+1)*NMAX !> where KLMAX is the largest entry in the local array KLVAL, !> KUMAX is the largest entry in the local array KUVAL and !> NMAX is the largest entry in the input array NVAL. !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LAFAC) !> |
| [in] | LAFAC | !> LAFAC is INTEGER !> The length of the array AFAC. LAFAC >= (2*KLMAX+KUMAX+1)*NMAX !> where KLMAX is the largest entry in the local array KLVAL, !> KUMAX is the largest entry in the local array KUVAL and !> NMAX is the largest entry in the input array NVAL. !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX,NMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (NMAX+2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 188 of file zchkgb.f.
| subroutine zchkge | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKGE
!> !> ZCHKGE tests ZGETRF, -TRI, -TRS, -RFS, and -CON. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for M or N, used in dimensioning !> the work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(2*NMAX,2*NSMAX+NWORK)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 183 of file zchkge.f.
| subroutine zchkgt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | af, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKGT
!> !> ZCHKGT tests ZGTTRF, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*4) !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (NMAX*4) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX)+2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 145 of file zchkgt.f.
| subroutine zchkhe | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKHE
!> !> ZCHKHE tests ZHETRF, -TRI2, -TRS, -TRS2, -RFS, and -CON. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 168 of file zchkhe.f.
| subroutine zchkhe_aa | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKHE_AA
!> !> ZCHKHE_AA tests ZHETRF_AA, -TRS_AA. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 168 of file zchkhe_aa.f.
| subroutine zchkhe_aa_2stage | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| complex*16, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKHE_AA_2STAGE
!> !> ZCHKSY_AA_2STAGE tests ZHETRF_AA_2STAGE, -TRS_AA_2STAGE. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file zchkhe_aa_2stage.f.
| subroutine zchkhe_rk | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKHE_RK
!> !> ZCHKHE_RK tests ZHETRF_RK, -TRI_3, -TRS_3, !> and -CON_3. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is CCOMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is CCOMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 174 of file zchkhe_rk.f.
| subroutine zchkhe_rook | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKHE_ROOK
!> !> ZCHKHE_ROOK tests ZHETRF_ROOK, -TRI_ROOK, -TRS_ROOK, !> and -CON_ROOK. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is CCOMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is CCOMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file zchkhe_rook.f.
| subroutine zchkhp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKHP
!> !> ZCHKHP tests ZHPTRF, -TRI, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(2,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, !> dimension (NMAX+2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 161 of file zchkhp.f.
| subroutine zchklq | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | af, | ||
| complex*16, dimension( * ) | aq, | ||
| complex*16, dimension( * ) | al, | ||
| complex*16, dimension( * ) | ac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKLQ
!> !> ZCHKLQ tests ZGELQF, ZUNGLQ and ZUNMLQ. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB and NX contained in the !> vectors NBVAL and NXVAL. The blocking parameters are used !> in pairs (NB,NX). !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NXVAL | !> NXVAL is INTEGER array, dimension (NNB) !> The values of the crossover point NX. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for M or N, used in dimensioning !> the work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AL | !> AL is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 193 of file zchklq.f.
| subroutine zchkpb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKPB
!> !> ZCHKPB tests ZPBTRF, -TRS, -RFS, and -CON. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NSMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 165 of file zchkpb.f.
| subroutine zchkpo | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKPO
!> !> ZCHKPO tests ZPOTRF, -TRI, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (NMAX+2*NSMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 165 of file zchkpo.f.
| subroutine zchkpp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKPP
!> !> ZCHKPP tests ZPPTRF, -TRI, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NSMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 156 of file zchkpp.f.
| subroutine zchkps | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nrank, | ||
| integer, dimension( * ) | rankval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | perm, | ||
| integer, dimension( * ) | piv, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKPS
!> !> ZCHKPS tests ZPSTRF. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the block size NB. !> |
| [in] | NRANK | !> NRANK is INTEGER !> The number of values of RANK contained in the vector RANKVAL. !> |
| [in] | RANKVAL | !> RANKVAL is INTEGER array, dimension (NBVAL) !> The values of the block size NB. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | PERM | !> PERM is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | PIV | !> PIV is INTEGER array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*3) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 151 of file zchkps.f.
| subroutine zchkpt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| double precision, dimension( * ) | d, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKPT
!> !> ZCHKPT tests ZPTTRF, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*2) !> |
| [out] | D | !> D is DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | E | !> E is COMPLEX*16 array, dimension (NMAX*2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NSMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 145 of file zchkpt.f.
| subroutine zchkq3 | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| double precision | thresh, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | copya, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKQ3
!> !> ZCHKQ3 tests ZGEQP3. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB and NX contained in the !> vectors NBVAL and NXVAL. The blocking parameters are used !> in pairs (NB,NX). !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NXVAL | !> NXVAL is INTEGER array, dimension (NNB) !> The values of the crossover point NX. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (MMAX*NMAX) !> where MMAX is the maximum value of M in MVAL and NMAX is the !> maximum value of N in NVAL. !> |
| [out] | COPYA | !> COPYA is COMPLEX*16 array, dimension (MMAX*NMAX) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension !> (min(MMAX,NMAX)) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (MMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (max(M*max(M,N) + 4*min(M,N) + max(M,N))) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (4*NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 155 of file zchkq3.f.
| subroutine zchkql | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | af, | ||
| complex*16, dimension( * ) | aq, | ||
| complex*16, dimension( * ) | al, | ||
| complex*16, dimension( * ) | ac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKQL
!> !> ZCHKQL tests ZGEQLF, ZUNGQL and ZUNMQL. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB and NX contained in the !> vectors NBVAL and NXVAL. The blocking parameters are used !> in pairs (NB,NX). !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NXVAL | !> NXVAL is INTEGER array, dimension (NNB) !> The values of the crossover point NX. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for M or N, used in dimensioning !> the work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AL | !> AL is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 193 of file zchkql.f.
| subroutine zchkqr | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | af, | ||
| complex*16, dimension( * ) | aq, | ||
| complex*16, dimension( * ) | ar, | ||
| complex*16, dimension( * ) | ac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKQR
!> !> ZCHKQR tests ZGEQRF, ZUNGQR and ZUNMQR. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB and NX contained in the !> vectors NBVAL and NXVAL. The blocking parameters are used !> in pairs (NB,NX). !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NXVAL | !> NXVAL is INTEGER array, dimension (NNB) !> The values of the crossover point NX. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for M or N, used in dimensioning !> the work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AR | !> AR is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 198 of file zchkqr.f.
| subroutine zchkqrt | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
ZCHKQRT
!> !> ZCHKQRT tests ZGEQRT and ZGEMQRT. !>
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 99 of file zchkqrt.f.
| subroutine zchkqrtp | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
ZCHKQRTP
!> !> ZCHKQRTP tests ZTPQRT and ZTPMQRT. !>
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 100 of file zchkqrtp.f.
| program zchkrfp |
ZCHKRFP
!> !> ZCHKRFP is the main test program for the COMPLEX*16 linear equation !> routines with RFP storage format !> !>
!> MAXIN INTEGER !> The number of different values that can be used for each of !> M, N, or NB !> !> MAXRHS INTEGER !> The maximum number of right hand sides !> !> NTYPES INTEGER !> !> NMAX INTEGER !> The maximum allowable value for N. !> !> NIN INTEGER !> The unit number for input !> !> NOUT INTEGER !> The unit number for output !>
| subroutine zchkrq | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | af, | ||
| complex*16, dimension( * ) | aq, | ||
| complex*16, dimension( * ) | ar, | ||
| complex*16, dimension( * ) | ac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKRQ
!> !> ZCHKRQ tests ZGERQF, ZUNGRQ and ZUNMRQ. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB and NX contained in the !> vectors NBVAL and NXVAL. The blocking parameters are used !> in pairs (NB,NX). !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NXVAL | !> NXVAL is INTEGER array, dimension (NNB) !> The values of the crossover point NX. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for M or N, used in dimensioning !> the work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AR | !> AR is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 198 of file zchkrq.f.
| subroutine zchksp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKSP
!> !> ZCHKSP tests ZSPTRF, -TRI, -TRS, -RFS, and -CON !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(2,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, !> dimension (NMAX+2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 161 of file zchksp.f.
| subroutine zchksy | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKSY
!> !> ZCHKSY tests ZSYTRF, -TRI2, -TRS, -TRS2, -RFS, and -CON. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NSMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 168 of file zchksy.f.
| subroutine zchksy_aa | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKSY_AA
!> !> ZCHKSY_AA tests ZSYTRF_AA, -TRS_AA. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is COMPLEX*16 array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 168 of file zchksy_aa.f.
| subroutine zchksy_aa_2stage | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKSY_AA_2STAGE
!> !> ZCHKSY_AA_2STAGE tests ZSYTRF_AA_2STAGE, -TRS_AA_2STAGE. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is COMPLEX*16 array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file zchksy_aa_2stage.f.
| subroutine zchksy_rk | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKSY_RK
!> !> ZCHKSY_RK tests ZSYTRF_RK, -TRI_3, -TRS_3, !> and -CON_3. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 174 of file zchksy_rk.f.
| subroutine zchksy_rook | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZCHKSY_ROOK
!> !> ZCHKSY_ROOK tests ZSYTRF_ROOK, -TRI_ROOK, -TRS_ROOK, !> and -CON_ROOK. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file zchksy_rook.f.
| subroutine zchktb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | ab, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKTB
!> !> ZCHKTB tests ZTBTRS, -RFS, and -CON, and ZLATBS. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The leading dimension of the work arrays. !> NMAX >= the maximum value of N in NVAL. !> |
| [out] | AB | !> AB is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NSMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 147 of file zchktb.f.
| subroutine zchktp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | ap, | ||
| complex*16, dimension( * ) | ainvp, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKTP
!> !> ZCHKTP tests ZTPTRI, -TRS, -RFS, and -CON, and ZLATPS !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The leading dimension of the work arrays. NMAX >= the !> maximumm value of N in NVAL. !> |
| [out] | AP | !> AP is COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2) !> |
| [out] | AINVP | !> AINVP is COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NSMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 148 of file zchktp.f.
| subroutine zchktr | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKTR
!> !> ZCHKTR tests ZTRTRI, -TRS, -RFS, and -CON, and ZLATRS !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The leading dimension of the work arrays. !> NMAX >= the maximum value of N in NVAL. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NSMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 160 of file zchktr.f.
| subroutine zchktz | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | copya, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZCHKTZ
!> !> ZCHKTZ tests ZTZRZF. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (MMAX*NMAX) !> where MMAX is the maximum value of M in MVAL and NMAX is the !> maximum value of N in NVAL. !> |
| [out] | COPYA | !> COPYA is COMPLEX*16 array, dimension (MMAX*NMAX) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension !> (min(MMAX,NMAX)) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (MMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (MMAX*NMAX + 4*NMAX + MMAX) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 135 of file zchktz.f.
| subroutine zchkunhr_col | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
ZCHKUNHR_COL
!> !> ZCHKUNHR_COL tests: !> 1) ZUNGTSQR and ZUNHR_COL using ZLATSQR, ZGEMQRT, !> 2) ZUNGTSQR_ROW and ZUNHR_COL inside ZGETSQRHRT !> (which calls ZLATSQR, ZUNGTSQR_ROW and ZUNHR_COL) using ZGEMQRT. !> Therefore, ZLATSQR (part of ZGEQR), ZGEMQRT (part of ZGEMQR) !> have to be tested before this test. !> !>
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB contained in the vector NBVAL. !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 106 of file zchkunhr_col.f.
| subroutine zdrvab | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| complex, dimension( * ) | swork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVAB
!> !> ZDRVAB tests ZCGESV !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for M or N, used in dimensioning !> the work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX*2)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> NMAX !> |
| [out] | SWORK | !> SWORK is COMPLEX array, dimension !> (NMAX*(NSMAX+NMAX)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension !> NMAX !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 149 of file zdrvab.f.
| subroutine zdrvac | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| complex, dimension(*) | swork, | ||
| integer | nout ) |
ZDRVAC
!> !> ZDRVAC tests ZCPOSV. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of N contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NSMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(2*NMAX,2*NSMAX+NWORK)) !> |
| [out] | SWORK | !> SWORK is COMPLEX array, dimension !> (NMAX*(NSMAX+NMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 142 of file zdrvac.f.
| subroutine zdrvgb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| integer | la, | ||
| complex*16, dimension( * ) | afb, | ||
| integer | lafb, | ||
| complex*16, dimension( * ) | asav, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | bsav, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVGB
ZDRVGBX
!> !> ZDRVGB tests the driver routines ZGBSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LA) !> |
| [in] | LA | !> LA is INTEGER !> The length of the array A. LA >= (2*NMAX-1)*NMAX !> where NMAX is the largest entry in NVAL. !> |
| [out] | AFB | !> AFB is COMPLEX*16 array, dimension (LAFB) !> |
| [in] | LAFB | !> LAFB is INTEGER !> The length of the array AFB. LAFB >= (3*NMAX-2)*NMAX !> where NMAX is the largest entry in NVAL. !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (LA) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS,NMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> ZDRVGB tests the driver routines ZGBSV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zdrvgb.f defines this subroutine. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LA) !> |
| [in] | LA | !> LA is INTEGER !> The length of the array A. LA >= (2*NMAX-1)*NMAX !> where NMAX is the largest entry in NVAL. !> |
| [out] | AFB | !> AFB is COMPLEX*16 array, dimension (LAFB) !> |
| [in] | LAFB | !> LAFB is INTEGER !> The length of the array AFB. LAFB >= (3*NMAX-2)*NMAX !> where NMAX is the largest entry in NVAL. !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (LA) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS,NMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(2*NMAX,NMAX+2*NRHS)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file zdrvgb.f.
| subroutine zdrvge | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | asav, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | bsav, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVGE
ZDRVGEX
!> !> ZDRVGE tests the driver routines ZGESV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NRHS+NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> ZDRVGE tests the driver routines ZGESV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zdrvge.f defines this subroutine. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NRHS+NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 161 of file zdrvge.f.
| subroutine zdrvgt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | af, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVGT
!> !> ZDRVGT tests ZGTSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, NRHS >= 0. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*4) !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (NMAX*4) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 137 of file zdrvgt.f.
| subroutine zdrvhe | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVHE
ZDRVHEX
!> !> ZDRVHE tests the driver routines ZHESV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> ZDRVHE tests the driver routines ZHESV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zdrvhe.f defines this subroutine. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 150 of file zdrvhe.f.
| subroutine zdrvhe_aa | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVHE_AA
!> !> ZDRVHE_AA tests the driver routine ZHESV_AA. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 150 of file zdrvhe_aa.f.
| subroutine zdrvhe_aa_2stage | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVHE_AA_2STAGE
!> !> ZDRVHE_AA_2STAGE tests the driver routine ZHESV_AA_2STAGE. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 151 of file zdrvhe_aa_2stage.f.
| subroutine zdrvhe_rk | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVHE_RK
!> !> ZDRVHE_RK tests the driver routines ZHESV_RK. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 155 of file zdrvhe_rk.f.
| subroutine zdrvhe_rook | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVHE_ROOK
!> !> ZDRVHE_ROOK tests the driver routines ZHESV_ROOK. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 150 of file zdrvhe_rook.f.
| subroutine zdrvhp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVHP
!> !> ZDRVHP tests the driver routines ZHPSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 154 of file zdrvhp.f.
| subroutine zdrvls | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | copya, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | copyb, | ||
| complex*16, dimension( * ) | c, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | copys, | ||
| integer | nout ) |
ZDRVLS
!> !> ZDRVLS tests the least squares driver routines ZGELS, ZGETSLS, ZGELSS, ZGELSY !> and ZGELSD. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> The matrix of type j is generated as follows: !> j=1: A = U*D*V where U and V are random unitary matrices !> and D has random entries (> 0.1) taken from a uniform !> distribution (0,1). A is full rank. !> j=2: The same of 1, but A is scaled up. !> j=3: The same of 1, but A is scaled down. !> j=4: A = U*D*V where U and V are random unitary matrices !> and D has 3*min(M,N)/4 random entries (> 0.1) taken !> from a uniform distribution (0,1) and the remaining !> entries set to 0. A is rank-deficient. !> j=5: The same of 4, but A is scaled up. !> j=6: The same of 5, but A is scaled down. !> |
| [in] | NM | !> NM is INTEGER !> The number of values of M contained in the vector MVAL. !> |
| [in] | MVAL | !> MVAL is INTEGER array, dimension (NM) !> The values of the matrix row dimension M. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix column dimension N. !> |
| [in] | NNB | !> NNB is INTEGER !> The number of values of NB and NX contained in the !> vectors NBVAL and NXVAL. The blocking parameters are used !> in pairs (NB,NX). !> |
| [in] | NBVAL | !> NBVAL is INTEGER array, dimension (NNB) !> The values of the blocksize NB. !> |
| [in] | NXVAL | !> NXVAL is INTEGER array, dimension (NNB) !> The values of the crossover point NX. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right hand sides NRHS. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (MMAX*NMAX) !> where MMAX is the maximum value of M in MVAL and NMAX is the !> maximum value of N in NVAL. !> |
| [out] | COPYA | !> COPYA is COMPLEX*16 array, dimension (MMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (MMAX*NSMAX) !> where MMAX is the maximum value of M in MVAL and NSMAX is the !> maximum value of NRHS in NSVAL. !> |
| [out] | COPYB | !> COPYB is COMPLEX*16 array, dimension (MMAX*NSMAX) !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (MMAX*NSMAX) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension !> (min(MMAX,NMAX)) !> |
| [out] | COPYS | !> COPYS is DOUBLE PRECISION array, dimension !> (min(MMAX,NMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 189 of file zdrvls.f.
| subroutine zdrvpb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | asav, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | bsav, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZDRVPB
!> !> ZDRVPB tests the driver routines ZPBSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 156 of file zdrvpb.f.
| subroutine zdrvpo | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | asav, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | bsav, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZDRVPO
ZDRVPOX
!> !> ZDRVPO tests the driver routines ZPOSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> ZDRVPO tests the driver routines ZPOSV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zdrvpo.f defines this subroutine. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 156 of file zdrvpo.f.
| subroutine zdrvpp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | asav, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | bsav, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZDRVPP
!> !> ZDRVPP tests the driver routines ZPPSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 156 of file zdrvpp.f.
| subroutine zdrvpt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| complex*16, dimension( * ) | a, | ||
| double precision, dimension( * ) | d, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
ZDRVPT
!> !> ZDRVPT tests ZPTSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*2) !> |
| [out] | D | !> D is DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | E | !> E is COMPLEX*16 array, dimension (NMAX*2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 138 of file zdrvpt.f.
| subroutine zdrvrf1 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision | thresh, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | arf, | ||
| double precision, dimension( * ) | work ) |
ZDRVRF1
!> !> ZDRVRF1 tests the LAPACK RFP routines: !> ZLANHF.F !>
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | ARF | !> ARF is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension ( NMAX ) !> |
Definition at line 94 of file zdrvrf1.f.
| subroutine zdrvrf2 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | arf, | ||
| complex*16, dimension(*) | ap, | ||
| complex*16, dimension( lda, * ) | asav ) |
ZDRVRF2
!> !> ZDRVRF2 tests the LAPACK RFP conversion routines. !>
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | ARF | !> ARF is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | AP | !> AP is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (LDA,NMAX) !> |
Definition at line 88 of file zdrvrf2.f.
| subroutine zdrvrf3 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision | thresh, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | arf, | ||
| complex*16, dimension( lda, * ) | b1, | ||
| complex*16, dimension( lda, * ) | b2, | ||
| double precision, dimension( * ) | d_work_zlange, | ||
| complex*16, dimension( * ) | z_work_zgeqrf, | ||
| complex*16, dimension( * ) | tau ) |
ZDRVRF3
!> !> ZDRVRF3 tests the LAPACK RFP routines: !> ZTFSM !>
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | ARF | !> ARF is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | B1 | !> B1 is COMPLEX*16 array, dimension (LDA,NMAX) !> |
| [out] | B2 | !> B2 is COMPLEX*16 array, dimension (LDA,NMAX) !> |
| [out] | D_WORK_ZLANGE | !> D_WORK_ZLANGE is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | Z_WORK_ZGEQRF | !> Z_WORK_ZGEQRF is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (NMAX) !> |
Definition at line 117 of file zdrvrf3.f.
| subroutine zdrvrf4 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision | thresh, | ||
| complex*16, dimension( ldc, * ) | c1, | ||
| complex*16, dimension( ldc, *) | c2, | ||
| integer | ldc, | ||
| complex*16, dimension( * ) | crf, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | d_work_zlange ) |
ZDRVRF4
!> !> ZDRVRF4 tests the LAPACK RFP routines: !> ZHFRK !>
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [out] | C1 | !> C1 is COMPLEX*16 array, dimension (LDC,NMAX) !> |
| [out] | C2 | !> C2 is COMPLEX*16 array, dimension (LDC,NMAX) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | CRF | !> CRF is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | D_WORK_ZLANGE | !> D_WORK_ZLANGE is DOUBLE PRECISION array, dimension (NMAX) !> |
Definition at line 112 of file zdrvrf4.f.
| subroutine zdrvrfp | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| integer | nns, | ||
| integer, dimension( nns ) | nsval, | ||
| integer | nnt, | ||
| integer, dimension( nnt ) | ntval, | ||
| double precision | thresh, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | asav, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | bsav, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | arf, | ||
| complex*16, dimension( * ) | arfinv, | ||
| complex*16, dimension( * ) | z_work_zlatms, | ||
| complex*16, dimension( * ) | z_work_zpot02, | ||
| complex*16, dimension( * ) | z_work_zpot03, | ||
| double precision, dimension( * ) | d_work_zlatms, | ||
| double precision, dimension( * ) | d_work_zlanhe, | ||
| double precision, dimension( * ) | d_work_zpot01, | ||
| double precision, dimension( * ) | d_work_zpot02, | ||
| double precision, dimension( * ) | d_work_zpot03 ) |
ZDRVRFP
!> !> ZDRVRFP tests the LAPACK RFP routines: !> ZPFTRF, ZPFTRS, and ZPFTRI. !> !> This testing routine follow the same tests as ZDRVPO (test for the full !> format Symmetric Positive Definite solver). !> !> The tests are performed in Full Format, conversion back and forth from !> full format to RFP format are performed using the routines ZTRTTF and !> ZTFTTR. !> !> First, a specific matrix A of size N is created. There is nine types of !> different matrixes possible. !> 1. Diagonal 6. Random, CNDNUM = sqrt(0.1/EPS) !> 2. Random, CNDNUM = 2 7. Random, CNDNUM = 0.1/EPS !> *3. First row and column zero 8. Scaled near underflow !> *4. Last row and column zero 9. Scaled near overflow !> *5. Middle row and column zero !> (* - tests error exits from ZPFTRF, no test ratios are computed) !> A solution XACT of size N-by-NRHS is created and the associated right !> hand side B as well. Then ZPFTRF is called to compute L (or U), the !> Cholesky factor of A. Then L (or U) is used to solve the linear system !> of equations AX = B. This gives X. Then L (or U) is used to compute the !> inverse of A, AINV. The following four tests are then performed: !> (1) norm( L*L' - A ) / ( N * norm(A) * EPS ) or !> norm( U'*U - A ) / ( N * norm(A) * EPS ), !> (2) norm(B - A*X) / ( norm(A) * norm(X) * EPS ), !> (3) norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ), !> (4) ( norm(X-XACT) * RCOND ) / ( norm(XACT) * EPS ), !> where EPS is the machine precision, RCOND the condition number of A, and !> norm( . ) the 1-norm for (1,2,3) and the inf-norm for (4). !> Errors occur when INFO parameter is not as expected. Failures occur when !> a test ratios is greater than THRES. !>
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NNS | !> NNS is INTEGER !> The number of values of NRHS contained in the vector NSVAL. !> |
| [in] | NSVAL | !> NSVAL is INTEGER array, dimension (NNS) !> The values of the number of right-hand sides NRHS. !> |
| [in] | NNT | !> NNT is INTEGER !> The number of values of MATRIX TYPE contained in the vector NTVAL. !> |
| [in] | NTVAL | !> NTVAL is INTEGER array, dimension (NNT) !> The values of matrix type (between 0 and 9 for PO/PP/PF matrices). !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*MAXRHS) !> |
| [out] | BSAV | !> BSAV is COMPLEX*16 array, dimension (NMAX*MAXRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*MAXRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*MAXRHS) !> |
| [out] | ARF | !> ARF is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2) !> |
| [out] | ARFINV | !> ARFINV is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2) !> |
| [out] | Z_WORK_ZLATMS | !> Z_WORK_ZLATMS is COMPLEX*16 array, dimension ( 3*NMAX ) !> |
| [out] | Z_WORK_ZPOT02 | !> Z_WORK_ZPOT02 is COMPLEX*16 array, dimension ( NMAX*MAXRHS ) !> |
| [out] | Z_WORK_ZPOT03 | !> Z_WORK_ZPOT03 is COMPLEX*16 array, dimension ( NMAX*NMAX ) !> |
| [out] | D_WORK_ZLATMS | !> D_WORK_ZLATMS is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_WORK_ZLANHE | !> D_WORK_ZLANHE is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_WORK_ZPOT01 | !> D_WORK_ZPOT01 is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_WORK_ZPOT02 | !> D_WORK_ZPOT02 is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_WORK_ZPOT03 | !> D_WORK_ZPOT03 is DOUBLE PRECISION array, dimension ( NMAX ) !> |
Definition at line 238 of file zdrvrfp.f.
| subroutine zdrvsp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVSP
!> !> ZDRVSP tests the driver routines ZSPSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 154 of file zdrvsp.f.
| subroutine zdrvsy | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVSY
ZDRVSYX
!> !> ZDRVSY tests the driver routines ZSYSV and -SVX. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> ZDRVSY tests the driver routines ZSYSV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zdrvsy.f defines this subroutine. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension !> (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 150 of file zdrvsy.f.
| subroutine zdrvsy_aa | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVSY_AA
!> !> ZDRVSY_AA tests the driver routine ZSYSV_AA. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is COMPLEX*16 !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is COMPLEX*16 array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 150 of file zdrvsy_aa.f.
| subroutine zdrvsy_aa_2stage | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVSY_AA_2STAGE
!> !> ZDRVSY_AA_2STAGE tests the driver routine ZSYSV_AA_2STAGE. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is COMPLEX*16 array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 151 of file zdrvsy_aa_2stage.f.
| subroutine zdrvsy_rk | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVSY_RK
!> !> ZDRVSY_RK tests the driver routines ZSYSV_RK. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is COMPLEX*16 array, dimension (NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 155 of file zdrvsy_rk.f.
| subroutine zdrvsy_rook | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | x, | ||
| complex*16, dimension( * ) | xact, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
ZDRVSY_ROOK
!> !> ZDRVSY_ROOK tests the driver routines ZSYSV_ROOK. !>
| [in] | DOTYPE | !> DOTYPE is LOGICAL array, dimension (NTYPES) !> The matrix types to be used for testing. Matrices of type j !> (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = !> .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. !> |
| [in] | NN | !> NN is INTEGER !> The number of values of N contained in the vector NVAL. !> |
| [in] | NVAL | !> NVAL is INTEGER array, dimension (NN) !> The values of the matrix dimension N. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors to be generated for !> each linear system. !> |
| [in] | THRESH | !> THRESH is DOUBLE PRECISION !> The threshold value for the test ratios. A result is !> included in the output file if RESULT >= THRESH. To have !> every test ratio printed, use THRESH = 0. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [in] | NMAX | !> NMAX is INTEGER !> The maximum value permitted for N, used in dimensioning the !> work arrays. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is COMPLEX*16 array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is COMPLEX*16 array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 150 of file zdrvsy_rook.f.
| subroutine zebchvxx | ( | double precision | thresh, |
| character*3 | path ) |
ZEBCHVXX
Purpose:
!> !> ZEBCHVXX will run Z**SVXX on a series of Hilbert matrices and then !> compare the error bounds returned by Z**SVXX to see if the returned !> answer indeed falls within those bounds. !> !> Eight test ratios will be computed. The tests will pass if they are .LT. !> THRESH. There are two cases that are determined by 1 / (SQRT( N ) * EPS). !> If that value is .LE. to the component wise reciprocal condition number, !> it uses the guaranteed case, other wise it uses the unguaranteed case. !> !> Test ratios: !> Let Xc be X_computed and Xt be X_truth. !> The norm used is the infinity norm. !> !> Let A be the guaranteed case and B be the unguaranteed case. !> !> 1. Normwise guaranteed forward error bound. !> A: norm ( abs( Xc - Xt ) / norm ( Xt ) .LE. ERRBND( *, nwise_i, bnd_i ) and !> ERRBND( *, nwise_i, bnd_i ) .LE. MAX(SQRT(N),10) * EPS. !> If these conditions are met, the test ratio is set to be !> ERRBND( *, nwise_i, bnd_i ) / MAX(SQRT(N), 10). Otherwise it is 1/EPS. !> B: For this case, CGESVXX should just return 1. If it is less than !> one, treat it the same as in 1A. Otherwise it fails. (Set test !> ratio to ERRBND( *, nwise_i, bnd_i ) * THRESH?) !> !> 2. Componentwise guaranteed forward error bound. !> A: norm ( abs( Xc(j) - Xt(j) ) ) / norm (Xt(j)) .LE. ERRBND( *, cwise_i, bnd_i ) !> for all j .AND. ERRBND( *, cwise_i, bnd_i ) .LE. MAX(SQRT(N), 10) * EPS. !> If these conditions are met, the test ratio is set to be !> ERRBND( *, cwise_i, bnd_i ) / MAX(SQRT(N), 10). Otherwise it is 1/EPS. !> B: Same as normwise test ratio. !> !> 3. Backwards error. !> A: The test ratio is set to BERR/EPS. !> B: Same test ratio. !> !> 4. Reciprocal condition number. !> A: A condition number is computed with Xt and compared with the one !> returned from CGESVXX. Let RCONDc be the RCOND returned by CGESVXX !> and RCONDt be the RCOND from the truth value. Test ratio is set to !> MAX(RCONDc/RCONDt, RCONDt/RCONDc). !> B: Test ratio is set to 1 / (EPS * RCONDc). !> !> 5. Reciprocal normwise condition number. !> A: The test ratio is set to !> MAX(ERRBND( *, nwise_i, cond_i ) / NCOND, NCOND / ERRBND( *, nwise_i, cond_i )). !> B: Test ratio is set to 1 / (EPS * ERRBND( *, nwise_i, cond_i )). !> !> 6. Reciprocal componentwise condition number. !> A: Test ratio is set to !> MAX(ERRBND( *, cwise_i, cond_i ) / CCOND, CCOND / ERRBND( *, cwise_i, cond_i )). !> B: Test ratio is set to 1 / (EPS * ERRBND( *, cwise_i, cond_i )). !> !> .. Parameters .. !> NMAX is determined by the largest number in the inverse of the hilbert !> matrix. Precision is exhausted when the largest entry in it is greater !> than 2 to the power of the number of bits in the fraction of the data !> type used plus one, which is 24 for single precision. !> NMAX should be 6 for single and 11 for double. !>
Definition at line 95 of file zebchvxx.f.
| subroutine zerrab | ( | integer | nunit | ) |
ZERRAB
!> !> DERRAB tests the error exits for ZCGESV. !>
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 46 of file zerrab.f.
| subroutine zerrac | ( | integer | nunit | ) |
ZERRAC
!> !> ZERRPX tests the error exits for ZCPOSV. !>
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 46 of file zerrac.f.
| subroutine zerrge | ( | character*3 | path, |
| integer | nunit ) |
ZERRGE
ZERRGEX
!> !> ZERRGE tests the error exits for the COMPLEX*16 routines !> for general matrices. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
!> !> ZERRGE tests the error exits for the COMPLEX*16 routines !> for general matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zerrge.f defines this subroutine. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrge.f.
| subroutine zerrgt | ( | character*3 | path, |
| integer | nunit ) |
ZERRGT
!> !> ZERRGT tests the error exits for the COMPLEX*16 tridiagonal !> routines. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrgt.f.
| subroutine zerrhe | ( | character*3 | path, |
| integer | nunit ) |
ZERRHE
ZERRHEX
!> !> ZERRHE tests the error exits for the COMPLEX*16 routines !> for Hermitian indefinite matrices. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
!> !> ZERRHE tests the error exits for the COMPLEX*16 routines !> for Hermitian indefinite matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zerrhe.f defines this subroutine. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrhe.f.
| subroutine zerrlq | ( | character*3 | path, |
| integer | nunit ) |
ZERRLQ
!> !> ZERRLQ tests the error exits for the COMPLEX*16 routines !> that use the LQ decomposition of a general matrix. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrlq.f.
| subroutine zerrls | ( | character*3 | path, |
| integer | nunit ) |
ZERRLS
!> !> ZERRLS tests the error exits for the COMPLEX*16 least squares !> driver routines (ZGELS, CGELSS, CGELSY, CGELSD). !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrls.f.
| subroutine zerrpo | ( | character*3 | path, |
| integer | nunit ) |
ZERRPO
ZERRPOX
!> !> ZERRPO tests the error exits for the COMPLEX*16 routines !> for Hermitian positive definite matrices. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
!> !> ZERRPO tests the error exits for the COMPLEX*16 routines !> for Hermitian positive definite matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zerrpo.f defines this subroutine. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrpo.f.
| subroutine zerrps | ( | character*3 | path, |
| integer | nunit ) |
ZERRPS
!> !> ZERRPS tests the error exits for the COMPLEX routines !> for ZPSTRF. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrps.f.
| subroutine zerrql | ( | character*3 | path, |
| integer | nunit ) |
ZERRQL
!> !> ZERRQL tests the error exits for the COMPLEX*16 routines !> that use the QL decomposition of a general matrix. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrql.f.
| subroutine zerrqp | ( | character*3 | path, |
| integer | nunit ) |
ZERRQP
!> !> ZERRQP tests the error exits for ZGEQP3. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 53 of file zerrqp.f.
| subroutine zerrqr | ( | character*3 | path, |
| integer | nunit ) |
ZERRQR
!> !> ZERRQR tests the error exits for the COMPLEX*16 routines !> that use the QR decomposition of a general matrix. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrqr.f.
| subroutine zerrqrt | ( | character*3 | path, |
| integer | nunit ) |
ZERRQRT
!> !> ZERRQRT tests the error exits for the COMPLEX*16 routines !> that use the QRT decomposition of a general matrix. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrqrt.f.
| subroutine zerrqrtp | ( | character*3 | path, |
| integer | nunit ) |
ZERRQRTP
!> !> ZERRQRTP tests the error exits for the COMPLEX*16 routines !> that use the QRT decomposition of a triangular-pentagonal matrix. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrqrtp.f.
| subroutine zerrrfp | ( | integer | nunit | ) |
ZERRRFP
!> !> ZERRRFP tests the error exits for the COMPLEX*16 driver routines !> for solving linear systems of equations. !> !> ZDRVRFP tests the COMPLEX*16 LAPACK RFP routines: !> ZTFSM, ZTFTRI, ZHFRK, ZTFTTP, ZTFTTR, ZPFTRF, ZPFTRS, ZTPTTF, !> ZTPTTR, ZTRTTF, and ZTRTTP !>
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 51 of file zerrrfp.f.
| subroutine zerrrq | ( | character*3 | path, |
| integer | nunit ) |
ZERRRQ
!> !> ZERRRQ tests the error exits for the COMPLEX*16 routines !> that use the RQ decomposition of a general matrix. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrrq.f.
| subroutine zerrsy | ( | character*3 | path, |
| integer | nunit ) |
ZERRSY
ZERRSYX
!> !> ZERRSY tests the error exits for the COMPLEX*16 routines !> for symmetric indefinite matrices. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
!> !> ZERRSY tests the error exits for the COMPLEX*16 routines !> for symmetric indefinite matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise zerrsy.f defines this subroutine. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrsy.f.
| subroutine zerrtr | ( | character*3 | path, |
| integer | nunit ) |
ZERRTR
!> !> ZERRTR tests the error exits for the COMPLEX*16 triangular routines. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 53 of file zerrtr.f.
| subroutine zerrtz | ( | character*3 | path, |
| integer | nunit ) |
ZERRTZ
!> !> ZERRTZ tests the error exits for ZTZRZF. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 53 of file zerrtz.f.
| subroutine zerrunhr_col | ( | character(len=3) | path, |
| integer | nunit ) |
ZERRUNHR_COL
!> !> ZERRUNHR_COL tests the error exits for ZUNHR_COL that does !> Householder reconstruction from the output of tall-skinny !> factorization ZLATSQR. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 55 of file zerrunhr_col.f.
| subroutine zerrvx | ( | character*3 | path, |
| integer | nunit ) |
ZERRVX
ZERRVXX
!> !> ZERRVX tests the error exits for the COMPLEX*16 driver routines !> for solving linear systems of equations. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name for the routines to be tested. !> |
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 54 of file zerrvx.f.
| subroutine zgbt01 | ( | integer | m, |
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( * ) | work, | ||
| double precision | resid ) |
ZGBT01
!> !> ZGBT01 reconstructs a band matrix A from its L*U factorization and !> computes the residual: !> norm(L*U - A) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon. !> !> The expression L*U - A is computed one column at a time, so A and !> AFAC are not modified. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | KL | !> KL is INTEGER !> The number of subdiagonals within the band of A. KL >= 0. !> |
| [in] | KU | !> KU is INTEGER !> The number of superdiagonals within the band of A. KU >= 0. !> |
| [in,out] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original matrix A in band storage, stored in rows 1 to !> KL+KU+1. !> |
| [in] | LDA | !> LDA is INTEGER. !> The leading dimension of the array A. LDA >= max(1,KL+KU+1). !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the banded !> factors L and U from the L*U factorization, as computed by !> ZGBTRF. U is stored as an upper triangular band matrix with !> KL+KU superdiagonals in rows 1 to KL+KU+1, and the !> multipliers used during the factorization are stored in rows !> KL+KU+2 to 2*KL+KU+1. See ZGBTRF for further details. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. !> LDAFAC >= max(1,2*KL*KU+1). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (min(M,N)) !> The pivot indices from ZGBTRF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (2*KL+KU+1) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(L*U - A) / ( N * norm(A) * EPS ) !> |
Definition at line 124 of file zgbt01.f.
| subroutine zgbt02 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZGBT02
!> !> ZGBT02 computes the residual for a solution of a banded system of !> equations op(A)*X = B: !> RESID = norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ), !> where op(A) = A, A**T, or A**H, depending on TRANS, and EPS is the !> machine epsilon. !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations: !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose) !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | KL | !> KL is INTEGER !> The number of subdiagonals within the band of A. KL >= 0. !> |
| [in] | KU | !> KU is INTEGER !> The number of superdiagonals within the band of A. KU >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original matrix A in band storage, stored in rows 1 to !> KL+KU+1. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,KL+KU+1). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. If TRANS = 'N', !> LDX >= max(1,N); if TRANS = 'T' or 'C', LDX >= max(1,M). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. IF TRANS = 'N', !> LDB >= max(1,M); if TRANS = 'T' or 'C', LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (MAX(1,LRWORK)), !> where LRWORK >= M when TRANS = 'T' or 'C'; otherwise, RWORK !> is not referenced. !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ). !> |
Definition at line 146 of file zgbt02.f.
| subroutine zgbt05 | ( | character | trans, |
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| integer | nrhs, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZGBT05
!> !> ZGBT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations op(A)*X = B, where A is a !> general band matrix of order n with kl subdiagonals and ku !> superdiagonals and op(A) = A, A**T, or A**H, depending on TRANS. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( NZ*EPS + (*) ), where !> (*) = NZ*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i ) !> and NZ = max. number of nonzeros in any row of A, plus 1 !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations. !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose = Transpose) !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | KL | !> KL is INTEGER !> The number of subdiagonals within the band of A. KL >= 0. !> |
| [in] | KU | !> KU is INTEGER !> The number of superdiagonals within the band of A. KU >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | AB | !> AB is COMPLEX*16 array, dimension (LDAB,N) !> The original band matrix A, stored in rows 1 to KL+KU+1. !> The j-th column of A is stored in the j-th column of the !> array AB as follows: !> AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl). !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KL+KU+1. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( NZ*EPS + (*) ) !> |
Definition at line 174 of file zgbt05.f.
| subroutine zgelqs | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
ZGELQS
!> !> Compute a minimum-norm solution !> min || A*X - B || !> using the LQ factorization !> A = L*Q !> computed by ZGELQF. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= M >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> Details of the LQ factorization of the original matrix A as !> returned by ZGELQF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (M) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the m-by-nrhs right hand side matrix B. !> On exit, the n-by-nrhs solution matrix X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= N. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK must be at least NRHS, !> and should be at least NRHS*NB, where NB is the block size !> for this environment. !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 119 of file zgelqs.f.
| logical function zgennd | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda ) |
ZGENND
!> !> ZGENND tests that its argument has a real, non-negative diagonal. !>
| [in] | M | !> M is INTEGER !> The number of rows in A. !> |
| [in] | N | !> N is INTEGER !> The number of columns in A. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA, N) !> The matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> Leading dimension of A. !> |
Definition at line 67 of file zgennd.f.
| subroutine zgeqls | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
ZGEQLS
!> !> Solve the least squares problem !> min || A*X - B || !> using the QL factorization !> A = Q*L !> computed by ZGEQLF. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. M >= N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> Details of the QL factorization of the original matrix A as !> returned by ZGEQLF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (N) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the m-by-nrhs right hand side matrix B. !> On exit, the n-by-nrhs solution matrix X, stored in rows !> m-n+1:m. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= M. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK must be at least NRHS, !> and should be at least NRHS*NB, where NB is the block size !> for this environment. !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 120 of file zgeqls.f.
| subroutine zgeqrs | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
ZGEQRS
!> !> Solve the least squares problem !> min || A*X - B || !> using the QR factorization !> A = Q*R !> computed by ZGEQRF. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. M >= N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> Details of the QR factorization of the original matrix A as !> returned by ZGEQRF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (N) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the m-by-nrhs right hand side matrix B. !> On exit, the n-by-nrhs solution matrix X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= M. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK must be at least NRHS, !> and should be at least NRHS*NB, where NB is the block size !> for this environment. !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 119 of file zgeqrs.f.
| subroutine zgerqs | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
ZGERQS
!> !> Compute a minimum-norm solution !> min || A*X - B || !> using the RQ factorization !> A = R*Q !> computed by ZGERQF. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= M >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> Details of the RQ factorization of the original matrix A as !> returned by ZGERQF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (M) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the linear system. !> On exit, the solution vectors X. Each solution vector !> is contained in rows 1:N of a column of B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK must be at least NRHS, !> and should be at least NRHS*NB, where NB is the block size !> for this environment. !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 120 of file zgerqs.f.
| subroutine zget01 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZGET01
!> !> ZGET01 reconstructs a matrix A from its L*U factorization and !> computes the residual !> norm(L*U - A) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original M x N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !> |
| [in,out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the factors !> L and U from the L*U factorization as computed by ZGETRF. !> Overwritten with the reconstructed matrix, and then with the !> difference L*U - A. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,M). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZGETRF. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(L*U - A) / ( N * norm(A) * EPS ) !> |
Definition at line 106 of file zget01.f.
| subroutine zget02 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZGET02
!> !> ZGET02 computes the residual for a solution of a system of linear !> equations op(A)*X = B: !> RESID = norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ), !> where op(A) = A, A**T, or A**H, depending on TRANS, and EPS is the !> machine epsilon. !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations: !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose) !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original M x N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. If TRANS = 'N', !> LDX >= max(1,N); if TRANS = 'T' or 'C', LDX >= max(1,M). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - op(A)*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. IF TRANS = 'N', !> LDB >= max(1,M); if TRANS = 'T' or 'C', LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - op(A)*X) / ( norm(op(A)) * norm(X) * EPS ). !> |
Definition at line 132 of file zget02.f.
| subroutine zget03 | ( | integer | n, |
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| complex*16, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
ZGET03
!> !> ZGET03 computes the residual for a general matrix times its inverse: !> norm( I - AINV*A ) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original N x N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | AINV | !> AINV is COMPLEX*16 array, dimension (LDAINV,N) !> The inverse of the matrix A. !> |
| [in] | LDAINV | !> LDAINV is INTEGER !> The leading dimension of the array AINV. LDAINV >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LDWORK,N) !> |
| [in] | LDWORK | !> LDWORK is INTEGER !> The leading dimension of the array WORK. LDWORK >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of A, computed as !> ( 1/norm(A) ) / norm(AINV). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(I - AINV*A) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 108 of file zget03.f.
| subroutine zget04 | ( | integer | n, |
| integer | nrhs, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision | rcond, | ||
| double precision | resid ) |
ZGET04
!> !> ZGET04 computes the difference between a computed solution and the !> true solution to a system of linear equations. !> !> RESID = ( norm(X-XACT) * RCOND ) / ( norm(XACT) * EPS ), !> where RCOND is the reciprocal of the condition number and EPS is the !> machine epsilon. !>
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X and XACT. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X and XACT. NRHS >= 0. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of the coefficient !> matrix in the system of equations. !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the NRHS solution vectors of !> ( norm(X-XACT) * RCOND ) / ( norm(XACT) * EPS ) !> |
Definition at line 101 of file zget04.f.
| subroutine zget07 | ( | character | trans, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| logical | chkferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZGET07
!> !> ZGET07 tests the error bounds from iterative refinement for the !> computed solution to a system of equations op(A)*X = B, where A is a !> general n by n matrix and op(A) = A or A**T, depending on TRANS. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( (n+1)*EPS + (*) ), where !> (*) = (n+1)*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i ) !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations. !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose = Transpose) !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X and XACT. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X and XACT. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original n by n matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | CHKFERR | !> CHKFERR is LOGICAL !> Set to .TRUE. to check FERR, .FALSE. not to check FERR. !> When the test system is ill-conditioned, the !> solution in XACT may be incorrect. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( (n+1)*EPS + (*) ) !> |
Definition at line 164 of file zget07.f.
| subroutine zget08 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZGET08
!> !> ZGET08 computes the residual for a solution of a system of linear !> equations A*x = b or A'*x = b: !> RESID = norm(B - A*X) / ( norm(A) * norm(X) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations: !> = 'N': A *x = b !> = 'T': A^T*x = b, where A^T is the transpose of A !> = 'C': A^H*x = b, where A^H is the conjugate transpose of A !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original M x N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. If TRANS = 'N', !> LDX >= max(1,N); if TRANS = 'T' or 'C', LDX >= max(1,M). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. IF TRANS = 'N', !> LDB >= max(1,M); if TRANS = 'T' or 'C', LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 131 of file zget08.f.
| subroutine zgtt01 | ( | integer | n, |
| complex*16, dimension( * ) | dl, | ||
| complex*16, dimension( * ) | d, | ||
| complex*16, dimension( * ) | du, | ||
| complex*16, dimension( * ) | dlf, | ||
| complex*16, dimension( * ) | df, | ||
| complex*16, dimension( * ) | duf, | ||
| complex*16, dimension( * ) | du2, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZGTT01
!> !> ZGTT01 reconstructs a tridiagonal matrix A from its LU factorization !> and computes the residual !> norm(L*U - A) / ( norm(A) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | N | !> N is INTEGTER !> The order of the matrix A. N >= 0. !> |
| [in] | DL | !> DL is COMPLEX*16 array, dimension (N-1) !> The (n-1) sub-diagonal elements of A. !> |
| [in] | D | !> D is COMPLEX*16 array, dimension (N) !> The diagonal elements of A. !> |
| [in] | DU | !> DU is COMPLEX*16 array, dimension (N-1) !> The (n-1) super-diagonal elements of A. !> |
| [in] | DLF | !> DLF is COMPLEX*16 array, dimension (N-1) !> The (n-1) multipliers that define the matrix L from the !> LU factorization of A. !> |
| [in] | DF | !> DF is COMPLEX*16 array, dimension (N) !> The n diagonal elements of the upper triangular matrix U from !> the LU factorization of A. !> |
| [in] | DUF | !> DUF is COMPLEX*16 array, dimension (N-1) !> The (n-1) elements of the first super-diagonal of U. !> |
| [in] | DU2 | !> DU2 is COMPLEX*16 array, dimension (N-2) !> The (n-2) elements of the second super-diagonal of U. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices; for 1 <= i <= n, row i of the matrix was !> interchanged with row IPIV(i). IPIV(i) will always be either !> i or i+1; IPIV(i) = i indicates a row interchange was not !> required. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LDWORK,N) !> |
| [in] | LDWORK | !> LDWORK is INTEGER !> The leading dimension of the array WORK. LDWORK >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The scaled residual: norm(L*U - A) / (norm(A) * EPS) !> |
Definition at line 132 of file zgtt01.f.
| subroutine zgtt02 | ( | character | trans, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | dl, | ||
| complex*16, dimension( * ) | d, | ||
| complex*16, dimension( * ) | du, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision | resid ) |
ZGTT02
!> !> ZGTT02 computes the residual for the solution to a tridiagonal !> system of equations: !> RESID = norm(B - op(A)*X) / (norm(op(A)) * norm(X) * EPS), !> where EPS is the machine epsilon. !>
| [in] | TRANS | !> TRANS is CHARACTER !> Specifies the form of the residual. !> = 'N': B - A * X (No transpose) !> = 'T': B - A**T * X (Transpose) !> = 'C': B - A**H * X (Conjugate transpose) !> |
| [in] | N | !> N is INTEGTER !> The order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices B and X. NRHS >= 0. !> |
| [in] | DL | !> DL is COMPLEX*16 array, dimension (N-1) !> The (n-1) sub-diagonal elements of A. !> |
| [in] | D | !> D is COMPLEX*16 array, dimension (N) !> The diagonal elements of A. !> |
| [in] | DU | !> DU is COMPLEX*16 array, dimension (N-1) !> The (n-1) super-diagonal elements of A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - op(A)*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(B - op(A)*X) / (norm(op(A)) * norm(X) * EPS) !> |
Definition at line 122 of file zgtt02.f.
| subroutine zgtt05 | ( | character | trans, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | dl, | ||
| complex*16, dimension( * ) | d, | ||
| complex*16, dimension( * ) | du, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZGTT05
!> !> ZGTT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> general tridiagonal matrix of order n and op(A) = A or A**T, !> depending on TRANS. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( NZ*EPS + (*) ), where !> (*) = NZ*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i ) !> and NZ = max. number of nonzeros in any row of A, plus 1 !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations. !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose = Transpose) !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X and XACT. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X and XACT. NRHS >= 0. !> |
| [in] | DL | !> DL is COMPLEX*16 array, dimension (N-1) !> The (n-1) sub-diagonal elements of A. !> |
| [in] | D | !> D is COMPLEX*16 array, dimension (N) !> The diagonal elements of A. !> |
| [in] | DU | !> DU is COMPLEX*16 array, dimension (N-1) !> The (n-1) super-diagonal elements of A. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( NZ*EPS + (*) ) !> |
Definition at line 163 of file zgtt05.f.
| subroutine zhet01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZHET01
!> !> ZHET01 reconstructs a Hermitian indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix, EPS is the machine epsilon, !> L' is the conjugate transpose of L, and U' is the conjugate transpose !> of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the block !> diagonal matrix D and the multipliers used to obtain the !> factor L or U from the block L*D*L' or U*D*U' factorization !> as computed by ZHETRF. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZHETRF. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 124 of file zhet01.f.
| subroutine zhet01_3 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| complex*16, dimension( * ) | e, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZHET01_3
!> !> ZHET01_3 reconstructs a Hermitian indefinite matrix A from its !> block L*D*L' or U*D*U' factorization computed by ZHETRF_RK !> (or ZHETRF_BK) and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by ZHETRF_RK and ZHETRF_BK: !> a) ONLY diagonal elements of the Hermitian block diagonal !> matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); !> (superdiagonal (or subdiagonal) elements of D !> should be provided on entry in array E), and !> b) If UPLO = 'U': factor U in the superdiagonal part of A. !> If UPLO = 'L': factor L in the subdiagonal part of A. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. !> LDAFAC >= max(1,N). !> |
| [in] | E | !> E is COMPLEX*16 array, dimension (N) !> On entry, contains the superdiagonal (or subdiagonal) !> elements of the Hermitian block diagonal matrix D !> with 1-by-1 or 2-by-2 diagonal blocks, where !> If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced; !> If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZHETRF_RK (or ZHETRF_BK). !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 139 of file zhet01_3.f.
| subroutine zhet01_aa | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZHET01_AA
!> !> ZHET01_AA reconstructs a hermitian indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the block !> diagonal matrix D and the multipliers used to obtain the !> factor L or U from the block L*D*L' or U*D*U' factorization !> as computed by ZHETRF. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZHETRF. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RESID | !> RESID is COMPLEX*16 !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 122 of file zhet01_aa.f.
| subroutine zhet01_rook | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZHET01_ROOK
!> !> ZHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix, EPS is the machine epsilon, !> L' is the transpose of L, and U' is the transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> complex Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original complex Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the block !> diagonal matrix D and the multipliers used to obtain the !> factor L or U from the block L*D*L' or U*D*U' factorization !> as computed by CSYTRF_ROOK. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from CSYTRF_ROOK. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 123 of file zhet01_rook.f.
| subroutine zhpt01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZHPT01
!> !> ZHPT01 reconstructs a Hermitian indefinite packed matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix, EPS is the machine epsilon, !> L' is the conjugate transpose of L, and U' is the conjugate transpose !> of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original Hermitian matrix A, stored as a packed !> triangular matrix. !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (N*(N+1)/2) !> The factored form of the matrix A, stored as a packed !> triangular matrix. AFAC contains the block diagonal matrix D !> and the multipliers used to obtain the factor L or U from the !> block L*D*L' or U*D*U' factorization as computed by ZHPTRF. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZHPTRF. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 112 of file zhpt01.f.
| subroutine zlahilb | ( | integer | n, |
| integer | nrhs, | ||
| complex*16, dimension(lda,n) | a, | ||
| integer | lda, | ||
| complex*16, dimension(ldx, nrhs) | x, | ||
| integer | ldx, | ||
| complex*16, dimension(ldb, nrhs) | b, | ||
| integer | ldb, | ||
| double precision, dimension(n) | work, | ||
| integer | info, | ||
| character*3 | path ) |
ZLAHILB
!> !> ZLAHILB generates an N by N scaled Hilbert matrix in A along with !> NRHS right-hand sides in B and solutions in X such that A*X=B. !> !> The Hilbert matrix is scaled by M = LCM(1, 2, ..., 2*N-1) so that all !> entries are integers. The right-hand sides are the first NRHS !> columns of M * the identity matrix, and the solutions are the !> first NRHS columns of the inverse Hilbert matrix. !> !> The condition number of the Hilbert matrix grows exponentially with !> its size, roughly as O(e ** (3.5*N)). Additionally, the inverse !> Hilbert matrices beyond a relatively small dimension cannot be !> generated exactly without extra precision. Precision is exhausted !> when the largest entry in the inverse Hilbert matrix is greater than !> 2 to the power of the number of bits in the fraction of the data type !> used plus one, which is 24 for single precision. !> !> In single, the generated solution is exact for N <= 6 and has !> small componentwise error for 7 <= N <= 11. !>
| [in] | N | !> N is INTEGER !> The dimension of the matrix A. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The requested number of right-hand sides. !> |
| [out] | A | !> A is COMPLEX array, dimension (LDA, N) !> The generated scaled Hilbert matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= N. !> |
| [out] | X | !> X is COMPLEX array, dimension (LDX, NRHS) !> The generated exact solutions. Currently, the first NRHS !> columns of the inverse Hilbert matrix. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= N. !> |
| [out] | B | !> B is REAL array, dimension (LDB, NRHS) !> The generated right-hand sides. Currently, the first NRHS !> columns of LCM(1, 2, ..., 2*N-1) * the identity matrix. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= N. !> |
| [out] | WORK | !> WORK is REAL array, dimension (N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> = 1: N is too large; the data is still generated but may not !> be not exact. !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name. !> |
Definition at line 132 of file zlahilb.f.
| subroutine zlaipd | ( | integer | n, |
| complex*16, dimension( * ) | a, | ||
| integer | inda, | ||
| integer | vinda ) |
ZLAIPD
!> !> ZLAIPD sets the imaginary part of the diagonal elements of a complex !> matrix A to a large value. This is used to test LAPACK routines for !> complex Hermitian matrices, which are not supposed to access or use !> the imaginary parts of the diagonals. !>
| [in] | N | !> N is INTEGER !> The number of diagonal elements of A. !> |
| [in,out] | A | !> A is COMPLEX*16 array, dimension !> (1+(N-1)*INDA+(N-2)*VINDA) !> On entry, the complex (Hermitian) matrix A. !> On exit, the imaginary parts of the diagonal elements are set !> to BIGNUM = EPS / SAFMIN, where EPS is the machine epsilon and !> SAFMIN is the safe minimum. !> |
| [in] | INDA | !> INDA is INTEGER !> The increment between A(1) and the next diagonal element of A. !> Typical values are !> = LDA+1: square matrices with leading dimension LDA !> = 2: packed upper triangular matrix, starting at A(1,1) !> = N: packed lower triangular matrix, starting at A(1,1) !> |
| [in] | VINDA | !> VINDA is INTEGER !> The change in the diagonal increment between columns of A. !> Typical values are !> = 0: no change, the row and column increments in A are fixed !> = 1: packed upper triangular matrix !> = -1: packed lower triangular matrix !> |
Definition at line 82 of file zlaipd.f.
| subroutine zlaptm | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision | alpha, | ||
| double precision, dimension( * ) | d, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision | beta, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb ) |
ZLAPTM
!> !> ZLAPTM multiplies an N by NRHS matrix X by a Hermitian tridiagonal !> matrix A and stores the result in a matrix B. The operation has the !> form !> !> B := alpha * A * X + beta * B !> !> where alpha may be either 1. or -1. and beta may be 0., 1., or -1. !>
| [in] | UPLO | !> UPLO is CHARACTER !> Specifies whether the superdiagonal or the subdiagonal of the !> tridiagonal matrix A is stored. !> = 'U': Upper, E is the superdiagonal of A. !> = 'L': Lower, E is the subdiagonal of A. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. !> |
| [in] | ALPHA | !> ALPHA is DOUBLE PRECISION !> The scalar alpha. ALPHA must be 1. or -1.; otherwise, !> it is assumed to be 0. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the tridiagonal matrix A. !> |
| [in] | E | !> E is COMPLEX*16 array, dimension (N-1) !> The (n-1) subdiagonal or superdiagonal elements of A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The N by NRHS matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(N,1). !> |
| [in] | BETA | !> BETA is DOUBLE PRECISION !> The scalar beta. BETA must be 0., 1., or -1.; otherwise, !> it is assumed to be 1. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the N by NRHS matrix B. !> On exit, B is overwritten by the matrix expression !> B := alpha * A * X + beta * B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(N,1). !> |
Definition at line 127 of file zlaptm.f.
| subroutine zlarhs | ( | character*3 | path, |
| character | xtype, | ||
| character | uplo, | ||
| character | trans, | ||
| integer | m, | ||
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | info ) |
ZLARHS
!> !> ZLARHS chooses a set of NRHS random solution vectors and sets !> up the right hand sides for the linear system !> op(A) * X = B, !> where op(A) = A, A**T, or A**H, depending on TRANS. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The type of the complex matrix A. PATH may be given in any !> combination of upper and lower case. Valid paths include !> xGE: General m x n matrix !> xGB: General banded matrix !> xPO: Hermitian positive definite, 2-D storage !> xPP: Hermitian positive definite packed !> xPB: Hermitian positive definite banded !> xHE: Hermitian indefinite, 2-D storage !> xHP: Hermitian indefinite packed !> xHB: Hermitian indefinite banded !> xSY: Symmetric indefinite, 2-D storage !> xSP: Symmetric indefinite packed !> xSB: Symmetric indefinite banded !> xTR: Triangular !> xTP: Triangular packed !> xTB: Triangular banded !> xQR: General m x n matrix !> xLQ: General m x n matrix !> xQL: General m x n matrix !> xRQ: General m x n matrix !> where the leading character indicates the precision. !> |
| [in] | XTYPE | !> XTYPE is CHARACTER*1 !> Specifies how the exact solution X will be determined: !> = 'N': New solution; generate a random X. !> = 'C': Computed; use value of X on entry. !> |
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Used only if A is symmetric or triangular; specifies whether !> the upper or lower triangular part of the matrix A is stored. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Used only if A is nonsymmetric; specifies the operation !> applied to the matrix A. !> = 'N': B := A * X (No transpose) !> = 'T': B := A**T * X (Transpose) !> = 'C': B := A**H * X (Conjugate transpose) !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | KL | !> KL is INTEGER !> Used only if A is a band matrix; specifies the number of !> subdiagonals of A if A is a general band matrix or if A is !> symmetric or triangular and UPLO = 'L'; specifies the number !> of superdiagonals of A if A is symmetric or triangular and !> UPLO = 'U'. 0 <= KL <= M-1. !> |
| [in] | KU | !> KU is INTEGER !> Used only if A is a general band matrix or if A is !> triangular. !> !> If PATH = xGB, specifies the number of superdiagonals of A, !> and 0 <= KU <= N-1. !> !> If PATH = xTR, xTP, or xTB, specifies whether or not the !> matrix has unit diagonal: !> = 1: matrix has non-unit diagonal (default) !> = 2: matrix has unit diagonal !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand side vectors in the system A*X = B. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The test matrix whose type is given by PATH. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. !> If PATH = xGB, LDA >= KL+KU+1. !> If PATH = xPB, xSB, xHB, or xTB, LDA >= KL+1. !> Otherwise, LDA >= max(1,M). !> |
| [in,out] | X | !> X is or output) COMPLEX*16 array, dimension (LDX,NRHS) !> On entry, if XTYPE = 'C' (for 'Computed'), then X contains !> the exact solution to the system of linear equations. !> On exit, if XTYPE = 'N' (for 'New'), then X is initialized !> with random values. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. If TRANS = 'N', !> LDX >= max(1,N); if TRANS = 'T', LDX >= max(1,M). !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vector(s) for the system of equations, !> computed from B = op(A) * X, where op(A) is determined by !> TRANS. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. If TRANS = 'N', !> LDB >= max(1,M); if TRANS = 'T', LDB >= max(1,N). !> |
| [in,out] | ISEED | !> ISEED is INTEGER array, dimension (4) !> The seed vector for the random number generator (used in !> ZLATMS). Modified on exit. !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 206 of file zlarhs.f.
| subroutine zlatb4 | ( | character*3 | path, |
| integer | imat, | ||
| integer | m, | ||
| integer | n, | ||
| character | type, | ||
| integer | kl, | ||
| integer | ku, | ||
| double precision | anorm, | ||
| integer | mode, | ||
| double precision | cndnum, | ||
| character | dist ) |
ZLATB4
!> !> ZLATB4 sets parameters for the matrix generator based on the type of !> matrix to be generated. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name. !> |
| [in] | IMAT | !> IMAT is INTEGER !> An integer key describing which matrix to generate for this !> path. !> |
| [in] | M | !> M is INTEGER !> The number of rows in the matrix to be generated. !> |
| [in] | N | !> N is INTEGER !> The number of columns in the matrix to be generated. !> |
| [out] | TYPE | !> TYPE is CHARACTER*1 !> The type of the matrix to be generated: !> = 'S': symmetric matrix !> = 'H': Hermitian matrix !> = 'P': Hermitian positive (semi)definite matrix !> = 'N': nonsymmetric matrix !> |
| [out] | KL | !> KL is INTEGER !> The lower band width of the matrix to be generated. !> |
| [out] | KU | !> KU is INTEGER !> The upper band width of the matrix to be generated. !> |
| [out] | ANORM | !> ANORM is DOUBLE PRECISION !> The desired norm of the matrix to be generated. The diagonal !> matrix of singular values or eigenvalues is scaled by this !> value. !> |
| [out] | MODE | !> MODE is INTEGER !> A key indicating how to choose the vector of eigenvalues. !> |
| [out] | CNDNUM | !> CNDNUM is DOUBLE PRECISION !> The desired condition number. !> |
| [out] | DIST | !> DIST is CHARACTER*1 !> The type of distribution to be used by the random number !> generator. !> |
Definition at line 119 of file zlatb4.f.
| subroutine zlatb5 | ( | character*3 | path, |
| integer | imat, | ||
| integer | n, | ||
| character | type, | ||
| integer | kl, | ||
| integer | ku, | ||
| double precision | anorm, | ||
| integer | mode, | ||
| double precision | cndnum, | ||
| character | dist ) |
ZLATB5
!> !> ZLATB5 sets parameters for the matrix generator based on the type !> of matrix to be generated. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name. !> |
| [in] | IMAT | !> IMAT is INTEGER !> An integer key describing which matrix to generate for this !> path. !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns in the matrix to be generated. !> |
| [out] | TYPE | !> TYPE is CHARACTER*1 !> The type of the matrix to be generated: !> = 'S': symmetric matrix !> = 'P': symmetric positive (semi)definite matrix !> = 'N': nonsymmetric matrix !> |
| [out] | KL | !> KL is INTEGER !> The lower band width of the matrix to be generated. !> |
| [out] | KU | !> KU is INTEGER !> The upper band width of the matrix to be generated. !> |
| [out] | ANORM | !> ANORM is DOUBLE PRECISION !> The desired norm of the matrix to be generated. The diagonal !> matrix of singular values or eigenvalues is scaled by this !> value. !> |
| [out] | MODE | !> MODE is INTEGER !> A key indicating how to choose the vector of eigenvalues. !> |
| [out] | CNDNUM | !> CNDNUM is DOUBLE PRECISION !> The desired condition number. !> |
| [out] | DIST | !> DIST is CHARACTER*1 !> The type of distribution to be used by the random number !> generator. !> |
Definition at line 112 of file zlatb5.f.
| subroutine zlatsp | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( * ) | x, | ||
| integer, dimension( * ) | iseed ) |
ZLATSP
!> !> ZLATSP generates a special test matrix for the complex symmetric !> (indefinite) factorization for packed matrices. The pivot blocks of !> the generated matrix will be in the following order: !> 2x2 pivot block, non diagonalizable !> 1x1 pivot block !> 2x2 pivot block, diagonalizable !> (cycle repeats) !> A row interchange is required for each non-diagonalizable 2x2 block. !>
| [in] | UPLO | !> UPLO is CHARACTER !> Specifies whether the generated matrix is to be upper or !> lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The dimension of the matrix to be generated. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (N*(N+1)/2) !> The generated matrix in packed storage format. The matrix !> consists of 3x3 and 2x2 diagonal blocks which result in the !> pivot sequence given above. The matrix outside these !> diagonal blocks is zero. !> |
| [in,out] | ISEED | !> ISEED is INTEGER array, dimension (4) !> On entry, the seed for the random number generator. The last !> of the four integers must be odd. (modified on exit) !> |
Definition at line 83 of file zlatsp.f.
| subroutine zlatsy | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| integer, dimension( * ) | iseed ) |
ZLATSY
!> !> ZLATSY generates a special test matrix for the complex symmetric !> (indefinite) factorization. The pivot blocks of the generated matrix !> will be in the following order: !> 2x2 pivot block, non diagonalizable !> 1x1 pivot block !> 2x2 pivot block, diagonalizable !> (cycle repeats) !> A row interchange is required for each non-diagonalizable 2x2 block. !>
| [in] | UPLO | !> UPLO is CHARACTER !> Specifies whether the generated matrix is to be upper or !> lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The dimension of the matrix to be generated. !> |
| [out] | X | !> X is COMPLEX*16 array, dimension (LDX,N) !> The generated matrix, consisting of 3x3 and 2x2 diagonal !> blocks which result in the pivot sequence given above. !> The matrix outside of these diagonal blocks is zero. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. !> |
| [in,out] | ISEED | !> ISEED is INTEGER array, dimension (4) !> On entry, the seed for the random number generator. The last !> of the four integers must be odd. (modified on exit) !> |
Definition at line 88 of file zlatsy.f.
| subroutine zlattb | ( | integer | imat, |
| character | uplo, | ||
| character | trans, | ||
| character | diag, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | n, | ||
| integer | kd, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | info ) |
ZLATTB
!> !> ZLATTB generates a triangular test matrix in 2-dimensional storage. !> IMAT and UPLO uniquely specify the properties of the test matrix, !> which is returned in the array A. !>
| [in] | IMAT | !> IMAT is INTEGER !> An integer key describing which matrix to generate for this !> path. !> |
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A will be upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies whether the matrix or its transpose will be used. !> = 'N': No transpose !> = 'T': Transpose !> = 'C': Conjugate transpose (= transpose) !> |
| [out] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in,out] | ISEED | !> ISEED is INTEGER array, dimension (4) !> The seed vector for the random number generator (used in !> ZLATMS). Modified on exit. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix to be generated. !> |
| [in] | KD | !> KD is INTEGER !> The number of superdiagonals or subdiagonals of the banded !> triangular matrix A. KD >= 0. !> |
| [out] | AB | !> AB is COMPLEX*16 array, dimension (LDAB,N) !> The upper or lower triangular banded matrix A, stored in the !> first KD+1 rows of AB. Let j be a column of A, 1<=j<=n. !> If UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j. !> If UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KD+1. !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (N) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (2*N) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 139 of file zlattb.f.
| subroutine zlattp | ( | integer | imat, |
| character | uplo, | ||
| character | trans, | ||
| character | diag, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | n, | ||
| complex*16, dimension( * ) | ap, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | info ) |
ZLATTP
!> !> ZLATTP generates a triangular test matrix in packed storage. !> IMAT and UPLO uniquely specify the properties of the test matrix, !> which is returned in the array AP. !>
| [in] | IMAT | !> IMAT is INTEGER !> An integer key describing which matrix to generate for this !> path. !> |
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A will be upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies whether the matrix or its transpose will be used. !> = 'N': No transpose !> = 'T': Transpose !> = 'C': Conjugate transpose !> |
| [out] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in,out] | ISEED | !> ISEED is INTEGER array, dimension (4) !> The seed vector for the random number generator (used in !> ZLATMS). Modified on exit. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix to be generated. !> |
| [out] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The upper or lower triangular matrix A, packed columnwise in !> a linear array. The j-th column of A is stored in the array !> AP as follows: !> if UPLO = 'U', AP((j-1)*j/2 + i) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', !> AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n. !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (N) !> The right hand side vector, if IMAT > 10. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (2*N) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 129 of file zlattp.f.
| subroutine zlattr | ( | integer | imat, |
| character | uplo, | ||
| character | trans, | ||
| character | diag, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | b, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | info ) |
ZLATTR
!> !> ZLATTR generates a triangular test matrix in 2-dimensional storage. !> IMAT and UPLO uniquely specify the properties of the test matrix, !> which is returned in the array A. !>
| [in] | IMAT | !> IMAT is INTEGER !> An integer key describing which matrix to generate for this !> path. !> |
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A will be upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies whether the matrix or its transpose will be used. !> = 'N': No transpose !> = 'T': Transpose !> = 'C': Conjugate transpose !> |
| [out] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in,out] | ISEED | !> ISEED is INTEGER array, dimension (4) !> The seed vector for the random number generator (used in !> ZLATMS). Modified on exit. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix to be generated. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The triangular matrix A. If UPLO = 'U', the leading N x N !> upper triangular part of the array A contains the upper !> triangular matrix, and the strictly lower triangular part of !> A is not referenced. If UPLO = 'L', the leading N x N lower !> triangular part of the array A contains the lower triangular !> matrix and the strictly upper triangular part of A is not !> referenced. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (N) !> The right hand side vector, if IMAT > 10. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (2*N) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
Definition at line 136 of file zlattr.f.
| subroutine zlavhe | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
ZLAVHE
!> !> ZLAVHE performs one of the matrix-vector operations !> x := A*x or x := A^H*x, !> where x is an N element vector and A is one of the factors !> from the block U*D*U' or L*D*L' factorization computed by ZHETRF. !> !> If TRANS = 'N', multiplies by U or U * D (or L or L * D) !> If TRANS = 'C', multiplies by U' or D * U' (or L' or D * L') !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the factor stored in A is upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation to be performed: !> = 'N': x := A*x !> = 'C': x := A'*x !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the diagonal blocks are unit !> matrices. If the diagonal blocks are assumed to be unit, !> then A = U or A = L, otherwise A = U*D or A = L*D. !> = 'U': Diagonal blocks are assumed to be unit matrices. !> = 'N': Diagonal blocks are assumed to be non-unit matrices. !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of vectors !> x to be multiplied by A. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by ZHETRF. !> Stored as a 2-D triangular matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D, !> as determined by ZHETRF. !> !> If UPLO = 'U': !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> (If IPIV( k ) = k, no interchange was done). !> !> If IPIV(k) = IPIV(k-1) < 0, then rows and !> columns k-1 and -IPIV(k) were interchanged, !> D(k-1:k,k-1:k) is a 2-by-2 diagonal block. !> !> If UPLO = 'L': !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> (If IPIV( k ) = k, no interchange was done). !> !> If IPIV(k) = IPIV(k+1) < 0, then rows and !> columns k+1 and -IPIV(k) were interchanged, !> D(k:k+1,k:k+1) is a 2-by-2 diagonal block. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 151 of file zlavhe.f.
| subroutine zlavhe_rook | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
ZLAVHE_ROOK
If TRANS = 'N', multiplies by U or U * D (or L or L * D) If TRANS = 'C', multiplies by U' or D * U' (or L' or D * L')
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the factor stored in A is upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation to be performed: !> = 'N': x := A*x !> = 'C': x := A^H*x !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the diagonal blocks are unit !> matrices. If the diagonal blocks are assumed to be unit, !> then A = U or A = L, otherwise A = U*D or A = L*D. !> = 'U': Diagonal blocks are assumed to be unit matrices. !> = 'N': Diagonal blocks are assumed to be non-unit matrices. !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of vectors !> x to be multiplied by A. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by ZHETRF_ROOK. !> Stored as a 2-D triangular matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [out] | IPIV | !> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D, !> as determined by ZHETRF_ROOK. !> If UPLO = 'U': !> Only the last KB elements of IPIV are set. !> !> If IPIV(k) > 0, then rows and columns k and IPIV(k) were !> interchanged and D(k,k) is a 1-by-1 diagonal block. !> !> If IPIV(k) < 0 and IPIV(k-1) < 0, then rows and !> columns k and -IPIV(k) were interchanged and rows and !> columns k-1 and -IPIV(k-1) were inerchaged, !> D(k-1:k,k-1:k) is a 2-by-2 diagonal block. !> !> If UPLO = 'L': !> Only the first KB elements of IPIV are set. !> !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> !> If IPIV(k) < 0 and IPIV(k+1) < 0, then rows and !> columns k and -IPIV(k) were interchanged and rows and !> columns k+1 and -IPIV(k+1) were inerchaged, !> D(k:k+1,k:k+1) is a 2-by-2 diagonal block. !> |
| [in,out] | B | !> B is COMPLEX array, dimension (LDB,NRHS) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 151 of file zlavhe_rook.f.
| subroutine zlavhp | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | a, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
ZLAVHP
!> !> ZLAVHP performs one of the matrix-vector operations !> x := A*x or x := A^H*x, !> where x is an N element vector and A is one of the factors !> from the symmetric factorization computed by ZHPTRF. !> ZHPTRF produces a factorization of the form !> U * D * U^H or L * D * L^H, !> where U (or L) is a product of permutation and unit upper (lower) !> triangular matrices, U^H (or L^H) is the conjugate transpose of !> U (or L), and D is Hermitian and block diagonal with 1 x 1 and !> 2 x 2 diagonal blocks. The multipliers for the transformations !> and the upper or lower triangular parts of the diagonal blocks !> are stored columnwise in packed format in the linear array A. !> !> If TRANS = 'N' or 'n', ZLAVHP multiplies either by U or U * D !> (or L or L * D). !> If TRANS = 'C' or 'c', ZLAVHP multiplies either by U^H or D * U^H !> (or L^H or D * L^H ). !>
!> UPLO - CHARACTER*1 !> On entry, UPLO specifies whether the triangular matrix !> stored in A is upper or lower triangular. !> UPLO = 'U' or 'u' The matrix is upper triangular. !> UPLO = 'L' or 'l' The matrix is lower triangular. !> Unchanged on exit. !> !> TRANS - CHARACTER*1 !> On entry, TRANS specifies the operation to be performed as !> follows: !> TRANS = 'N' or 'n' x := A*x. !> TRANS = 'C' or 'c' x := A^H*x. !> Unchanged on exit. !> !> DIAG - CHARACTER*1 !> On entry, DIAG specifies whether the diagonal blocks are !> assumed to be unit matrices, as follows: !> DIAG = 'U' or 'u' Diagonal blocks are unit matrices. !> DIAG = 'N' or 'n' Diagonal blocks are non-unit. !> Unchanged on exit. !> !> N - INTEGER !> On entry, N specifies the order of the matrix A. !> N must be at least zero. !> Unchanged on exit. !> !> NRHS - INTEGER !> On entry, NRHS specifies the number of right hand sides, !> i.e., the number of vectors x to be multiplied by A. !> NRHS must be at least zero. !> Unchanged on exit. !> !> A - COMPLEX*16 array, dimension( N*(N+1)/2 ) !> On entry, A contains a block diagonal matrix and the !> multipliers of the transformations used to obtain it, !> stored as a packed triangular matrix. !> Unchanged on exit. !> !> IPIV - INTEGER array, dimension( N ) !> On entry, IPIV contains the vector of pivot indices as !> determined by ZSPTRF or ZHPTRF. !> If IPIV( K ) = K, no interchange was done. !> If IPIV( K ) <> K but IPIV( K ) > 0, then row K was inter- !> changed with row IPIV( K ) and a 1 x 1 pivot block was used. !> If IPIV( K ) < 0 and UPLO = 'U', then row K-1 was exchanged !> with row | IPIV( K ) | and a 2 x 2 pivot block was used. !> If IPIV( K ) < 0 and UPLO = 'L', then row K+1 was exchanged !> with row | IPIV( K ) | and a 2 x 2 pivot block was used. !> !> B - COMPLEX*16 array, dimension( LDB, NRHS ) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !> !> LDB - INTEGER !> On entry, LDB contains the leading dimension of B as !> declared in the calling program. LDB must be at least !> max( 1, N ). !> Unchanged on exit. !> !> INFO - INTEGER !> INFO is the error flag. !> On exit, a value of 0 indicates a successful exit. !> A negative value, say -K, indicates that the K-th argument !> has an illegal value. !>
Definition at line 129 of file zlavhp.f.
| subroutine zlavsp | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | a, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
ZLAVSP
!> !> ZLAVSP performs one of the matrix-vector operations !> x := A*x or x := A^T*x, !> where x is an N element vector and A is one of the factors !> from the symmetric factorization computed by ZSPTRF. !> ZSPTRF produces a factorization of the form !> U * D * U^T or L * D * L^T, !> where U (or L) is a product of permutation and unit upper (lower) !> triangular matrices, U^T (or L^T) is the transpose of !> U (or L), and D is symmetric and block diagonal with 1 x 1 and !> 2 x 2 diagonal blocks. The multipliers for the transformations !> and the upper or lower triangular parts of the diagonal blocks !> are stored columnwise in packed format in the linear array A. !> !> If TRANS = 'N' or 'n', ZLAVSP multiplies either by U or U * D !> (or L or L * D). !> If TRANS = 'C' or 'c', ZLAVSP multiplies either by U^T or D * U^T !> (or L^T or D * L^T ). !>
!> UPLO - CHARACTER*1 !> On entry, UPLO specifies whether the triangular matrix !> stored in A is upper or lower triangular. !> UPLO = 'U' or 'u' The matrix is upper triangular. !> UPLO = 'L' or 'l' The matrix is lower triangular. !> Unchanged on exit. !> !> TRANS - CHARACTER*1 !> On entry, TRANS specifies the operation to be performed as !> follows: !> TRANS = 'N' or 'n' x := A*x. !> TRANS = 'T' or 't' x := A^T*x. !> Unchanged on exit. !> !> DIAG - CHARACTER*1 !> On entry, DIAG specifies whether the diagonal blocks are !> assumed to be unit matrices, as follows: !> DIAG = 'U' or 'u' Diagonal blocks are unit matrices. !> DIAG = 'N' or 'n' Diagonal blocks are non-unit. !> Unchanged on exit. !> !> N - INTEGER !> On entry, N specifies the order of the matrix A. !> N must be at least zero. !> Unchanged on exit. !> !> NRHS - INTEGER !> On entry, NRHS specifies the number of right hand sides, !> i.e., the number of vectors x to be multiplied by A. !> NRHS must be at least zero. !> Unchanged on exit. !> !> A - COMPLEX*16 array, dimension( N*(N+1)/2 ) !> On entry, A contains a block diagonal matrix and the !> multipliers of the transformations used to obtain it, !> stored as a packed triangular matrix. !> Unchanged on exit. !> !> IPIV - INTEGER array, dimension( N ) !> On entry, IPIV contains the vector of pivot indices as !> determined by ZSPTRF. !> If IPIV( K ) = K, no interchange was done. !> If IPIV( K ) <> K but IPIV( K ) > 0, then row K was inter- !> changed with row IPIV( K ) and a 1 x 1 pivot block was used. !> If IPIV( K ) < 0 and UPLO = 'U', then row K-1 was exchanged !> with row | IPIV( K ) | and a 2 x 2 pivot block was used. !> If IPIV( K ) < 0 and UPLO = 'L', then row K+1 was exchanged !> with row | IPIV( K ) | and a 2 x 2 pivot block was used. !> !> B - COMPLEX*16 array, dimension( LDB, NRHS ) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !> !> LDB - INTEGER !> On entry, LDB contains the leading dimension of B as !> declared in the calling program. LDB must be at least !> max( 1, N ). !> Unchanged on exit. !> !> INFO - INTEGER !> INFO is the error flag. !> On exit, a value of 0 indicates a successful exit. !> A negative value, say -K, indicates that the K-th argument !> has an illegal value. !>
Definition at line 129 of file zlavsp.f.
| subroutine zlavsy | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
ZLAVSY
!> !> ZLAVSY performs one of the matrix-vector operations !> x := A*x or x := A'*x, !> where x is an N element vector and A is one of the factors !> from the block U*D*U' or L*D*L' factorization computed by ZSYTRF. !> !> If TRANS = 'N', multiplies by U or U * D (or L or L * D) !> If TRANS = 'T', multiplies by U' or D * U' (or L' or D * L') !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the factor stored in A is upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation to be performed: !> = 'N': x := A*x !> = 'T': x := A'*x !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the diagonal blocks are unit !> matrices. If the diagonal blocks are assumed to be unit, !> then A = U or A = L, otherwise A = U*D or A = L*D. !> = 'U': Diagonal blocks are assumed to be unit matrices. !> = 'N': Diagonal blocks are assumed to be non-unit matrices. !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of vectors !> x to be multiplied by A. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by ZSYTRF. !> Stored as a 2-D triangular matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D, !> as determined by ZSYTRF. !> !> If UPLO = 'U': !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> (If IPIV( k ) = k, no interchange was done). !> !> If IPIV(k) = IPIV(k-1) < 0, then rows and !> columns k-1 and -IPIV(k) were interchanged, !> D(k-1:k,k-1:k) is a 2-by-2 diagonal block. !> !> If UPLO = 'L': !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> (If IPIV( k ) = k, no interchange was done). !> !> If IPIV(k) = IPIV(k+1) < 0, then rows and !> columns k+1 and -IPIV(k) were interchanged, !> D(k:k+1,k:k+1) is a 2-by-2 diagonal block. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 151 of file zlavsy.f.
| subroutine zlavsy_rook | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
ZLAVSY_ROOK
!> !> ZLAVSY_ROOK performs one of the matrix-vector operations !> x := A*x or x := A'*x, !> where x is an N element vector and A is one of the factors !> from the block U*D*U' or L*D*L' factorization computed by ZSYTRF_ROOK. !> !> If TRANS = 'N', multiplies by U or U * D (or L or L * D) !> If TRANS = 'T', multiplies by U' or D * U' (or L' or D * L') !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the factor stored in A is upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation to be performed: !> = 'N': x := A*x !> = 'T': x := A'*x !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the diagonal blocks are unit !> matrices. If the diagonal blocks are assumed to be unit, !> then A = U or A = L, otherwise A = U*D or A = L*D. !> = 'U': Diagonal blocks are assumed to be unit matrices. !> = 'N': Diagonal blocks are assumed to be non-unit matrices. !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of vectors !> x to be multiplied by A. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by ZSYTRF_ROOK. !> Stored as a 2-D triangular matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D, !> as determined by ZSYTRF_ROOK. !> !> If UPLO = 'U': !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> (If IPIV( k ) = k, no interchange was done). !> !> If IPIV(k) < 0 and IPIV(k-1) < 0, then rows and !> columns k and -IPIV(k) were interchanged and rows and !> columns k-1 and -IPIV(k-1) were inerchaged, !> D(k-1:k,k-1:k) is a 2-by-2 diagonal block. !> !> If UPLO = 'L': !> If IPIV(k) > 0, then rows and columns k and IPIV(k) !> were interchanged and D(k,k) is a 1-by-1 diagonal block. !> (If IPIV( k ) = k, no interchange was done). !> !> If IPIV(k) < 0 and IPIV(k+1) < 0, then rows and !> columns k and -IPIV(k) were interchanged and rows and !> columns k+1 and -IPIV(k+1) were inerchaged, !> D(k:k+1,k:k+1) is a 2-by-2 diagonal block. !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 153 of file zlavsy_rook.f.
| subroutine zlqt01 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZLQT01
!> !> ZLQT01 tests ZGELQF, which computes the LQ factorization of an m-by-n !> matrix A, and partially tests ZUNGLQ which forms the n-by-n !> orthogonal matrix Q. !> !> ZLQT01 compares L with A*Q', and checks that Q is orthogonal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the LQ factorization of A, as returned by ZGELQF. !> See ZGELQF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> The n-by-n orthogonal matrix Q. !> |
| [out] | L | !> L is COMPLEX*16 array, dimension (LDA,max(M,N)) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and L. !> LDA >= max(M,N). !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by ZGELQF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(M,N)) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( L - A*Q' ) / ( N * norm(A) * EPS ) !> RESULT(2) = norm( I - Q*Q' ) / ( N * EPS ) !> |
Definition at line 124 of file zlqt01.f.
| subroutine zlqt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZLQT02
!> !> ZLQT02 tests ZUNGLQ, which generates an m-by-n matrix Q with !> orthonornmal rows that is defined as the product of k elementary !> reflectors. !> !> Given the LQ factorization of an m-by-n matrix A, ZLQT02 generates !> the orthogonal matrix Q defined by the factorization of the first k !> rows of A; it compares L(1:k,1:m) with A(1:k,1:n)*Q(1:m,1:n)', and !> checks that the rows of Q are orthonormal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix Q to be generated. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix Q to be generated. !> N >= M >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> matrix Q. M >= K >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by ZLQT01. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the LQ factorization of A, as returned by ZGELQF. !> See ZGELQF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | L | !> L is COMPLEX*16 array, dimension (LDA,M) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and L. LDA >= N. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (M) !> The scalar factors of the elementary reflectors corresponding !> to the LQ factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( L - A*Q' ) / ( N * norm(A) * EPS ) !> RESULT(2) = norm( I - Q*Q' ) / ( N * EPS ) !> |
Definition at line 133 of file zlqt02.f.
| subroutine zlqt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | c, | ||
| complex*16, dimension( lda, * ) | cc, | ||
| complex*16, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZLQT03
!> !> ZLQT03 tests ZUNMLQ, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> ZLQT03 compares the results of a call to ZUNMLQ with the results of !> forming Q explicitly by a call to ZUNGLQ and then performing matrix !> multiplication by a call to ZGEMM. !>
| [in] | M | !> M is INTEGER !> The number of rows or columns of the matrix C; C is n-by-m if !> Q is applied from the left, or m-by-n if Q is applied from !> the right. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The order of the orthogonal matrix Q. N >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> orthogonal matrix Q. N >= K >= 0. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the LQ factorization of an m-by-n matrix, as !> returned by ZGELQF. See CGELQF for further details. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | CC | !> CC is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the LQ factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of WORK. LWORK must be at least M, and should be !> M*NB, where NB is the blocksize for this environment. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (4) !> The test ratios compare two techniques for multiplying a !> random matrix C by an n-by-n orthogonal matrix Q. !> RESULT(1) = norm( Q*C - Q*C ) / ( N * norm(C) * EPS ) !> RESULT(2) = norm( C*Q - C*Q ) / ( N * norm(C) * EPS ) !> RESULT(3) = norm( Q'*C - Q'*C )/ ( N * norm(C) * EPS ) !> RESULT(4) = norm( C*Q' - C*Q' )/ ( N * norm(C) * EPS ) !> |
Definition at line 134 of file zlqt03.f.
| subroutine zpbt01 | ( | character | uplo, |
| integer | n, | ||
| integer | kd, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPBT01
!> !> ZPBT01 reconstructs a Hermitian positive definite band matrix A from !> its L*L' or U'*U factorization and computes the residual !> norm( L*L' - A ) / ( N * norm(A) * EPS ) or !> norm( U'*U - A ) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon, L' is the conjugate transpose of !> L, and U' is the conjugate transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of super-diagonals of the matrix A if UPLO = 'U', !> or the number of sub-diagonals if UPLO = 'L'. KD >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian band matrix A. If UPLO = 'U', the !> upper triangular part of A is stored as a band matrix; if !> UPLO = 'L', the lower triangular part of A is stored. The !> columns of the appropriate triangle are stored in the columns !> of A and the diagonals of the triangle are stored in the rows !> of A. See ZPBTRF for further details. !> |
| [in] | LDA | !> LDA is INTEGER. !> The leading dimension of the array A. LDA >= max(1,KD+1). !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the factor !> L or U from the L*L' or U'*U factorization in band storage !> format, as computed by ZPBTRF. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. !> LDAFAC >= max(1,KD+1). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U'*U - A) / ( N * norm(A) * EPS ) !> |
Definition at line 118 of file zpbt01.f.
| subroutine zpbt02 | ( | character | uplo, |
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPBT02
!> !> ZPBT02 computes the residual for a solution of a Hermitian banded !> system of equations A*x = b: !> RESID = norm( B - A*X ) / ( norm(A) * norm(X) * EPS) !> where EPS is the machine precision. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of super-diagonals of the matrix A if UPLO = 'U', !> or the number of sub-diagonals if UPLO = 'L'. KD >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian band matrix A. If UPLO = 'U', the !> upper triangular part of A is stored as a band matrix; if !> UPLO = 'L', the lower triangular part of A is stored. The !> columns of the appropriate triangle are stored in the columns !> of A and the diagonals of the triangle are stored in the rows !> of A. See ZPBTRF for further details. !> |
| [in] | LDA | !> LDA is INTEGER. !> The leading dimension of the array A. LDA >= max(1,KD+1). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 134 of file zpbt02.f.
| subroutine zpbt05 | ( | character | uplo, |
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZPBT05
!> !> ZPBT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> Hermitian band matrix. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( NZ*EPS + (*) ), where !> (*) = NZ*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !> and NZ = max. number of nonzeros in any row of A, plus 1 !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of super-diagonals of the matrix A if UPLO = 'U', !> or the number of sub-diagonals if UPLO = 'L'. KD >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | AB | !> AB is COMPLEX*16 array, dimension (LDAB,N) !> The upper or lower triangle of the Hermitian band matrix A, !> stored in the first KD+1 rows of the array. The j-th column !> of A is stored in the j-th column of the array AB as follows: !> if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; !> if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KD+1. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( NZ*EPS + (*) ) !> |
Definition at line 169 of file zpbt05.f.
| subroutine zpot01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPOT01
!> !> ZPOT01 reconstructs a Hermitian positive definite matrix A from !> its L*L' or U'*U factorization and computes the residual !> norm( L*L' - A ) / ( N * norm(A) * EPS ) or !> norm( U'*U - A ) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon, L' is the conjugate transpose of L, !> and U' is the conjugate transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in,out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> On entry, the factor L or U from the L * L**H or U**H * U !> factorization of A. !> Overwritten with the reconstructed matrix, and then with !> the difference L * L**H - A (or U**H * U - A). !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L * L**H - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U**H * U - A) / ( N * norm(A) * EPS ) !> |
Definition at line 105 of file zpot01.f.
| subroutine zpot02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPOT02
!> !> ZPOT02 computes the residual for the solution of a Hermitian system !> of linear equations A*x = b: !> !> RESID = norm(B - A*X) / ( norm(A) * norm(X) * EPS ), !> !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 125 of file zpot02.f.
| subroutine zpot03 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| complex*16, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
ZPOT03
!> !> ZPOT03 computes the residual for a Hermitian matrix times its !> inverse: !> norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in,out] | AINV | !> AINV is COMPLEX*16 array, dimension (LDAINV,N) !> On entry, the inverse of the matrix A, stored as a Hermitian !> matrix in the same format as A. !> In this version, AINV is expanded into a full matrix and !> multiplied by A, so the opposing triangle of AINV will be !> changed; i.e., if the upper triangular part of AINV is !> stored, the lower triangular part will be used as work space. !> |
| [in] | LDAINV | !> LDAINV is INTEGER !> The leading dimension of the array AINV. LDAINV >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LDWORK,N) !> |
| [in] | LDWORK | !> LDWORK is INTEGER !> The leading dimension of the array WORK. LDWORK >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of A, computed as !> ( 1/norm(A) ) / norm(AINV). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(I - A*AINV) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 124 of file zpot03.f.
| subroutine zpot05 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZPOT05
!> !> ZPOT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> Hermitian n by n matrix. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( (n+1)*EPS + (*) ), where !> (*) = (n+1)*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The Hermitian matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of A contains the upper triangular part !> of the matrix A, and the strictly lower triangular part of A !> is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of A contains the lower triangular part of !> the matrix A, and the strictly upper triangular part of A is !> not referenced. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( (n+1)*EPS + (*) ) !> |
Definition at line 163 of file zpot05.f.
| subroutine zpot06 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPOT06
!> !> ZPOT06 computes the residual for a solution of a system of linear !> equations A*x = b : !> RESID = norm(B - A*X,inf) / ( norm(A,inf) * norm(X,inf) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original M x N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. If TRANS = 'N', !> LDX >= max(1,N); if TRANS = 'T' or 'C', LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. IF TRANS = 'N', !> LDB >= max(1,M); if TRANS = 'T' or 'C', LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 125 of file zpot06.f.
| subroutine zppt01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPPT01
!> !> ZPPT01 reconstructs a Hermitian positive definite packed matrix A !> from its L*L' or U'*U factorization and computes the residual !> norm( L*L' - A ) / ( N * norm(A) * EPS ) or !> norm( U'*U - A ) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon, L' is the conjugate transpose of !> L, and U' is the conjugate transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original Hermitian matrix A, stored as a packed !> triangular matrix. !> |
| [in,out] | AFAC | !> AFAC is COMPLEX*16 array, dimension (N*(N+1)/2) !> On entry, the factor L or U from the L*L' or U'*U !> factorization of A, stored as a packed triangular matrix. !> Overwritten with the reconstructed matrix, and then with the !> difference L*L' - A (or U'*U - A). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U'*U - A) / ( N * norm(A) * EPS ) !> |
Definition at line 94 of file zppt01.f.
| subroutine zppt02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZPPT02
!> !> ZPPT02 computes the residual in the solution of a Hermitian system !> of linear equations A*x = b when packed storage is used for the !> coefficient matrix. The ratio computed is !> !> RESID = norm(B - A*X) / ( norm(A) * norm(X) * EPS), !> !> where EPS is the machine precision. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original Hermitian matrix A, stored as a packed !> triangular matrix. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 121 of file zppt02.f.
| subroutine zppt03 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
ZPPT03
!> !> ZPPT03 computes the residual for a Hermitian packed matrix times its !> inverse: !> norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original Hermitian matrix A, stored as a packed !> triangular matrix. !> |
| [in] | AINV | !> AINV is COMPLEX*16 array, dimension (N*(N+1)/2) !> The (Hermitian) inverse of the matrix A, stored as a packed !> triangular matrix. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LDWORK,N) !> |
| [in] | LDWORK | !> LDWORK is INTEGER !> The leading dimension of the array WORK. LDWORK >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of A, computed as !> ( 1/norm(A) ) / norm(AINV). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(I - A*AINV) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 108 of file zppt03.f.
| subroutine zppt05 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | ap, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZPPT05
!> !> ZPPT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> Hermitian matrix in packed storage format. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( (n+1)*EPS + (*) ), where !> (*) = (n+1)*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The upper or lower triangle of the Hermitian matrix A, packed !> columnwise in a linear array. The j-th column of A is stored !> in the array AP as follows: !> if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( (n+1)*EPS + (*) ) !> |
Definition at line 155 of file zppt05.f.
| subroutine zpst01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| complex*16, dimension( ldperm, * ) | perm, | ||
| integer | ldperm, | ||
| integer, dimension( * ) | piv, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid, | ||
| integer | rank ) |
ZPST01
!> !> ZPST01 reconstructs an Hermitian positive semidefinite matrix A !> from its L or U factors and the permutation matrix P and computes !> the residual !> norm( P*L*L'*P' - A ) / ( N * norm(A) * EPS ) or !> norm( P*U'*U*P' - A ) / ( N * norm(A) * EPS ), !> where EPS is the machine epsilon, L' is the conjugate transpose of L, !> and U' is the conjugate transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original Hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factor L or U from the L*L' or U'*U !> factorization of A. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [out] | PERM | !> PERM is COMPLEX*16 array, dimension (LDPERM,N) !> Overwritten with the reconstructed matrix, and then with the !> difference P*L*L'*P' - A (or P*U'*U*P' - A) !> |
| [in] | LDPERM | !> LDPERM is INTEGER !> The leading dimension of the array PERM. !> LDAPERM >= max(1,N). !> |
| [in] | PIV | !> PIV is INTEGER array, dimension (N) !> PIV is such that the nonzero entries are !> P( PIV( K ), K ) = 1. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U'*U - A) / ( N * norm(A) * EPS ) !> |
| [in] | RANK | !> RANK is INTEGER !> number of nonzero singular values of A. !> |
Definition at line 134 of file zpst01.f.
| subroutine zptt01 | ( | integer | n, |
| double precision, dimension( * ) | d, | ||
| complex*16, dimension( * ) | e, | ||
| double precision, dimension( * ) | df, | ||
| complex*16, dimension( * ) | ef, | ||
| complex*16, dimension( * ) | work, | ||
| double precision | resid ) |
ZPTT01
!> !> ZPTT01 reconstructs a tridiagonal matrix A from its L*D*L' !> factorization and computes the residual !> norm(L*D*L' - A) / ( n * norm(A) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | N | !> N is INTEGTER !> The order of the matrix A. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the tridiagonal matrix A. !> |
| [in] | E | !> E is COMPLEX*16 array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix A. !> |
| [in] | DF | !> DF is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the factor L from the L*D*L' !> factorization of A. !> |
| [in] | EF | !> EF is COMPLEX*16 array, dimension (N-1) !> The (n-1) subdiagonal elements of the factor L from the !> L*D*L' factorization of A. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (2*N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(L*D*L' - A) / (n * norm(A) * EPS) !> |
Definition at line 91 of file zptt01.f.
| subroutine zptt02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | d, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision | resid ) |
ZPTT02
!> !> ZPTT02 computes the residual for the solution to a symmetric !> tridiagonal system of equations: !> RESID = norm(B - A*X) / (norm(A) * norm(X) * EPS), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the superdiagonal or the subdiagonal of the !> tridiagonal matrix A is stored. !> = 'U': E is the superdiagonal of A !> = 'L': E is the subdiagonal of A !> |
| [in] | N | !> N is INTEGTER !> The order of the matrix A. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices B and X. NRHS >= 0. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the tridiagonal matrix A. !> |
| [in] | E | !> E is COMPLEX*16 array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The n by nrhs matrix of solution vectors X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the n by nrhs matrix of right hand side vectors B. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(B - A*X) / (norm(A) * norm(X) * EPS) !> |
Definition at line 114 of file zptt02.f.
| subroutine zptt05 | ( | integer | n, |
| integer | nrhs, | ||
| double precision, dimension( * ) | d, | ||
| complex*16, dimension( * ) | e, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZPTT05
!> !> ZPTT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> Hermitian tridiagonal matrix of order n. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( NZ*EPS + (*) ), where !> (*) = NZ*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !> and NZ = max. number of nonzeros in any row of A, plus 1 !>
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the tridiagonal matrix A. !> |
| [in] | E | !> E is COMPLEX*16 array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix A. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( NZ*EPS + (*) ) !> |
Definition at line 148 of file zptt05.f.
| subroutine zqlt01 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQLT01
!> !> ZQLT01 tests ZGEQLF, which computes the QL factorization of an m-by-n !> matrix A, and partially tests ZUNGQL which forms the m-by-m !> orthogonal matrix Q. !> !> ZQLT01 compares L with Q'*A, and checks that Q is orthogonal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QL factorization of A, as returned by ZGEQLF. !> See ZGEQLF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,M) !> The m-by-m orthogonal matrix Q. !> |
| [out] | L | !> L is COMPLEX*16 array, dimension (LDA,max(M,N)) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and R. !> LDA >= max(M,N). !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by ZGEQLF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( L - Q'*A ) / ( M * norm(A) * EPS ) !> RESULT(2) = norm( I - Q'*Q ) / ( M * EPS ) !> |
Definition at line 124 of file zqlt01.f.
| subroutine zqlt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQLT02
!> !> ZQLT02 tests ZUNGQL, which generates an m-by-n matrix Q with !> orthonornmal columns that is defined as the product of k elementary !> reflectors. !> !> Given the QL factorization of an m-by-n matrix A, ZQLT02 generates !> the orthogonal matrix Q defined by the factorization of the last k !> columns of A; it compares L(m-n+1:m,n-k+1:n) with !> Q(1:m,m-n+1:m)'*A(1:m,n-k+1:n), and checks that the columns of Q are !> orthonormal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix Q to be generated. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix Q to be generated. !> M >= N >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> matrix Q. N >= K >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by ZQLT01. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QL factorization of A, as returned by ZGEQLF. !> See ZGEQLF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | L | !> L is COMPLEX*16 array, dimension (LDA,N) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and L. LDA >= M. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (N) !> The scalar factors of the elementary reflectors corresponding !> to the QL factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( L - Q'*A ) / ( M * norm(A) * EPS ) !> RESULT(2) = norm( I - Q'*Q ) / ( M * EPS ) !> |
Definition at line 134 of file zqlt02.f.
| subroutine zqlt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | c, | ||
| complex*16, dimension( lda, * ) | cc, | ||
| complex*16, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQLT03
!> !> ZQLT03 tests ZUNMQL, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> ZQLT03 compares the results of a call to ZUNMQL with the results of !> forming Q explicitly by a call to ZUNGQL and then performing matrix !> multiplication by a call to ZGEMM. !>
| [in] | M | !> M is INTEGER !> The order of the orthogonal matrix Q. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of rows or columns of the matrix C; C is m-by-n if !> Q is applied from the left, or n-by-m if Q is applied from !> the right. N >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> orthogonal matrix Q. M >= K >= 0. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QL factorization of an m-by-n matrix, as !> returned by ZGEQLF. See CGEQLF for further details. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | CC | !> CC is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,M) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the QL factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of WORK. LWORK must be at least M, and should be !> M*NB, where NB is the blocksize for this environment. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (4) !> The test ratios compare two techniques for multiplying a !> random matrix C by an m-by-m orthogonal matrix Q. !> RESULT(1) = norm( Q*C - Q*C ) / ( M * norm(C) * EPS ) !> RESULT(2) = norm( C*Q - C*Q ) / ( M * norm(C) * EPS ) !> RESULT(3) = norm( Q'*C - Q'*C )/ ( M * norm(C) * EPS ) !> RESULT(4) = norm( C*Q' - C*Q' )/ ( M * norm(C) * EPS ) !> |
Definition at line 134 of file zqlt03.f.
| double precision function zqpt01 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| integer, dimension( * ) | jpvt, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZQPT01
!> !> ZQPT01 tests the QR-factorization with pivoting of a matrix A. The !> array AF contains the (possibly partial) QR-factorization of A, where !> the upper triangle of AF(1:k,1:k) is a partial triangular factor, !> the entries below the diagonal in the first k columns are the !> Householder vectors, and the rest of AF contains a partially updated !> matrix. !> !> This function returns ||A*P - Q*R||/(||norm(A)||*eps*M) !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrices A and AF. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrices A and AF. !> |
| [in] | K | !> K is INTEGER !> The number of columns of AF that have been reduced !> to upper triangular form. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA, N) !> The original matrix A. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> The (possibly partial) output of ZGEQPF. The upper triangle !> of AF(1:k,1:k) is a partial triangular factor, the entries !> below the diagonal in the first k columns are the Householder !> vectors, and the rest of AF contains a partially updated !> matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A and AF. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (K) !> Details of the Householder transformations as returned by !> ZGEQPF. !> |
| [in] | JPVT | !> JPVT is INTEGER array, dimension (N) !> Pivot information as returned by ZGEQPF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= M*N+N. !> |
Definition at line 118 of file zqpt01.f.
| subroutine zqrt01 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQRT01
!> !> ZQRT01 tests ZGEQRF, which computes the QR factorization of an m-by-n !> matrix A, and partially tests ZUNGQR which forms the m-by-m !> orthogonal matrix Q. !> !> ZQRT01 compares R with Q'*A, and checks that Q is orthogonal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QR factorization of A, as returned by ZGEQRF. !> See ZGEQRF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,M) !> The m-by-m orthogonal matrix Q. !> |
| [out] | R | !> R is COMPLEX*16 array, dimension (LDA,max(M,N)) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and R. !> LDA >= max(M,N). !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by ZGEQRF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( R - Q'*A ) / ( M * norm(A) * EPS ) !> RESULT(2) = norm( I - Q'*Q ) / ( M * EPS ) !> |
Definition at line 124 of file zqrt01.f.
| subroutine zqrt01p | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQRT01P
!> !> ZQRT01P tests ZGEQRFP, which computes the QR factorization of an m-by-n !> matrix A, and partially tests ZUNGQR which forms the m-by-m !> orthogonal matrix Q. !> !> ZQRT01P compares R with Q'*A, and checks that Q is orthogonal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QR factorization of A, as returned by ZGEQRFP. !> See ZGEQRFP for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,M) !> The m-by-m orthogonal matrix Q. !> |
| [out] | R | !> R is COMPLEX*16 array, dimension (LDA,max(M,N)) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and R. !> LDA >= max(M,N). !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by ZGEQRFP. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( R - Q'*A ) / ( M * norm(A) * EPS ) !> RESULT(2) = norm( I - Q'*Q ) / ( M * EPS ) !> |
Definition at line 124 of file zqrt01p.f.
| subroutine zqrt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQRT02
!> !> ZQRT02 tests ZUNGQR, which generates an m-by-n matrix Q with !> orthonornmal columns that is defined as the product of k elementary !> reflectors. !> !> Given the QR factorization of an m-by-n matrix A, ZQRT02 generates !> the orthogonal matrix Q defined by the factorization of the first k !> columns of A; it compares R(1:n,1:k) with Q(1:m,1:n)'*A(1:m,1:k), !> and checks that the columns of Q are orthonormal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix Q to be generated. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix Q to be generated. !> M >= N >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> matrix Q. N >= K >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by ZQRT01. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QR factorization of A, as returned by ZGEQRF. !> See ZGEQRF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | R | !> R is COMPLEX*16 array, dimension (LDA,N) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and R. LDA >= M. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (N) !> The scalar factors of the elementary reflectors corresponding !> to the QR factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( R - Q'*A ) / ( M * norm(A) * EPS ) !> RESULT(2) = norm( I - Q'*Q ) / ( M * EPS ) !> |
Definition at line 133 of file zqrt02.f.
| subroutine zqrt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | c, | ||
| complex*16, dimension( lda, * ) | cc, | ||
| complex*16, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZQRT03
!> !> ZQRT03 tests ZUNMQR, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> ZQRT03 compares the results of a call to ZUNMQR with the results of !> forming Q explicitly by a call to ZUNGQR and then performing matrix !> multiplication by a call to ZGEMM. !>
| [in] | M | !> M is INTEGER !> The order of the orthogonal matrix Q. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of rows or columns of the matrix C; C is m-by-n if !> Q is applied from the left, or n-by-m if Q is applied from !> the right. N >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> orthogonal matrix Q. M >= K >= 0. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QR factorization of an m-by-n matrix, as !> returned by ZGEQRF. See ZGEQRF for further details. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | CC | !> CC is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,M) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the QR factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of WORK. LWORK must be at least M, and should be !> M*NB, where NB is the blocksize for this environment. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (4) !> The test ratios compare two techniques for multiplying a !> random matrix C by an m-by-m orthogonal matrix Q. !> RESULT(1) = norm( Q*C - Q*C ) / ( M * norm(C) * EPS ) !> RESULT(2) = norm( C*Q - C*Q ) / ( M * norm(C) * EPS ) !> RESULT(3) = norm( Q'*C - Q'*C )/ ( M * norm(C) * EPS ) !> RESULT(4) = norm( C*Q' - C*Q' )/ ( M * norm(C) * EPS ) !> |
Definition at line 134 of file zqrt03.f.
| subroutine zqrt04 | ( | integer | m, |
| integer | n, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
ZQRT04
!> !> ZQRT04 tests ZGEQRT and ZGEMQRT. !>
| [in] | M | !> M is INTEGER !> Number of rows in test matrix. !> |
| [in] | N | !> N is INTEGER !> Number of columns in test matrix. !> |
| [in] | NB | !> NB is INTEGER !> Block size of test matrix. NB <= Min(M,N). !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (6) !> Results of each of the six tests below. !> !> RESULT(1) = | A - Q R | !> RESULT(2) = | I - Q^H Q | !> RESULT(3) = | Q C - Q C | !> RESULT(4) = | Q^H C - Q^H C | !> RESULT(5) = | C Q - C Q | !> RESULT(6) = | C Q^H - C Q^H | !> |
Definition at line 72 of file zqrt04.f.
| subroutine zqrt05 | ( | integer | m, |
| integer | n, | ||
| integer | l, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
ZQRT05
!> !> ZQRT05 tests ZTPQRT and ZTPMQRT. !>
| [in] | M | !> M is INTEGER !> Number of rows in lower part of the test matrix. !> |
| [in] | N | !> N is INTEGER !> Number of columns in test matrix. !> |
| [in] | L | !> L is INTEGER !> The number of rows of the upper trapezoidal part the !> lower test matrix. 0 <= L <= M. !> |
| [in] | NB | !> NB is INTEGER !> Block size of test matrix. NB <= N. !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (6) !> Results of each of the six tests below. !> !> RESULT(1) = | A - Q R | !> RESULT(2) = | I - Q^H Q | !> RESULT(3) = | Q C - Q C | !> RESULT(4) = | Q^H C - Q^H C | !> RESULT(5) = | C Q - C Q | !> RESULT(6) = | C Q^H - C Q^H | !> |
Definition at line 79 of file zqrt05.f.
| double precision function zqrt11 | ( | integer | m, |
| integer | k, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZQRT11
!> !> ZQRT11 computes the test ratio !> !> || Q'*Q - I || / (eps * m) !> !> where the orthogonal matrix Q is represented as a product of !> elementary transformations. Each transformation has the form !> !> H(k) = I - tau(k) v(k) v(k)' !> !> where tau(k) is stored in TAU(k) and v(k) is an m-vector of the form !> [ 0 ... 0 1 x(k) ]', where x(k) is a vector of length m-k stored !> in A(k+1:m,k). !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. !> |
| [in] | K | !> K is INTEGER !> The number of columns of A whose subdiagonal entries !> contain information about orthogonal transformations. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,K) !> The (possibly partial) output of a QR reduction routine. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (K) !> The scaling factors tau for the elementary transformations as !> computed by the QR factorization routine. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= M*M + M. !> |
Definition at line 97 of file zqrt11.f.
| double precision function zqrt12 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | s, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork ) |
ZQRT12
!> !> ZQRT12 computes the singular values `svlues' of the upper trapezoid !> of A(1:M,1:N) and returns the ratio !> !> || s - svlues||/(||svlues||*eps*max(M,N)) !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The M-by-N matrix A. Only the upper trapezoid is referenced. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. !> |
| [in] | S | !> S is DOUBLE PRECISION array, dimension (min(M,N)) !> The singular values of the matrix A. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= M*N + 2*min(M,N) + !> max(M,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*min(M,N)) !> |
Definition at line 95 of file zqrt12.f.
| subroutine zqrt13 | ( | integer | scale, |
| integer | m, | ||
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision | norma, | ||
| integer, dimension( 4 ) | iseed ) |
ZQRT13
!> !> ZQRT13 generates a full-rank matrix that may be scaled to have large !> or small norm. !>
| [in] | SCALE | !> SCALE is INTEGER !> SCALE = 1: normally scaled matrix !> SCALE = 2: matrix scaled up !> SCALE = 3: matrix scaled down !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. !> |
| [in] | N | !> N is INTEGER !> The number of columns of A. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The M-by-N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. !> |
| [out] | NORMA | !> NORMA is DOUBLE PRECISION !> The one-norm of A. !> |
| [in,out] | ISEED | !> ISEED is integer array, dimension (4) !> Seed for random number generator !> |
Definition at line 90 of file zqrt13.f.
| double precision function zqrt14 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZQRT14
!> !> ZQRT14 checks whether X is in the row space of A or A'. It does so !> by scaling both X and A such that their norms are in the range !> [sqrt(eps), 1/sqrt(eps)], then computing a QR factorization of [A,X] !> (if TRANS = 'C') or an LQ factorization of [A',X]' (if TRANS = 'N'), !> and returning the norm of the trailing triangle, scaled by !> MAX(M,N,NRHS)*eps. !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> = 'N': No transpose, check for X in the row space of A !> = 'C': Conjugate transpose, check for X in row space of A'. !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of X. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The M-by-N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> If TRANS = 'N', the N-by-NRHS matrix X. !> IF TRANS = 'C', the M-by-NRHS matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> length of workspace array required !> If TRANS = 'N', LWORK >= (M+NRHS)*(N+2); !> if TRANS = 'C', LWORK >= (N+NRHS)*(M+2). !> |
Definition at line 114 of file zqrt14.f.
| subroutine zqrt15 | ( | integer | scale, |
| integer | rksel, | ||
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | s, | ||
| integer | rank, | ||
| double precision | norma, | ||
| double precision | normb, | ||
| integer, dimension( 4 ) | iseed, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZQRT15
!> !> ZQRT15 generates a matrix with full or deficient rank and of various !> norms. !>
| [in] | SCALE | !> SCALE is INTEGER !> SCALE = 1: normally scaled matrix !> SCALE = 2: matrix scaled up !> SCALE = 3: matrix scaled down !> |
| [in] | RKSEL | !> RKSEL is INTEGER !> RKSEL = 1: full rank matrix !> RKSEL = 2: rank-deficient matrix !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. !> |
| [in] | N | !> N is INTEGER !> The number of columns of A. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B. !> |
| [out] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The M-by-N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. !> |
| [out] | B | !> B is COMPLEX*16 array, dimension (LDB, NRHS) !> A matrix that is in the range space of matrix A. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension MIN(M,N) !> Singular values of A. !> |
| [out] | RANK | !> RANK is INTEGER !> number of nonzero singular values of A. !> |
| [out] | NORMA | !> NORMA is DOUBLE PRECISION !> one-norm norm of A. !> |
| [out] | NORMB | !> NORMB is DOUBLE PRECISION !> one-norm norm of B. !> |
| [in,out] | ISEED | !> ISEED is integer array, dimension (4) !> seed for random number generator. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> length of work space required. !> LWORK >= MAX(M+MIN(M,N),NRHS*MIN(M,N),2*N+M) !> |
Definition at line 147 of file zqrt15.f.
| subroutine zqrt16 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZQRT16
!> !> ZQRT16 computes the residual for a solution of a system of linear !> equations A*x = b or A'*x = b: !> RESID = norm(B - A*X) / ( max(m,n) * norm(A) * norm(X) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations: !> = 'N': A *x = b !> = 'T': A^T*x = b, where A^T is the transpose of A !> = 'C': A^H*x = b, where A^H is the conjugate transpose of A !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original M x N matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. If TRANS = 'N', !> LDX >= max(1,N); if TRANS = 'T' or 'C', LDX >= max(1,M). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. IF TRANS = 'N', !> LDB >= max(1,M); if TRANS = 'T' or 'C', LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( max(m,n) * norm(A) * norm(X) * EPS ). !> |
Definition at line 131 of file zqrt16.f.
| double precision function zqrt17 | ( | character | trans, |
| integer | iresid, | ||
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldb, * ) | c, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZQRT17
!> !> ZQRT17 computes the ratio !> !> norm(R**H * op(A)) / ( norm(A) * alpha * max(M,N,NRHS) * EPS ), !> !> where R = B - op(A)*X, op(A) is A or A**H, depending on TRANS, EPS !> is the machine epsilon, and !> !> alpha = norm(B) if IRESID = 1 (zero-residual problem) !> alpha = norm(R) if IRESID = 2 (otherwise). !> !> The norm used is the 1-norm. !>
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies whether or not the transpose of A is used. !> = 'N': No transpose, op(A) = A. !> = 'C': Conjugate transpose, op(A) = A**H. !> |
| [in] | IRESID | !> IRESID is INTEGER !> IRESID = 1 indicates zero-residual problem. !> IRESID = 2 indicates non-zero residual. !> |
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. !> If TRANS = 'N', the number of rows of the matrix B. !> If TRANS = 'C', the number of rows of the matrix X. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. !> If TRANS = 'N', the number of rows of the matrix X. !> If TRANS = 'C', the number of rows of the matrix B. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X and B. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> If TRANS = 'N', the n-by-nrhs matrix X. !> If TRANS = 'C', the m-by-nrhs matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. !> If TRANS = 'N', LDX >= N. !> If TRANS = 'C', LDX >= M. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> If TRANS = 'N', the m-by-nrhs matrix B. !> If TRANS = 'C', the n-by-nrhs matrix B. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. !> If TRANS = 'N', LDB >= M. !> If TRANS = 'C', LDB >= N. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDB,NRHS) !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= NRHS*(M+N). !> |
Definition at line 151 of file zqrt17.f.
| subroutine zrqt01 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZRQT01
!> !> ZRQT01 tests ZGERQF, which computes the RQ factorization of an m-by-n !> matrix A, and partially tests ZUNGRQ which forms the n-by-n !> orthogonal matrix Q. !> !> ZRQT01 compares R with A*Q', and checks that Q is orthogonal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix A. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the RQ factorization of A, as returned by ZGERQF. !> See ZGERQF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> The n-by-n orthogonal matrix Q. !> |
| [out] | R | !> R is COMPLEX*16 array, dimension (LDA,max(M,N)) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and L. !> LDA >= max(M,N). !> |
| [out] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by ZGERQF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (max(M,N)) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( R - A*Q' ) / ( N * norm(A) * EPS ) !> RESULT(2) = norm( I - Q*Q' ) / ( N * EPS ) !> |
Definition at line 124 of file zrqt01.f.
| subroutine zrqt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | q, | ||
| complex*16, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZRQT02
!> !> ZRQT02 tests ZUNGRQ, which generates an m-by-n matrix Q with !> orthonornmal rows that is defined as the product of k elementary !> reflectors. !> !> Given the RQ factorization of an m-by-n matrix A, ZRQT02 generates !> the orthogonal matrix Q defined by the factorization of the last k !> rows of A; it compares R(m-k+1:m,n-m+1:n) with !> A(m-k+1:m,1:n)*Q(n-m+1:n,1:n)', and checks that the rows of Q are !> orthonormal. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix Q to be generated. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix Q to be generated. !> N >= M >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> matrix Q. M >= K >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by ZRQT01. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the RQ factorization of A, as returned by ZGERQF. !> See ZGERQF for further details. !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | R | !> R is COMPLEX*16 array, dimension (LDA,M) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A, AF, Q and L. LDA >= N. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (M) !> The scalar factors of the elementary reflectors corresponding !> to the RQ factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The dimension of the array WORK. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (2) !> The test ratios: !> RESULT(1) = norm( R - A*Q' ) / ( N * norm(A) * EPS ) !> RESULT(2) = norm( I - Q*Q' ) / ( N * EPS ) !> |
Definition at line 134 of file zrqt02.f.
| subroutine zrqt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| complex*16, dimension( lda, * ) | af, | ||
| complex*16, dimension( lda, * ) | c, | ||
| complex*16, dimension( lda, * ) | cc, | ||
| complex*16, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
ZRQT03
!> !> ZRQT03 tests ZUNMRQ, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> ZRQT03 compares the results of a call to ZUNMRQ with the results of !> forming Q explicitly by a call to ZUNGRQ and then performing matrix !> multiplication by a call to ZGEMM. !>
| [in] | M | !> M is INTEGER !> The number of rows or columns of the matrix C; C is n-by-m if !> Q is applied from the left, or m-by-n if Q is applied from !> the right. M >= 0. !> |
| [in] | N | !> N is INTEGER !> The order of the orthogonal matrix Q. N >= 0. !> |
| [in] | K | !> K is INTEGER !> The number of elementary reflectors whose product defines the !> orthogonal matrix Q. N >= K >= 0. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the RQ factorization of an m-by-n matrix, as !> returned by ZGERQF. See CGERQF for further details. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | CC | !> CC is COMPLEX*16 array, dimension (LDA,N) !> |
| [out] | Q | !> Q is COMPLEX*16 array, dimension (LDA,N) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the RQ factorization in AF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of WORK. LWORK must be at least M, and should be !> M*NB, where NB is the blocksize for this environment. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (M) !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (4) !> The test ratios compare two techniques for multiplying a !> random matrix C by an n-by-n orthogonal matrix Q. !> RESULT(1) = norm( Q*C - Q*C ) / ( N * norm(C) * EPS ) !> RESULT(2) = norm( C*Q - C*Q ) / ( N * norm(C) * EPS ) !> RESULT(3) = norm( Q'*C - Q'*C )/ ( N * norm(C) * EPS ) !> RESULT(4) = norm( C*Q' - C*Q' )/ ( N * norm(C) * EPS ) !> |
Definition at line 134 of file zrqt03.f.
| double precision function zrzt01 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| complex*16, dimension( lda, * ) | af, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZRZT01
!> !> ZRZT01 returns !> || A - R*Q || / ( M * eps * ||A|| ) !> for an upper trapezoidal A that was factored with ZTZRZF. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrices A and AF. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrices A and AF. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original upper trapezoidal M by N matrix A. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> The output of ZTZRZF for input matrix A. !> The lower triangle is not referenced. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays A and AF. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (M) !> Details of the Householder transformations as returned by !> ZTZRZF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= m*n + m. !> |
Definition at line 96 of file zrzt01.f.
| double precision function zrzt02 | ( | integer | m, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | af, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | tau, | ||
| complex*16, dimension( lwork ) | work, | ||
| integer | lwork ) |
ZRZT02
!> !> ZRZT02 returns !> || I - Q'*Q || / ( M * eps) !> where the matrix Q is defined by the Householder transformations !> generated by ZTZRZF. !>
| [in] | M | !> M is INTEGER !> The number of rows of the matrix AF. !> |
| [in] | N | !> N is INTEGER !> The number of columns of the matrix AF. !> |
| [in] | AF | !> AF is COMPLEX*16 array, dimension (LDA,N) !> The output of ZTZRZF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array AF. !> |
| [in] | TAU | !> TAU is COMPLEX*16 array, dimension (M) !> Details of the Householder transformations as returned by !> ZTZRZF. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> Length of WORK array. LWORK >= N*N+N. !> |
Definition at line 89 of file zrzt02.f.
| subroutine zsbmv | ( | character | uplo, |
| integer | n, | ||
| integer | k, | ||
| complex*16 | alpha, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( * ) | x, | ||
| integer | incx, | ||
| complex*16 | beta, | ||
| complex*16, dimension( * ) | y, | ||
| integer | incy ) |
ZSBMV
!> !> ZSBMV performs the matrix-vector operation !> !> y := alpha*A*x + beta*y, !> !> where alpha and beta are scalars, x and y are n element vectors and !> A is an n by n symmetric band matrix, with k super-diagonals. !>
!> UPLO - CHARACTER*1 !> On entry, UPLO specifies whether the upper or lower !> triangular part of the band matrix A is being supplied as !> follows: !> !> UPLO = 'U' or 'u' The upper triangular part of A is !> being supplied. !> !> UPLO = 'L' or 'l' The lower triangular part of A is !> being supplied. !> !> Unchanged on exit. !> !> N - INTEGER !> On entry, N specifies the order of the matrix A. !> N must be at least zero. !> Unchanged on exit. !> !> K - INTEGER !> On entry, K specifies the number of super-diagonals of the !> matrix A. K must satisfy 0 .le. K. !> Unchanged on exit. !> !> ALPHA - COMPLEX*16 !> On entry, ALPHA specifies the scalar alpha. !> Unchanged on exit. !> !> A - COMPLEX*16 array, dimension( LDA, N ) !> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) !> by n part of the array A must contain the upper triangular !> band part of the symmetric matrix, supplied column by !> column, with the leading diagonal of the matrix in row !> ( k + 1 ) of the array, the first super-diagonal starting at !> position 2 in row k, and so on. The top left k by k triangle !> of the array A is not referenced. !> The following program segment will transfer the upper !> triangular part of a symmetric band matrix from conventional !> full matrix storage to band storage: !> !> DO 20, J = 1, N !> M = K + 1 - J !> DO 10, I = MAX( 1, J - K ), J !> A( M + I, J ) = matrix( I, J ) !> 10 CONTINUE !> 20 CONTINUE !> !> Before entry with UPLO = 'L' or 'l', the leading ( k + 1 ) !> by n part of the array A must contain the lower triangular !> band part of the symmetric matrix, supplied column by !> column, with the leading diagonal of the matrix in row 1 of !> the array, the first sub-diagonal starting at position 1 in !> row 2, and so on. The bottom right k by k triangle of the !> array A is not referenced. !> The following program segment will transfer the lower !> triangular part of a symmetric band matrix from conventional !> full matrix storage to band storage: !> !> DO 20, J = 1, N !> M = 1 - J !> DO 10, I = J, MIN( N, J + K ) !> A( M + I, J ) = matrix( I, J ) !> 10 CONTINUE !> 20 CONTINUE !> !> Unchanged on exit. !> !> LDA - INTEGER !> On entry, LDA specifies the first dimension of A as declared !> in the calling (sub) program. LDA must be at least !> ( k + 1 ). !> Unchanged on exit. !> !> X - COMPLEX*16 array, dimension at least !> ( 1 + ( N - 1 )*abs( INCX ) ). !> Before entry, the incremented array X must contain the !> vector x. !> Unchanged on exit. !> !> INCX - INTEGER !> On entry, INCX specifies the increment for the elements of !> X. INCX must not be zero. !> Unchanged on exit. !> !> BETA - COMPLEX*16 !> On entry, BETA specifies the scalar beta. !> Unchanged on exit. !> !> Y - COMPLEX*16 array, dimension at least !> ( 1 + ( N - 1 )*abs( INCY ) ). !> Before entry, the incremented array Y must contain the !> vector y. On exit, Y is overwritten by the updated vector y. !> !> INCY - INTEGER !> On entry, INCY specifies the increment for the elements of !> Y. INCY must not be zero. !> Unchanged on exit. !>
Definition at line 150 of file zsbmv.f.
| subroutine zspt01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | afac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSPT01
!> !> ZSPT01 reconstructs a symmetric indefinite packed matrix A from its !> diagonal pivoting factorization A = U*D*U' or A = L*D*L' and computes !> the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (N*(N+1)/2) !> The factored form of the matrix A, stored as a packed !> triangular matrix. AFAC contains the block diagonal matrix D !> and the multipliers used to obtain the factor L or U from the !> L*D*L' or U*D*U' factorization as computed by ZSPTRF. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZSPTRF. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 111 of file zspt01.f.
| subroutine zspt02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSPT02
!> !> ZSPT02 computes the residual in the solution of a complex symmetric !> system of linear equations A*x = b when packed storage is used for !> the coefficient matrix. The ratio computed is !> !> RESID = norm( B - A*X ) / ( norm(A) * norm(X) * EPS). !> !> where EPS is the machine precision. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> complex symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original complex symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 121 of file zspt02.f.
| subroutine zspt03 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( * ) | a, | ||
| complex*16, dimension( * ) | ainv, | ||
| complex*16, dimension( ldw, * ) | work, | ||
| integer | ldw, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
ZSPT03
!> !> ZSPT03 computes the residual for a complex symmetric packed matrix !> times its inverse: !> norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> complex symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original complex symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in] | AINV | !> AINV is COMPLEX*16 array, dimension (N*(N+1)/2) !> The (symmetric) inverse of the matrix A, stored as a packed !> triangular matrix. !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LDW,N) !> |
| [in] | LDW | !> LDW is INTEGER !> The leading dimension of the array WORK. LDW >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of A, computed as !> ( 1/norm(A) ) / norm(AINV). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(I - A*AINV) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 108 of file zspt03.f.
| subroutine zsyt01 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSYT01
!> !> ZSYT01 reconstructs a complex symmetric indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix, EPS is the machine epsilon, !> L' is the transpose of L, and U' is the transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> complex symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original complex symmetric matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the block !> diagonal matrix D and the multipliers used to obtain the !> factor L or U from the block L*D*L' or U*D*U' factorization !> as computed by ZSYTRF. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZSYTRF. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 123 of file zsyt01.f.
| subroutine zsyt01_3 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| complex*16, dimension( * ) | e, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSYT01_3
!> !> ZSYT01_3 reconstructs a symmetric indefinite matrix A from its !> block L*D*L' or U*D*U' factorization computed by ZSYTRF_RK !> (or ZSYTRF_BK) and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original symmetric matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by ZSYTRF_RK and ZSYTRF_BK: !> a) ONLY diagonal elements of the symmetric block diagonal !> matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); !> (superdiagonal (or subdiagonal) elements of D !> should be provided on entry in array E), and !> b) If UPLO = 'U': factor U in the superdiagonal part of A. !> If UPLO = 'L': factor L in the subdiagonal part of A. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. !> LDAFAC >= max(1,N). !> |
| [in] | E | !> E is COMPLEX*16 array, dimension (N) !> On entry, contains the superdiagonal (or subdiagonal) !> elements of the symmetric block diagonal matrix D !> with 1-by-1 or 2-by-2 diagonal blocks, where !> If UPLO = 'U': E(i) = D(i-1,i),i=2:N, E(1) not referenced; !> If UPLO = 'L': E(i) = D(i+1,i),i=1:N-1, E(N) not referenced. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZSYTRF_RK (or ZSYTRF_BK). !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 139 of file zsyt01_3.f.
| subroutine zsyt01_aa | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSYT01
!> !> ZSYT01 reconstructs a hermitian indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> hermitian matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original hermitian matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the block !> diagonal matrix D and the multipliers used to obtain the !> factor L or U from the block L*D*L' or U*D*U' factorization !> as computed by ZSYTRF. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZSYTRF. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RESID | !> RESID is COMPLEX*16 !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 122 of file zsyt01_aa.f.
| subroutine zsyt01_rook | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| complex*16, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSYT01_ROOK
!> !> ZSYT01_ROOK reconstructs a complex symmetric indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> norm( C - A ) / ( N * norm(A) * EPS ), !> where C is the reconstructed matrix, EPS is the machine epsilon, !> L' is the transpose of L, and U' is the transpose of U. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> complex symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original complex symmetric matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | AFAC | !> AFAC is COMPLEX*16 array, dimension (LDAFAC,N) !> The factored form of the matrix A. AFAC contains the block !> diagonal matrix D and the multipliers used to obtain the !> factor L or U from the block L*D*L' or U*D*U' factorization !> as computed by ZSYTRF_ROOK. !> |
| [in] | LDAFAC | !> LDAFAC is INTEGER !> The leading dimension of the array AFAC. LDAFAC >= max(1,N). !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from ZSYTRF_ROOK. !> |
| [out] | C | !> C is COMPLEX*16 array, dimension (LDC,N) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array C. LDC >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS ) !> |
Definition at line 123 of file zsyt01_rook.f.
| subroutine zsyt02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZSYT02
!> !> ZSYT02 computes the residual for a solution to a complex symmetric !> system of linear equations A*x = b: !> !> RESID = norm(B - A*X) / ( norm(A) * norm(X) * EPS ), !> !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of B, the matrix of right hand sides. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original complex symmetric matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in,out] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> On entry, the right hand side vectors for the system of !> linear equations. !> On exit, B is overwritten with the difference B - A*X. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(B - A*X) / ( norm(A) * norm(X) * EPS ). !> |
Definition at line 125 of file zsyt02.f.
| subroutine zsyt03 | ( | character | uplo, |
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| complex*16, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
ZSYT03
!> !> ZSYT03 computes the residual for a complex symmetric matrix times !> its inverse: !> norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ) !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> complex symmetric matrix A is stored: !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The original complex symmetric matrix A. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N) !> |
| [in,out] | AINV | !> AINV is COMPLEX*16 array, dimension (LDAINV,N) !> On entry, the inverse of the matrix A, stored as a symmetric !> matrix in the same format as A. !> In this version, AINV is expanded into a full matrix and !> multiplied by A, so the opposing triangle of AINV will be !> changed; i.e., if the upper triangular part of AINV is !> stored, the lower triangular part will be used as work space. !> |
| [in] | LDAINV | !> LDAINV is INTEGER !> The leading dimension of the array AINV. LDAINV >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (LDWORK,N) !> |
| [in] | LDWORK | !> LDWORK is INTEGER !> The leading dimension of the array WORK. LDWORK >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal of the condition number of A, computed as !> RCOND = 1/ (norm(A) * norm(AINV)). !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(I - A*AINV) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 124 of file zsyt03.f.
| subroutine ztbt02 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZTBT02
!> !> ZTBT02 computes the residual for the computed solution to a !> triangular system of linear equations op(A)*X = B, when A is a !> triangular band matrix. The test ratio is the maximum over !> norm(b - op(A)*x) / ( ||op(A)||_1 * norm(x) * EPS ), !> where op(A) = A, A**T, or A**H, b is the column of B, x is the !> solution vector, and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation applied to A. !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of superdiagonals or subdiagonals of the !> triangular band matrix A. KD >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. NRHS >= 0. !> |
| [in] | AB | !> AB is COMPLEX*16 array, dimension (LDA,N) !> The upper or lower triangular band matrix A, stored in the !> first kd+1 rows of the array. The j-th column of A is stored !> in the j-th column of the array AB as follows: !> if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; !> if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= max(1,KD+1). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(op(A)*x - b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 157 of file ztbt02.f.
| subroutine ztbt03 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision | scale, | ||
| double precision, dimension( * ) | cnorm, | ||
| double precision | tscal, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( * ) | work, | ||
| double precision | resid ) |
ZTBT03
!> !> ZTBT03 computes the residual for the solution to a scaled triangular !> system of equations A*x = s*b, A**T *x = s*b, or A**H *x = s*b !> when A is a triangular band matrix. Here A**T denotes the transpose !> of A, A**H denotes the conjugate transpose of A, s is a scalar, and !> x and b are N by NRHS matrices. The test ratio is the maximum over !> the number of right hand sides of !> norm(s*b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ), !> where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation applied to A. !> = 'N': A *x = s*b (No transpose) !> = 'T': A**T *x = s*b (Transpose) !> = 'C': A**H *x = s*b (Conjugate transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of superdiagonals or subdiagonals of the !> triangular band matrix A. KD >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. NRHS >= 0. !> |
| [in] | AB | !> AB is COMPLEX*16 array, dimension (LDAB,N) !> The upper or lower triangular band matrix A, stored in the !> first kd+1 rows of the array. The j-th column of A is stored !> in the j-th column of the array AB as follows: !> if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; !> if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KD+1. !> |
| [in] | SCALE | !> SCALE is DOUBLE PRECISION !> The scaling factor s used in solving the triangular system. !> |
| [in] | CNORM | !> CNORM is DOUBLE PRECISION array, dimension (N) !> The 1-norms of the columns of A, not counting the diagonal. !> |
| [in] | TSCAL | !> TSCAL is DOUBLE PRECISION !> The scaling factor used in computing the 1-norms in CNORM. !> CNORM actually contains the column norms of TSCAL*A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(op(A)*x - s*b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 174 of file ztbt03.f.
| subroutine ztbt05 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZTBT05
!> !> ZTBT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> triangular band matrix. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( NZ*EPS + (*) ), where !> (*) = NZ*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !> and NZ = max. number of nonzeros in any row of A, plus 1 !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations. !> = 'N': A * X = B (No transpose) !> = 'T': A'* X = B (Transpose) !> = 'C': A'* X = B (Conjugate transpose = Transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of super-diagonals of the matrix A if UPLO = 'U', !> or the number of sub-diagonals if UPLO = 'L'. KD >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | AB | !> AB is COMPLEX*16 array, dimension (LDAB,N) !> The upper or lower triangular band matrix A, stored in the !> first kd+1 rows of the array. The j-th column of A is stored !> in the j-th column of the array AB as follows: !> if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; !> if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). !> If DIAG = 'U', the diagonal elements of A are not referenced !> and are assumed to be 1. !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KD+1. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( NZ*EPS + (*) ) !> |
Definition at line 187 of file ztbt05.f.
| subroutine ztbt06 | ( | double precision | rcond, |
| double precision | rcondc, | ||
| character | uplo, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| complex*16, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rat ) |
ZTBT06
!> !> ZTBT06 computes a test ratio comparing RCOND (the reciprocal !> condition number of a triangular matrix A) and RCONDC, the estimate !> computed by ZTBCON. Information about the triangular matrix A is !> used if one estimate is zero and the other is non-zero to decide if !> underflow in the estimate is justified. !>
| [in] | RCOND | !> RCOND is DOUBLE PRECISION !> The estimate of the reciprocal condition number obtained by !> forming the explicit inverse of the matrix A and computing !> RCOND = 1/( norm(A) * norm(inv(A)) ). !> |
| [in] | RCONDC | !> RCONDC is DOUBLE PRECISION !> The estimate of the reciprocal condition number computed by !> ZTBCON. !> |
| [in] | UPLO | !> UPLO is CHARACTER !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | DIAG | !> DIAG is CHARACTER !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | KD | !> KD is INTEGER !> The number of superdiagonals or subdiagonals of the !> triangular band matrix A. KD >= 0. !> |
| [in] | AB | !> AB is COMPLEX*16 array, dimension (LDAB,N) !> The upper or lower triangular band matrix A, stored in the !> first kd+1 rows of the array. The j-th column of A is stored !> in the j-th column of the array AB as follows: !> if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; !> if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). !> |
| [in] | LDAB | !> LDAB is INTEGER !> The leading dimension of the array AB. LDAB >= KD+1. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RAT | !> RAT is DOUBLE PRECISION !> The test ratio. If both RCOND and RCONDC are nonzero, !> RAT = MAX( RCOND, RCONDC )/MIN( RCOND, RCONDC ) - 1. !> If RAT = 0, the two estimates are exactly the same. !> |
Definition at line 124 of file ztbt06.f.
| subroutine ztpt01 | ( | character | uplo, |
| character | diag, | ||
| integer | n, | ||
| complex*16, dimension( * ) | ap, | ||
| complex*16, dimension( * ) | ainvp, | ||
| double precision | rcond, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZTPT01
!> !> ZTPT01 computes the residual for a triangular matrix A times its !> inverse when A is stored in packed format: !> RESID = norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The original upper or lower triangular matrix A, packed !> columnwise in a linear array. The j-th column of A is stored !> in the array AP as follows: !> if UPLO = 'U', AP((j-1)*j/2 + i) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', !> AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n. !> |
| [in] | AINVP | !> AINVP is COMPLEX*16 array, dimension (N*(N+1)/2) !> On entry, the (triangular) inverse of the matrix A, packed !> columnwise in a linear array as in AP. !> On exit, the contents of AINVP are destroyed. !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal condition number of A, computed as !> 1/(norm(A) * norm(AINV)). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 108 of file ztpt01.f.
| subroutine ztpt02 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | ap, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZTPT02
!> !> ZTPT02 computes the residual for the computed solution to a !> triangular system of linear equations op(A)*X = B, when the !> triangular matrix A is stored in packed format. The test ratio is !> the maximum over !> norm(b - op(A)*x) / ( ||op(A)||_1 * norm(x) * EPS ), !> where op(A) = A, A**T, or A**H, b is the column of B, x is the !> solution vector, and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation applied to A. !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. NRHS >= 0. !> |
| [in] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The upper or lower triangular matrix A, packed columnwise in !> a linear array. The j-th column of A is stored in the array !> AP as follows: !> if UPLO = 'U', AP((j-1)*j/2 + i) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', !> AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ). !> |
Definition at line 145 of file ztpt02.f.
| subroutine ztpt03 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | ap, | ||
| double precision | scale, | ||
| double precision, dimension( * ) | cnorm, | ||
| double precision | tscal, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( * ) | work, | ||
| double precision | resid ) |
ZTPT03
!> !> ZTPT03 computes the residual for the solution to a scaled triangular !> system of equations A*x = s*b, A**T *x = s*b, or A**H *x = s*b, !> when the triangular matrix A is stored in packed format. Here A**T !> denotes the transpose of A, A**H denotes the conjugate transpose of !> A, s is a scalar, and x and b are N by NRHS matrices. The test ratio !> is the maximum over the number of right hand sides of !> norm(s*b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ), !> where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation applied to A. !> = 'N': A *x = s*b (No transpose) !> = 'T': A**T *x = s*b (Transpose) !> = 'C': A**H *x = s*b (Conjugate transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. NRHS >= 0. !> |
| [in] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The upper or lower triangular matrix A, packed columnwise in !> a linear array. The j-th column of A is stored in the array !> AP as follows: !> if UPLO = 'U', AP((j-1)*j/2 + i) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', !> AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n. !> |
| [in] | SCALE | !> SCALE is DOUBLE PRECISION !> The scaling factor s used in solving the triangular system. !> |
| [in] | CNORM | !> CNORM is DOUBLE PRECISION array, dimension (N) !> The 1-norms of the columns of A, not counting the diagonal. !> |
| [in] | TSCAL | !> TSCAL is DOUBLE PRECISION !> The scaling factor used in computing the 1-norms in CNORM. !> CNORM actually contains the column norms of TSCAL*A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(op(A)*x - s*b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 160 of file ztpt03.f.
| subroutine ztpt05 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( * ) | ap, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZTPT05
!> !> ZTPT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> triangular matrix in packed storage format. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( (n+1)*EPS + (*) ), where !> (*) = (n+1)*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations. !> = 'N': A * X = B (No transpose) !> = 'T': A'* X = B (Transpose) !> = 'C': A'* X = B (Conjugate transpose = Transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The upper or lower triangular matrix A, packed columnwise in !> a linear array. The j-th column of A is stored in the array !> AP as follows: !> if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. !> If DIAG = 'U', the diagonal elements of A are not referenced !> and are assumed to be 1. !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( (n+1)*EPS + (*) ) !> |
Definition at line 173 of file ztpt05.f.
| subroutine ztpt06 | ( | double precision | rcond, |
| double precision | rcondc, | ||
| character | uplo, | ||
| character | diag, | ||
| integer | n, | ||
| complex*16, dimension( * ) | ap, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rat ) |
ZTPT06
!> !> ZTPT06 computes a test ratio comparing RCOND (the reciprocal !> condition number of the triangular matrix A) and RCONDC, the estimate !> computed by ZTPCON. Information about the triangular matrix is used !> if one estimate is zero and the other is non-zero to decide if !> underflow in the estimate is justified. !>
| [in] | RCOND | !> RCOND is DOUBLE PRECISION !> The estimate of the reciprocal condition number obtained by !> forming the explicit inverse of the matrix A and computing !> RCOND = 1/( norm(A) * norm(inv(A)) ). !> |
| [in] | RCONDC | !> RCONDC is DOUBLE PRECISION !> The estimate of the reciprocal condition number computed by !> ZTPCON. !> |
| [in] | UPLO | !> UPLO is CHARACTER !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | DIAG | !> DIAG is CHARACTER !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | AP | !> AP is COMPLEX*16 array, dimension (N*(N+1)/2) !> The upper or lower triangular matrix A, packed columnwise in !> a linear array. The j-th column of A is stored in the array !> AP as follows: !> if UPLO = 'U', AP((j-1)*j/2 + i) = A(i,j) for 1<=i<=j; !> if UPLO = 'L', !> AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n. !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RAT | !> RAT is DOUBLE PRECISION !> The test ratio. If both RCOND and RCONDC are nonzero, !> RAT = MAX( RCOND, RCONDC )/MIN( RCOND, RCONDC ) - 1. !> If RAT = 0, the two estimates are exactly the same. !> |
Definition at line 111 of file ztpt06.f.
| subroutine ztrt01 | ( | character | uplo, |
| character | diag, | ||
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| double precision | rcond, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZTRT01
!> !> ZTRT01 computes the residual for a triangular matrix A times its !> inverse: !> RESID = norm( A*AINV - I ) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The triangular matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of the array A contains the upper !> triangular matrix, and the strictly lower triangular part of !> A is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of the array A contains the lower triangular !> matrix, and the strictly upper triangular part of A is not !> referenced. If DIAG = 'U', the diagonal elements of A are !> also not referenced and are assumed to be 1. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | AINV | !> AINV is COMPLEX*16 array, dimension (LDAINV,N) !> On entry, the (triangular) inverse of the matrix A, in the !> same storage format as A. !> On exit, the contents of AINV are destroyed. !> |
| [in] | LDAINV | !> LDAINV is INTEGER !> The leading dimension of the array AINV. LDAINV >= max(1,N). !> |
| [out] | RCOND | !> RCOND is DOUBLE PRECISION !> The reciprocal condition number of A, computed as !> 1/(norm(A) * norm(AINV)). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ) !> |
Definition at line 123 of file ztrt01.f.
| subroutine ztrt02 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
ZTRT02
!> !> ZTRT02 computes the residual for the computed solution to a !> triangular system of linear equations op(A)*X = B, where A is a !> triangular matrix. The test ratio is the maximum over !> norm(b - op(A)*x) / ( ||op(A)||_1 * norm(x) * EPS ), !> where op(A) = A, A**T, or A**H, b is the column of B, x is the !> solution vector, and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation applied to A. !> = 'N': A * X = B (No transpose) !> = 'T': A**T * X = B (Transpose) !> = 'C': A**H * X = B (Conjugate transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The triangular matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of the array A contains the upper !> triangular matrix, and the strictly lower triangular part of !> A is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of the array A contains the lower triangular !> matrix, and the strictly upper triangular part of A is not !> referenced. If DIAG = 'U', the diagonal elements of A are !> also not referenced and are assumed to be 1. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(op(A)*X - B) / ( norm(op(A)) * norm(X) * EPS ). !> |
Definition at line 153 of file ztrt02.f.
| subroutine ztrt03 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision | scale, | ||
| double precision, dimension( * ) | cnorm, | ||
| double precision | tscal, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( * ) | work, | ||
| double precision | resid ) |
ZTRT03
!> !> ZTRT03 computes the residual for the solution to a scaled triangular !> system of equations A*x = s*b, A**T *x = s*b, or A**H *x = s*b. !> Here A is a triangular matrix, A**T denotes the transpose of A, A**H !> denotes the conjugate transpose of A, s is a scalar, and x and b are !> N by NRHS matrices. The test ratio is the maximum over the number of !> right hand sides of !> norm(s*b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ), !> where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the operation applied to A. !> = 'N': A *x = s*b (No transpose) !> = 'T': A**T *x = s*b (Transpose) !> = 'C': A**H *x = s*b (Conjugate transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices X and B. NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The triangular matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of the array A contains the upper !> triangular matrix, and the strictly lower triangular part of !> A is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of the array A contains the lower triangular !> matrix, and the strictly upper triangular part of A is not !> referenced. If DIAG = 'U', the diagonal elements of A are !> also not referenced and are assumed to be 1. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | SCALE | !> SCALE is DOUBLE PRECISION !> The scaling factor s used in solving the triangular system. !> |
| [in] | CNORM | !> CNORM is DOUBLE PRECISION array, dimension (N) !> The 1-norms of the columns of A, not counting the diagonal. !> |
| [in] | TSCAL | !> TSCAL is DOUBLE PRECISION !> The scaling factor used in computing the 1-norms in CNORM. !> CNORM actually contains the column norms of TSCAL*A. !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors for the system of linear !> equations. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [out] | WORK | !> WORK is COMPLEX*16 array, dimension (N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> The maximum over the number of right hand sides of !> norm(op(A)*x - s*b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 169 of file ztrt03.f.
| subroutine ztrt05 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| complex*16, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| complex*16, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| complex*16, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
ZTRT05
!> !> ZTRT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> triangular n by n matrix. !> !> RESLTS(1) = test of the error bound !> = norm(X - XACT) / ( norm(X) * FERR ) !> !> A large value is returned if this ratio is not less than one. !> !> RESLTS(2) = residual from the iterative refinement routine !> = the maximum of BERR / ( (n+1)*EPS + (*) ), where !> (*) = (n+1)*UNFL / (min_i (abs(A)*abs(X) +abs(b))_i ) !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | TRANS | !> TRANS is CHARACTER*1 !> Specifies the form of the system of equations. !> = 'N': A * X = B (No transpose) !> = 'T': A'* X = B (Transpose) !> = 'C': A'* X = B (Conjugate transpose = Transpose) !> |
| [in] | DIAG | !> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The number of rows of the matrices X, B, and XACT, and the !> order of the matrix A. N >= 0. !> |
| [in] | NRHS | !> NRHS is INTEGER !> The number of columns of the matrices X, B, and XACT. !> NRHS >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The triangular matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of the array A contains the upper !> triangular matrix, and the strictly lower triangular part of !> A is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of the array A contains the lower triangular !> matrix, and the strictly upper triangular part of A is not !> referenced. If DIAG = 'U', the diagonal elements of A are !> also not referenced and are assumed to be 1. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | B | !> B is COMPLEX*16 array, dimension (LDB,NRHS) !> The right hand side vectors for the system of linear !> equations. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
| [in] | X | !> X is COMPLEX*16 array, dimension (LDX,NRHS) !> The computed solution vectors. Each vector is stored as a !> column of the matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !> |
| [in] | XACT | !> XACT is COMPLEX*16 array, dimension (LDX,NRHS) !> The exact solution vectors. Each vector is stored as a !> column of the matrix XACT. !> |
| [in] | LDXACT | !> LDXACT is INTEGER !> The leading dimension of the array XACT. LDXACT >= max(1,N). !> |
| [in] | FERR | !> FERR is DOUBLE PRECISION array, dimension (NRHS) !> The estimated forward error bounds for each solution vector !> X. If XTRUE is the true solution, FERR bounds the magnitude !> of the largest entry in (X - XTRUE) divided by the magnitude !> of the largest entry in X. !> |
| [in] | BERR | !> BERR is DOUBLE PRECISION array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector (i.e., the smallest relative change in any entry of A !> or B that makes X an exact solution). !> |
| [out] | RESLTS | !> RESLTS is DOUBLE PRECISION array, dimension (2) !> The maximum over the NRHS solution vectors of the ratios: !> RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR ) !> RESLTS(2) = BERR / ( (n+1)*EPS + (*) ) !> |
Definition at line 180 of file ztrt05.f.
| subroutine ztrt06 | ( | double precision | rcond, |
| double precision | rcondc, | ||
| character | uplo, | ||
| character | diag, | ||
| integer | n, | ||
| complex*16, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rat ) |
ZTRT06
!> !> ZTRT06 computes a test ratio comparing RCOND (the reciprocal !> condition number of a triangular matrix A) and RCONDC, the estimate !> computed by ZTRCON. Information about the triangular matrix A is !> used if one estimate is zero and the other is non-zero to decide if !> underflow in the estimate is justified. !>
| [in] | RCOND | !> RCOND is DOUBLE PRECISION !> The estimate of the reciprocal condition number obtained by !> forming the explicit inverse of the matrix A and computing !> RCOND = 1/( norm(A) * norm(inv(A)) ). !> |
| [in] | RCONDC | !> RCONDC is DOUBLE PRECISION !> The estimate of the reciprocal condition number computed by !> ZTRCON. !> |
| [in] | UPLO | !> UPLO is CHARACTER !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | DIAG | !> DIAG is CHARACTER !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in] | A | !> A is COMPLEX*16 array, dimension (LDA,N) !> The triangular matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of the array A contains the upper !> triangular matrix, and the strictly lower triangular part of !> A is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of the array A contains the lower triangular !> matrix, and the strictly upper triangular part of A is not !> referenced. If DIAG = 'U', the diagonal elements of A are !> also not referenced and are assumed to be 1. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (N) !> |
| [out] | RAT | !> RAT is DOUBLE PRECISION !> The test ratio. If both RCOND and RCONDC are nonzero, !> RAT = MAX( RCOND, RCONDC )/MIN( RCOND, RCONDC ) - 1. !> If RAT = 0, the two estimates are exactly the same. !> |
Definition at line 120 of file ztrt06.f.
| subroutine zunhr_col01 | ( | integer | m, |
| integer | n, | ||
| integer | mb1, | ||
| integer | nb1, | ||
| integer | nb2, | ||
| double precision, dimension(6) | result ) |
ZUNHR_COL01
!> !> ZUNHR_COL01 tests ZUNGTSQR and ZUNHR_COL using ZLATSQR, ZGEMQRT. !> Therefore, ZLATSQR (part of ZGEQR), ZGEMQRT (part of ZGEMQR) !> have to be tested before this test. !> !>
| [in] | M | !> M is INTEGER !> Number of rows in test matrix. !> |
| [in] | N | !> N is INTEGER !> Number of columns in test matrix. !> |
| [in] | MB1 | !> MB1 is INTEGER !> Number of row in row block in an input test matrix. !> |
| [in] | NB1 | !> NB1 is INTEGER !> Number of columns in column block an input test matrix. !> |
| [in] | NB2 | !> NB2 is INTEGER !> Number of columns in column block in an output test matrix. !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (6) !> Results of each of the six tests below. !> !> A is a m-by-n test input matrix to be factored. !> so that A = Q_gr * ( R ) !> ( 0 ), !> !> Q_qr is an implicit m-by-m unitary Q matrix, the result !> of factorization in blocked WY-representation, !> stored in ZGEQRT output format. !> !> R is a n-by-n upper-triangular matrix, !> !> 0 is a (m-n)-by-n zero matrix, !> !> Q is an explicit m-by-m unitary matrix Q = Q_gr * I !> !> C is an m-by-n random matrix, !> !> D is an n-by-m random matrix. !> !> The six tests are: !> !> RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| ) !> is equivalent to test for | A - Q * R | / (eps * m * |A|), !> !> RESULT(2) = |I - (Q**H) * Q| / ( eps * m ), !> !> RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|), !> !> RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|) !> !> RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|) !> !> RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|), !> !> where: !> Q_qr * C, (Q_gr**H) * C, D * Q_qr, D * (Q_qr**H) are !> computed using ZGEMQRT, !> !> Q * C, (Q**H) * C, D * Q, D * (Q**H) are !> computed using ZGEMM. !> |
Definition at line 118 of file zunhr_col01.f.
| subroutine zunhr_col02 | ( | integer | m, |
| integer | n, | ||
| integer | mb1, | ||
| integer | nb1, | ||
| integer | nb2, | ||
| double precision, dimension(6) | result ) |
ZUNHR_COL02
!> !> ZUNHR_COL02 tests ZUNGTSQR_ROW and ZUNHR_COL inside ZGETSQRHRT !> (which calls ZLATSQR, ZUNGTSQR_ROW and ZUNHR_COL) using ZGEMQRT. !> Therefore, ZLATSQR (part of ZGEQR), ZGEMQRT (part of ZGEMQR) !> have to be tested before this test. !> !>
| [in] | M | !> M is INTEGER !> Number of rows in test matrix. !> |
| [in] | N | !> N is INTEGER !> Number of columns in test matrix. !> |
| [in] | MB1 | !> MB1 is INTEGER !> Number of row in row block in an input test matrix. !> |
| [in] | NB1 | !> NB1 is INTEGER !> Number of columns in column block an input test matrix. !> |
| [in] | NB2 | !> NB2 is INTEGER !> Number of columns in column block in an output test matrix. !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (6) !> Results of each of the six tests below. !> !> A is a m-by-n test input matrix to be factored. !> so that A = Q_gr * ( R ) !> ( 0 ), !> !> Q_qr is an implicit m-by-m unitary Q matrix, the result !> of factorization in blocked WY-representation, !> stored in ZGEQRT output format. !> !> R is a n-by-n upper-triangular matrix, !> !> 0 is a (m-n)-by-n zero matrix, !> !> Q is an explicit m-by-m unitary matrix Q = Q_gr * I !> !> C is an m-by-n random matrix, !> !> D is an n-by-m random matrix. !> !> The six tests are: !> !> RESULT(1) = |R - (Q**H) * A| / ( eps * m * |A| ) !> is equivalent to test for | A - Q * R | / (eps * m * |A|), !> !> RESULT(2) = |I - (Q**H) * Q| / ( eps * m ), !> !> RESULT(3) = | Q_qr * C - Q * C | / (eps * m * |C|), !> !> RESULT(4) = | (Q_gr**H) * C - (Q**H) * C | / (eps * m * |C|) !> !> RESULT(5) = | D * Q_qr - D * Q | / (eps * m * |D|) !> !> RESULT(6) = | D * (Q_qr**H) - D * (Q**H) | / (eps * m * |D|), !> !> where: !> Q_qr * C, (Q_gr**H) * C, D * Q_qr, D * (Q_qr**H) are !> computed using ZGEMQRT, !> !> Q * C, (Q**H) * C, D * Q, D * (Q**H) are !> computed using ZGEMM. !> |
Definition at line 119 of file zunhr_col02.f.