Functions | |
| subroutine | cchklqt (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| CCHKLQT | |
| subroutine | cchklqtp (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| CCHKLQTP | |
| subroutine | cchktsqr (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| CCHKQRT | |
| subroutine | cerrlqt (path, nunit) |
| CERRLQT | |
| subroutine | cerrlqtp (path, nunit) |
| ZERRLQTP | |
| subroutine | cerrtsqr (path, nunit) |
| CERRTSQR | |
| subroutine | clqt04 (m, n, nb, result) |
| DLQT04 | |
| subroutine | clqt05 (m, n, l, nb, result) |
| CLQT05 | |
| program | dchkaa |
| DCHKAA | |
| program | dchkab |
| DCHKAB | |
| subroutine | dchkeq (thresh, nout) |
| DCHKEQ | |
| subroutine | dchkgb (dotype, nm, mval, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, a, la, afac, lafac, b, x, xact, work, rwork, iwork, nout) |
| DCHKGB | |
| subroutine | dchkge (dotype, nm, mval, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKGE | |
| subroutine | dchkgt (dotype, nn, nval, nns, nsval, thresh, tsterr, a, af, b, x, xact, work, rwork, iwork, nout) |
| DCHKGT | |
| subroutine | dchklq (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs, thresh, tsterr, nmax, a, af, aq, al, ac, b, x, xact, tau, work, rwork, nout) |
| DCHKLQ | |
| subroutine | dchklqt (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKLQT | |
| subroutine | dchklqtp (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKLQTP | |
| subroutine | dchkorhr_col (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKORHR_COL | |
| subroutine | dchkpb (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKPB | |
| subroutine | dchkpo (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKPO | |
| subroutine | dchkpp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKPP | |
| subroutine | dchkps (dotype, nn, nval, nnb, nbval, nrank, rankval, thresh, tsterr, nmax, a, afac, perm, piv, work, rwork, nout) |
| DCHKPS | |
| subroutine | dchkpt (dotype, nn, nval, nns, nsval, thresh, tsterr, a, d, e, b, x, xact, work, rwork, nout) |
| DCHKPT | |
| subroutine | dchkq3 (dotype, nm, mval, nn, nval, nnb, nbval, nxval, thresh, a, copya, s, tau, work, iwork, nout) |
| DCHKQ3 | |
| subroutine | dchkql (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs, thresh, tsterr, nmax, a, af, aq, al, ac, b, x, xact, tau, work, rwork, nout) |
| DCHKQL | |
| subroutine | dchkqr (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) |
| DCHKQR | |
| subroutine | dchkqrt (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKQRT | |
| subroutine | dchkqrtp (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKQRTP | |
| program | dchkrfp |
| DCHKRFP | |
| subroutine | dchkrq (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) |
| DCHKRQ | |
| subroutine | dchksp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKSP | |
| subroutine | dchksy (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKSY | |
| subroutine | dchksy_aa (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKSY_AA | |
| subroutine | dchksy_aa_2stage (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKSY_AA_2STAGE | |
| subroutine | dchksy_rk (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKSY_RK | |
| subroutine | dchksy_rook (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKSY_ROOK | |
| subroutine | dchktb (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, ab, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKTB | |
| subroutine | dchktp (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax, ap, ainvp, b, x, xact, work, rwork, iwork, nout) |
| DCHKTP | |
| subroutine | dchktr (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, ainv, b, x, xact, work, rwork, iwork, nout) |
| DCHKTR | |
| subroutine | dchktsqr (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKQRT | |
| subroutine | dchktz (dotype, nm, mval, nn, nval, thresh, tsterr, a, copya, s, tau, work, nout) |
| DCHKTZ | |
| subroutine | ddrvab (dotype, nm, mval, nns, nsval, thresh, nmax, a, afac, b, x, work, rwork, swork, iwork, nout) |
| DDRVAB | |
| subroutine | ddrvac (dotype, nm, mval, nns, nsval, thresh, nmax, a, afac, b, x, work, rwork, swork, nout) |
| DDRVAC | |
| subroutine | ddrvgb (dotype, nn, nval, nrhs, thresh, tsterr, a, la, afb, lafb, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| DDRVGB | |
| subroutine | ddrvge (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| DDRVGE | |
| subroutine | ddrvgt (dotype, nn, nval, nrhs, thresh, tsterr, a, af, b, x, xact, work, rwork, iwork, nout) |
| DDRVGT | |
| subroutine | ddrvls (dotype, nm, mval, nn, nval, nns, nsval, nnb, nbval, nxval, thresh, tsterr, a, copya, b, copyb, c, s, copys, nout) |
| DDRVLS | |
| subroutine | ddrvpb (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| DDRVPB | |
| subroutine | ddrvpo (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| DDRVPO | |
| subroutine | ddrvpp (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, asav, b, bsav, x, xact, s, work, rwork, iwork, nout) |
| DDRVPP | |
| subroutine | ddrvpt (dotype, nn, nval, nrhs, thresh, tsterr, a, d, e, b, x, xact, work, rwork, nout) |
| DDRVPT | |
| subroutine | ddrvrf1 (nout, nn, nval, thresh, a, lda, arf, work) |
| DDRVRF1 | |
| subroutine | ddrvrf2 (nout, nn, nval, a, lda, arf, ap, asav) |
| DDRVRF2 | |
| subroutine | ddrvrf3 (nout, nn, nval, thresh, a, lda, arf, b1, b2, d_work_dlange, d_work_dgeqrf, tau) |
| DDRVRF3 | |
| subroutine | ddrvrf4 (nout, nn, nval, thresh, c1, c2, ldc, crf, a, lda, d_work_dlange) |
| DDRVRF4 | |
| subroutine | ddrvrfp (nout, nn, nval, nns, nsval, nnt, ntval, thresh, a, asav, afac, ainv, b, bsav, xact, x, arf, arfinv, d_work_dlatms, d_work_dpot01, d_temp_dpot02, d_temp_dpot03, d_work_dlansy, d_work_dpot02, d_work_dpot03) |
| DDRVRFP | |
| subroutine | ddrvsp (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DDRVSP | |
| subroutine | ddrvsy (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DDRVSY | |
| subroutine | ddrvsy_aa (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DDRVSY_AA | |
| subroutine | ddrvsy_aa_2stage (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DDRVSY_AA_2STAGE | |
| subroutine | ddrvsy_rk (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| DDRVSY_RK | |
| subroutine | ddrvsy_rook (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| DDRVSY_ROOK | |
| subroutine | debchvxx (thresh, path) |
| DEBCHVXX | |
| subroutine | derrab (nunit) |
| DERRAB | |
| subroutine | derrac (nunit) |
| DERRAC | |
| subroutine | derrge (path, nunit) |
| DERRGE | |
| subroutine | derrgt (path, nunit) |
| DERRGT | |
| subroutine | derrlq (path, nunit) |
| DERRLQ | |
| subroutine | derrlqt (path, nunit) |
| DERLQT | |
| subroutine | derrlqtp (path, nunit) |
| DERRLQTP | |
| subroutine | derrls (path, nunit) |
| DERRLS | |
| subroutine | derrorhr_col (path, nunit) |
| DERRORHR_COL | |
| subroutine | derrpo (path, nunit) |
| DERRPO | |
| subroutine | derrps (path, nunit) |
| DERRPS | |
| subroutine | derrql (path, nunit) |
| DERRQL | |
| subroutine | derrqp (path, nunit) |
| DERRQP | |
| subroutine | derrqr (path, nunit) |
| DERRQR | |
| subroutine | derrqrt (path, nunit) |
| DERRQRT | |
| subroutine | derrqrtp (path, nunit) |
| DERRQRTP | |
| subroutine | derrrfp (nunit) |
| DERRRFP | |
| subroutine | derrrq (path, nunit) |
| DERRRQ | |
| subroutine | derrsy (path, nunit) |
| DERRSY | |
| subroutine | derrtr (path, nunit) |
| DERRTR | |
| subroutine | derrtsqr (path, nunit) |
| DERRTSQR | |
| subroutine | derrtz (path, nunit) |
| DERRTZ | |
| subroutine | derrvx (path, nunit) |
| DERRVX | |
| subroutine | dgbt01 (m, n, kl, ku, a, lda, afac, ldafac, ipiv, work, resid) |
| DGBT01 | |
| subroutine | dgbt02 (trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DGBT02 | |
| subroutine | dgbt05 (trans, n, kl, ku, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DGBT05 | |
| subroutine | dgelqs (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| DGELQS | |
| logical function | dgennd (m, n, a, lda) |
| DGENND | |
| subroutine | dgeqls (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| DGEQLS | |
| subroutine | dgeqrs (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| DGEQRS | |
| subroutine | dgerqs (m, n, nrhs, a, lda, tau, b, ldb, work, lwork, info) |
| DGERQS | |
| subroutine | dget01 (m, n, a, lda, afac, ldafac, ipiv, rwork, resid) |
| DGET01 | |
| subroutine | dget02 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DGET02 | |
| subroutine | dget03 (n, a, lda, ainv, ldainv, work, ldwork, rwork, rcond, resid) |
| DGET03 | |
| subroutine | dget04 (n, nrhs, x, ldx, xact, ldxact, rcond, resid) |
| DGET04 | |
| double precision function | dget06 (rcond, rcondc) |
| DGET06 | |
| subroutine | dget07 (trans, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, chkferr, berr, reslts) |
| DGET07 | |
| subroutine | dget08 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DGET08 | |
| subroutine | dgtt01 (n, dl, d, du, dlf, df, duf, du2, ipiv, work, ldwork, rwork, resid) |
| DGTT01 | |
| subroutine | dgtt02 (trans, n, nrhs, dl, d, du, x, ldx, b, ldb, resid) |
| DGTT02 | |
| subroutine | dgtt05 (trans, n, nrhs, dl, d, du, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DGTT05 | |
| subroutine | dlahilb (n, nrhs, a, lda, x, ldx, b, ldb, work, info) |
| DLAHILB | |
| subroutine | dlaord (job, n, x, incx) |
| DLAORD | |
| subroutine | dlaptm (n, nrhs, alpha, d, e, x, ldx, beta, b, ldb) |
| DLAPTM | |
| subroutine | dlarhs (path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info) |
| DLARHS | |
| subroutine | dlatb4 (path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist) |
| DLATB4 | |
| subroutine | dlatb5 (path, imat, n, type, kl, ku, anorm, mode, cndnum, dist) |
| DLATB5 | |
| subroutine | dlattb (imat, uplo, trans, diag, iseed, n, kd, ab, ldab, b, work, info) |
| DLATTB | |
| subroutine | dlattp (imat, uplo, trans, diag, iseed, n, a, b, work, info) |
| DLATTP | |
| subroutine | dlattr (imat, uplo, trans, diag, iseed, n, a, lda, b, work, info) |
| DLATTR | |
| subroutine | dlavsp (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info) |
| DLAVSP | |
| subroutine | dlavsy (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info) |
| DLAVSY | |
| subroutine | dlavsy_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info) |
| DLAVSY_ROOK | |
| subroutine | dlqt01 (m, n, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| DLQT01 | |
| subroutine | dlqt02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| DLQT02 | |
| subroutine | dlqt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| DLQT03 | |
| subroutine | dlqt04 (m, n, nb, result) |
| DLQT04 | |
| subroutine | dlqt05 (m, n, l, nb, result) |
| DLQT05 | |
| subroutine | dorhr_col01 (m, n, mb1, nb1, nb2, result) |
| DORHR_COL01 | |
| subroutine | dorhr_col02 (m, n, mb1, nb1, nb2, result) |
| DORHR_COL02 | |
| subroutine | dpbt01 (uplo, n, kd, a, lda, afac, ldafac, rwork, resid) |
| DPBT01 | |
| subroutine | dpbt02 (uplo, n, kd, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DPBT02 | |
| subroutine | dpbt05 (uplo, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DPBT05 | |
| subroutine | dpot01 (uplo, n, a, lda, afac, ldafac, rwork, resid) |
| DPOT01 | |
| subroutine | dpot02 (uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DPOT02 | |
| subroutine | dpot03 (uplo, n, a, lda, ainv, ldainv, work, ldwork, rwork, rcond, resid) |
| DPOT03 | |
| subroutine | dpot05 (uplo, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DPOT05 | |
| subroutine | dpot06 (uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DPOT06 | |
| subroutine | dppt01 (uplo, n, a, afac, rwork, resid) |
| DPPT01 | |
| subroutine | dppt02 (uplo, n, nrhs, a, x, ldx, b, ldb, rwork, resid) |
| DPPT02 | |
| subroutine | dppt03 (uplo, n, a, ainv, work, ldwork, rwork, rcond, resid) |
| DPPT03 | |
| subroutine | dppt05 (uplo, n, nrhs, ap, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DPPT05 | |
| subroutine | dpst01 (uplo, n, a, lda, afac, ldafac, perm, ldperm, piv, rwork, resid, rank) |
| DPST01 | |
| subroutine | dptt01 (n, d, e, df, ef, work, resid) |
| DPTT01 | |
| subroutine | dptt02 (n, nrhs, d, e, x, ldx, b, ldb, resid) |
| DPTT02 | |
| subroutine | dptt05 (n, nrhs, d, e, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DPTT05 | |
| subroutine | dqlt01 (m, n, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| DQLT01 | |
| subroutine | dqlt02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork, result) |
| DQLT02 | |
| subroutine | dqlt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| DQLT03 | |
| double precision function | dqpt01 (m, n, k, a, af, lda, tau, jpvt, work, lwork) |
| DQPT01 | |
| subroutine | dqrt01 (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| DQRT01 | |
| subroutine | dqrt01p (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| DQRT01P | |
| subroutine | dqrt02 (m, n, k, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| DQRT02 | |
| subroutine | dqrt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| DQRT03 | |
| subroutine | dqrt04 (m, n, nb, result) |
| DQRT04 | |
| subroutine | dqrt05 (m, n, l, nb, result) |
| DQRT05 | |
| double precision function | dqrt11 (m, k, a, lda, tau, work, lwork) |
| DQRT11 | |
| double precision function | dqrt12 (m, n, a, lda, s, work, lwork) |
| DQRT12 | |
| subroutine | dqrt13 (scale, m, n, a, lda, norma, iseed) |
| DQRT13 | |
| double precision function | dqrt14 (trans, m, n, nrhs, a, lda, x, ldx, work, lwork) |
| DQRT14 | |
| subroutine | dqrt15 (scale, rksel, m, n, nrhs, a, lda, b, ldb, s, rank, norma, normb, iseed, work, lwork) |
| DQRT15 | |
| subroutine | dqrt16 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid) |
| DQRT16 | |
| double precision function | dqrt17 (trans, iresid, m, n, nrhs, a, lda, x, ldx, b, ldb, c, work, lwork) |
| DQRT17 | |
| subroutine | drqt01 (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| DRQT01 | |
| subroutine | drqt02 (m, n, k, a, af, q, r, lda, tau, work, lwork, rwork, result) |
| DRQT02 | |
| subroutine | drqt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) |
| DRQT03 | |
| double precision function | drzt01 (m, n, a, af, lda, tau, work, lwork) |
| DRZT01 | |
| double precision function | drzt02 (m, n, af, lda, tau, work, lwork) |
| DRZT02 | |
| subroutine | dspt01 (uplo, n, a, afac, ipiv, c, ldc, rwork, resid) |
| DSPT01 | |
| subroutine | dsyt01 (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| DSYT01 | |
| subroutine | dsyt01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc, rwork, resid) |
| DSYT01_3 | |
| subroutine | dsyt01_aa (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| DSYT01 | |
| subroutine | dsyt01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) |
| DSYT01_ROOK | |
| subroutine | dtbt02 (uplo, trans, diag, n, kd, nrhs, ab, ldab, x, ldx, b, ldb, work, resid) |
| DTBT02 | |
| subroutine | dtbt03 (uplo, trans, diag, n, kd, nrhs, ab, ldab, scale, cnorm, tscal, x, ldx, b, ldb, work, resid) |
| DTBT03 | |
| subroutine | dtbt05 (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DTBT05 | |
| subroutine | dtbt06 (rcond, rcondc, uplo, diag, n, kd, ab, ldab, work, rat) |
| DTBT06 | |
| subroutine | dtpt01 (uplo, diag, n, ap, ainvp, rcond, work, resid) |
| DTPT01 | |
| subroutine | dtpt02 (uplo, trans, diag, n, nrhs, ap, x, ldx, b, ldb, work, resid) |
| DTPT02 | |
| subroutine | dtpt03 (uplo, trans, diag, n, nrhs, ap, scale, cnorm, tscal, x, ldx, b, ldb, work, resid) |
| DTPT03 | |
| subroutine | dtpt05 (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DTPT05 | |
| subroutine | dtpt06 (rcond, rcondc, uplo, diag, n, ap, work, rat) |
| DTPT06 | |
| subroutine | dtrt01 (uplo, diag, n, a, lda, ainv, ldainv, rcond, work, resid) |
| DTRT01 | |
| subroutine | dtrt02 (uplo, trans, diag, n, nrhs, a, lda, x, ldx, b, ldb, work, resid) |
| DTRT02 | |
| subroutine | dtrt03 (uplo, trans, diag, n, nrhs, a, lda, scale, cnorm, tscal, x, ldx, b, ldb, work, resid) |
| DTRT03 | |
| subroutine | dtrt05 (uplo, trans, diag, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts) |
| DTRT05 | |
| subroutine | dtrt06 (rcond, rcondc, uplo, diag, n, a, lda, work, rat) |
| DTRT06 | |
| subroutine | dtsqr01 (tssw, m, n, mb, nb, result) |
| DTSQR01 | |
| subroutine | schklqt (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| SCHKLQT | |
| subroutine | schklqtp (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| SCHKLQTP | |
| subroutine | schksy_rk (dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, e, ainv, b, x, xact, work, rwork, iwork, nout) |
| SCHKSY_RK | |
| subroutine | schktsqr (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| SCHKQRT | |
| subroutine | sdrvsy_rook (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) |
| SDRVSY_ROOK | |
| subroutine | serrlqt (path, nunit) |
| SERRLQT | |
| subroutine | serrlqtp (path, nunit) |
| DERRLQTP | |
| subroutine | serrtsqr (path, nunit) |
| DERRTSQR | |
| subroutine | slqt04 (m, n, nb, result) |
| SLQT04 | |
| subroutine | slqt05 (m, n, l, nb, result) |
| SLQT05 | |
| subroutine | stsqr01 (tssw, m, n, mb, nb, result) |
| STSQR01 | |
| subroutine | zchklqt (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| ZCHKLQT | |
| subroutine | zchklqtp (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| ZCHKLQTP | |
| subroutine | zchktsqr (thresh, tsterr, nm, mval, nn, nval, nnb, nbval, nout) |
| DCHKQRT | |
| subroutine | zerrlqt (path, nunit) |
| ZERLQT | |
| subroutine | zerrlqtp (path, nunit) |
| ZERRLQTP | |
| subroutine | zerrtsqr (path, nunit) |
| ZERRTSQR | |
| subroutine | zlqt04 (m, n, nb, result) |
| DLQT04 | |
| subroutine | zlqt05 (m, n, l, nb, result) |
| ZLQT05 | |
This is the group of double LAPACK TESTING LIN routines.
| subroutine cchklqt | ( | real | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
CCHKLQT
!> !> CCHKLQT tests CGELQT and CUNMLQT. !>
| [in] | THRESH | !> THRESH is REAL !> 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 cchklqt.f.
| subroutine cchklqtp | ( | real | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
CCHKLQTP
!> !> CCHKLQTP tests CTPLQT and CTPMLQT. !>
| [in] | THRESH | !> THRESH is REAL !> 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 cchklqtp.f.
| subroutine cchktsqr | ( | real | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
CCHKQRT
!> !> CCHKTSQR tests CGEQR and CGEMQR. !>
| [in] | THRESH | !> THRESH is REAL !> 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 cchktsqr.f.
| subroutine cerrlqt | ( | character*3 | path, |
| integer | nunit ) |
CERRLQT
!> !> CERRLQT tests the error exits for the COMPLEX routines !> that use the LQT 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 cerrlqt.f.
| subroutine cerrlqtp | ( | character*3 | path, |
| integer | nunit ) |
ZERRLQTP
!> !> CERRLQTP tests the error exits for the complex routines !> that use the LQT 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 cerrlqtp.f.
| subroutine cerrtsqr | ( | character*3 | path, |
| integer | nunit ) |
CERRTSQR
!> !> CERRTSQR tests the error exits for the COMPLEX routines !> that use the TSQR 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 cerrtsqr.f.
| subroutine clqt04 | ( | integer | m, |
| integer | n, | ||
| integer | nb, | ||
| real, dimension(6) | result ) |
DLQT04
!> !> CLQT04 tests CGELQT and CGEMLQT. !>
| [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 - L Q | !> RESULT(2) = | I - Q Q^H | !> 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 clqt04.f.
| subroutine clqt05 | ( | integer | m, |
| integer | n, | ||
| integer | l, | ||
| integer | nb, | ||
| real, dimension(6) | result ) |
CLQT05
!> !> CQRT05 tests CTPLQT and CTPMLQT. !>
| [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 clqt05.f.
| program dchkaa |
DCHKAA
!> !> DCHKAA is the main test program for the DOUBLE PRECISION LAPACK !> 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 40 lines: !> Data file for testing DOUBLE PRECISION LAPACK linear eqn. 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) !> 20.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 !> DGE 11 List types on next line if 0 < NTYPES < 11 !> DGB 8 List types on next line if 0 < NTYPES < 8 !> DGT 12 List types on next line if 0 < NTYPES < 12 !> DPO 9 List types on next line if 0 < NTYPES < 9 !> DPS 9 List types on next line if 0 < NTYPES < 9 !> DPP 9 List types on next line if 0 < NTYPES < 9 !> DPB 8 List types on next line if 0 < NTYPES < 8 !> DPT 12 List types on next line if 0 < NTYPES < 12 !> DSY 10 List types on next line if 0 < NTYPES < 10 !> DSR 10 List types on next line if 0 < NTYPES < 10 !> DSK 10 List types on next line if 0 < NTYPES < 10 !> DSA 10 List types on next line if 0 < NTYPES < 10 !> DS2 10 List types on next line if 0 < NTYPES < 10 !> DSP 10 List types on next line if 0 < NTYPES < 10 !> DTR 18 List types on next line if 0 < NTYPES < 18 !> DTP 18 List types on next line if 0 < NTYPES < 18 !> DTB 17 List types on next line if 0 < NTYPES < 17 !> DQR 8 List types on next line if 0 < NTYPES < 8 !> DRQ 8 List types on next line if 0 < NTYPES < 8 !> DLQ 8 List types on next line if 0 < NTYPES < 8 !> DQL 8 List types on next line if 0 < NTYPES < 8 !> DQP 6 List types on next line if 0 < NTYPES < 6 !> DTZ 3 List types on next line if 0 < NTYPES < 3 !> DLS 6 List types on next line if 0 < NTYPES < 6 !> DEQ !> DQT !> DQX !> DTQ !> DXQ !> DTS !> DHH !>
!> 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 dchkab |
DCHKAB
!> !> DCHKAB is the test program for the DOUBLE PRECISION LAPACK !> DSGESV/DSPOSV 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 10 lines: !> Data file for testing DOUBLE PRECISION LAPACK DSGESV !> 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 routines !> 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 dchkeq | ( | double precision | thresh, |
| integer | nout ) |
DCHKEQ
!> !> DCHKEQ tests DGEEQU, DGBEQU, DPOEQU, DPPEQU and DPBEQU !>
| [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 dchkeq.f.
| subroutine dchkgb | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| integer | la, | ||
| double precision, dimension( * ) | afac, | ||
| integer | lafac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKGB
!> !> DCHKGB tests DGBTRF, -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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 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,NMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (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 188 of file dchkgb.f.
| subroutine dchkge | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKGE
!> !> DCHKGE tests DGETRF, -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 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(2*NMAX,2*NSMAX+NWORK)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 182 of file dchkge.f.
| subroutine dchkgt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | af, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKGT
!> !> DCHKGT tests DGTTRF, -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 DOUBLE PRECISION array, dimension (NMAX*4) !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (NMAX*4) !> |
| [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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 144 of file dchkgt.f.
| subroutine dchklq | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | af, | ||
| double precision, dimension( * ) | aq, | ||
| double precision, dimension( * ) | al, | ||
| double precision, dimension( * ) | ac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
DCHKLQ
!> !> DCHKLQ tests DGELQF, DORGLQ and DORMLQ. !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AL | !> AL is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dchklq.f.
| subroutine dchklqt | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKLQT
!> !> DCHKLQT tests DGELQT and DGEMLQT. !>
| [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 dchklqt.f.
| subroutine dchklqtp | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKLQTP
!> !> DCHKLQTP tests DTPLQT and DTPMLQT. !>
| [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 dchklqtp.f.
| subroutine dchkorhr_col | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKORHR_COL
!> !> DCHKORHR_COL tests: !> 1) DORGTSQR and DORHR_COL using DLATSQR, DGEMQRT, !> 2) DORGTSQR_ROW and DORHR_COL inside DGETSQRHRT !> (which calls DLATSQR, DORGTSQR_ROW and DORHR_COL) using DGEMQRT. !> Therefore, DLATSQR (part of DGEQR), DGEMQRT (part of DGEMQR) !> 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 dchkorhr_col.f.
| subroutine dchkpb | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKPB
!> !> DCHKPB tests DPBTRF, -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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file dchkpb.f.
| subroutine dchkpo | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKPO
!> !> DCHKPO tests DPOTRF, -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 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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file dchkpo.f.
| subroutine dchkpp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKPP
!> !> DCHKPP tests DPPTRF, -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 DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 160 of file dchkpp.f.
| subroutine dchkps | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | perm, | ||
| integer, dimension( * ) | piv, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
DCHKPS
!> !> DCHKPS tests DPSTRF. !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | PERM | !> PERM is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | PIV | !> PIV is INTEGER array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dchkps.f.
| subroutine dchkpt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
DCHKPT
!> !> DCHKPT tests DPTTRF, -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 DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | D | !> D is DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | E | !> E is DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [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 144 of file dchkpt.f.
| subroutine dchkq3 | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer, dimension( * ) | nxval, | ||
| double precision | thresh, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | copya, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( * ) | work, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKQ3
!> !> DCHKQ3 tests DGEQP3. !>
| [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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (MMAX*NMAX) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension !> (min(MMAX,NMAX)) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (MMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (MMAX*NMAX + 4*NMAX + MMAX) !> |
| [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 dchkq3.f.
| subroutine dchkql | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | af, | ||
| double precision, dimension( * ) | aq, | ||
| double precision, dimension( * ) | al, | ||
| double precision, dimension( * ) | ac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
DCHKQL
!> !> DCHKQL tests DGEQLF, DORGQL and DORMQL. !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AL | !> AL is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dchkql.f.
| subroutine dchkqr | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | af, | ||
| double precision, dimension( * ) | aq, | ||
| double precision, dimension( * ) | ar, | ||
| double precision, dimension( * ) | ac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKQR
!> !> DCHKQR tests DGEQRF, DORGQR and DORMQR. !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AR | !> AR is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dchkqr.f.
| subroutine dchkqrt | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKQRT
!> !> DCHKQRT tests DGEQRT and DGEMQRT. !>
| [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 dchkqrt.f.
| subroutine dchkqrtp | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKQRTP
!> !> DCHKQRTP tests DTPQRT and DTPMQRT. !>
| [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 dchkqrtp.f.
| program dchkrfp |
DCHKRFP
!> !> DCHKRFP is the main test program for the DOUBLE PRECISION 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 dchkrq | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | af, | ||
| double precision, dimension( * ) | aq, | ||
| double precision, dimension( * ) | ar, | ||
| double precision, dimension( * ) | ac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKRQ
!> !> DCHKRQ tests DGERQF, DORGRQ and DORMRQ. !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AQ | !> AQ is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AR | !> AR is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AC | !> AC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dchkrq.f.
| subroutine dchksp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKSP
!> !> DCHKSP tests DSPTRF, -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 DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [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(2,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, !> dimension (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 160 of file dchksp.f.
| subroutine dchksy | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKSY
!> !> DCHKSY tests DSYTRF, -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 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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 167 of file dchksy.f.
| subroutine dchksy_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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKSY_AA
!> !> DCHKSY_AA tests DSYTRF_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 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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 167 of file dchksy_aa.f.
| subroutine dchksy_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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKSY_AA_2STAGE
!> !> DCHKSY_AA_2STAGE tests DSYTRF_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 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)) !> |
| [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 dchksy_aa_2stage.f.
| subroutine dchksy_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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKSY_RK
!> DCHKSY_RK tests DSYTRF_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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is DOUBLE PRECISION array, dimension (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), !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NSMAX), !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 173 of file dchksy_rk.f.
| subroutine dchksy_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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKSY_ROOK
!> !> DCHKSY_ROOK tests DSYTRF_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 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)) !> |
| [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 dchksy_rook.f.
| subroutine dchktb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | ab, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKTB
!> !> DCHKTB tests DTBTRS, -RFS, and -CON, and DLATBS. !>
| [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 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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 152 of file dchktb.f.
| subroutine dchktp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | ap, | ||
| double precision, dimension( * ) | ainvp, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKTP
!> !> DCHKTP tests DTPTRI, -TRS, -RFS, and -CON, and DLATPS !>
| [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 DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINVP | !> AINVP is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [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] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [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 154 of file dchktp.f.
| subroutine dchktr | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DCHKTR
!> !> DCHKTR tests DTRTRI, -TRS, -RFS, and -CON, and DLATRS !>
| [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 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)) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 164 of file dchktr.f.
| subroutine dchktsqr | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKQRT
!> !> DCHKTSQR tests DGETSQR and DORMTSQR. !>
| [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 dchktsqr.f.
| subroutine dchktz | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | copya, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( * ) | work, | ||
| integer | nout ) |
DCHKTZ
!> !> DCHKTZ tests DTZRZF. !>
| [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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (MMAX*NMAX) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension !> (min(MMAX,NMAX)) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (MMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (MMAX*NMAX + 4*NMAX + MMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 130 of file dchktz.f.
| subroutine ddrvab | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| real, dimension(*) | swork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVAB
!> !> DDRVAB tests DSGESV !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC 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] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(2*NMAX,2*NSMAX+NWORK)) !> |
| [out] | SWORK | !> SWORK is REAL 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 148 of file ddrvab.f.
| subroutine ddrvac | ( | logical, dimension( * ) | dotype, |
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| double precision | thresh, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| real, dimension(*) | swork, | ||
| integer | nout ) |
DDRVAC
!> !> DDRVAC tests DSPOSV. !>
| [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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NSMAX) !> |
| [out] | X | !> X 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(2*NMAX,2*NSMAX+NWORK)) !> |
| [out] | SWORK | !> SWORK is REAL array, dimension !> (NMAX*(NSMAX+NMAX)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 141 of file ddrvac.f.
| subroutine ddrvgb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| double precision, dimension( * ) | a, | ||
| integer | la, | ||
| double precision, dimension( * ) | afb, | ||
| integer | lafb, | ||
| double precision, dimension( * ) | asav, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | bsav, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVGB
DDRVGBX
!> !> DDRVGB tests the driver routines DGBSV 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LA) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> DDRVGB tests the driver routines DGBSV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise ddrvgb.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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LA) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 169 of file ddrvgb.f.
| subroutine ddrvge | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | asav, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | bsav, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVGE
DDRVGEX
!> !> DDRVGE tests the driver routines DGESV 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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NRHS+NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
!> !> DDRVGE tests the driver routines DGESV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise ddrvge.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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (2*NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension (2*NRHS+NMAX) !> |
| [out] | IWORK | !> IWORK is INTEGER array, dimension (2*NMAX) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 161 of file ddrvge.f.
| subroutine ddrvgt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | af, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVGT
!> !> DDRVGT tests DGTSV 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 DOUBLE PRECISION array, dimension (NMAX*4) !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (NMAX*4) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(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 ddrvgt.f.
| subroutine ddrvls | ( | 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, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | copya, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | copyb, | ||
| double precision, dimension( * ) | c, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | copys, | ||
| integer | nout ) |
DDRVLS
!> !> DDRVLS tests the least squares driver routines DGELS, DGETSLS, DGELSS, DGELSY, !> and DGELSD. !>
| [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 orthogonal 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 orthogonal 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] | 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] | 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. !> |
| [in] | TSTERR | !> TSTERR is LOGICAL !> Flag that indicates whether error exits are to be tested. !> |
| [out] | A | !> A is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (MMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (MMAX*NSMAX) !> |
| [out] | C | !> C is DOUBLE PRECISION 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 ddrvls.f.
| subroutine ddrvpb | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | asav, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | bsav, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVPB
!> !> DDRVPB tests the driver routines DPBSV 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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,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 161 of file ddrvpb.f.
| subroutine ddrvpo | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | asav, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | bsav, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVPO
DDRVPOX
!> !> DDRVPO tests the driver routines DPOSV 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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,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. !> |
!> !> DDRVPO tests the driver routines DPOSV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise ddrvpo.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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,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 161 of file ddrvpo.f.
| subroutine ddrvpp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | asav, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | bsav, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVPP
!> !> DDRVPP tests the driver routines DPPSV 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 DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | S | !> S is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,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 164 of file ddrvpp.f.
| subroutine ddrvpt | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer | nout ) |
DDRVPT
!> !> DDRVPT tests DPTSV 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 DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | D | !> D is DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | E | !> E is DOUBLE PRECISION array, dimension (NMAX*2) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(3,NRHS)) !> |
| [out] | RWORK | !> RWORK is DOUBLE PRECISION array, dimension !> (max(NMAX,2*NRHS)) !> |
| [in] | NOUT | !> NOUT is INTEGER !> The unit number for output. !> |
Definition at line 138 of file ddrvpt.f.
| subroutine ddrvrf1 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision | thresh, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | arf, | ||
| double precision, dimension( * ) | work ) |
DDRVRF1
!> !> DDRVRF1 tests the LAPACK RFP routines: !> DLANSF !>
| [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 DOUBLE PRECISION array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | ARF | !> ARF is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension ( NMAX ) !> |
Definition at line 93 of file ddrvrf1.f.
| subroutine ddrvrf2 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | arf, | ||
| double precision, dimension(*) | ap, | ||
| double precision, dimension( lda, * ) | asav ) |
DDRVRF2
!> !> DDRVRF2 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 DOUBLE PRECISION array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | ARF | !> ARF is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | AP | !> AP is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | ASAV | !> ASAV is DOUBLE PRECISION array, dimension (LDA,NMAX) !> |
Definition at line 88 of file ddrvrf2.f.
| subroutine ddrvrf3 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision | thresh, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | arf, | ||
| double precision, dimension( lda, * ) | b1, | ||
| double precision, dimension( lda, * ) | b2, | ||
| double precision, dimension( * ) | d_work_dlange, | ||
| double precision, dimension( * ) | d_work_dgeqrf, | ||
| double precision, dimension( * ) | tau ) |
DDRVRF3
!> !> DDRVRF3 tests the LAPACK RFP routines: !> DTFSM !>
| [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 DOUBLE PRECISION array, dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | ARF | !> ARF is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | B1 | !> B1 is DOUBLE PRECISION array, dimension (LDA,NMAX) !> |
| [out] | B2 | !> B2 is DOUBLE PRECISION array, dimension (LDA,NMAX) !> |
| [out] | D_WORK_DLANGE | !> D_WORK_DLANGE is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | D_WORK_DGEQRF | !> D_WORK_DGEQRF is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | TAU | !> TAU is DOUBLE PRECISION array, dimension (NMAX) !> |
Definition at line 116 of file ddrvrf3.f.
| subroutine ddrvrf4 | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| double precision | thresh, | ||
| double precision, dimension( ldc, * ) | c1, | ||
| double precision, dimension( ldc, *) | c2, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | crf, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | d_work_dlange ) |
DDRVRF4
!> !> DDRVRF4 tests the LAPACK RFP routines: !> DSFRK !>
| [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 DOUBLE PRECISION array, !> dimension (LDC,NMAX) !> |
| [out] | C2 | !> C2 is DOUBLE PRECISION array, !> dimension (LDC,NMAX) !> |
| [in] | LDC | !> LDC is INTEGER !> The leading dimension of the array A. !> LDA >= max(1,NMAX). !> |
| [out] | CRF | !> CRF is DOUBLE PRECISION array, !> dimension ((NMAX*(NMAX+1))/2). !> |
| [out] | A | !> A is DOUBLE PRECISION array, !> dimension (LDA,NMAX) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,NMAX). !> |
| [out] | D_WORK_DLANGE | !> D_WORK_DLANGE is DOUBLE PRECISION array, dimension (NMAX) !> |
Definition at line 116 of file ddrvrf4.f.
| subroutine ddrvrfp | ( | integer | nout, |
| integer | nn, | ||
| integer, dimension( nn ) | nval, | ||
| integer | nns, | ||
| integer, dimension( nns ) | nsval, | ||
| integer | nnt, | ||
| integer, dimension( nnt ) | ntval, | ||
| double precision | thresh, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | asav, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | bsav, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | arf, | ||
| double precision, dimension( * ) | arfinv, | ||
| double precision, dimension( * ) | d_work_dlatms, | ||
| double precision, dimension( * ) | d_work_dpot01, | ||
| double precision, dimension( * ) | d_temp_dpot02, | ||
| double precision, dimension( * ) | d_temp_dpot03, | ||
| double precision, dimension( * ) | d_work_dlansy, | ||
| double precision, dimension( * ) | d_work_dpot02, | ||
| double precision, dimension( * ) | d_work_dpot03 ) |
DDRVRFP
!> !> DDRVRFP tests the LAPACK RFP routines: !> DPFTRF, DPFTRS, and DPFTRI. !> !> This testing routine follow the same tests as DDRVPO (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 DTRTTF and !> DTFTTR. !> !> 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 DPFTRF, 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 DPFTRF 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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | ASAV | !> ASAV 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*MAXRHS) !> |
| [out] | BSAV | !> BSAV is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) !> |
| [out] | ARF | !> ARF is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2) !> |
| [out] | ARFINV | !> ARFINV is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2) !> |
| [out] | D_WORK_DLATMS | !> D_WORK_DLATMS is DOUBLE PRECISION array, dimension ( 3*NMAX ) !> |
| [out] | D_WORK_DPOT01 | !> D_WORK_DPOT01 is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_TEMP_DPOT02 | !> D_TEMP_DPOT02 is DOUBLE PRECISION array, dimension ( NMAX*MAXRHS ) !> |
| [out] | D_TEMP_DPOT03 | !> D_TEMP_DPOT03 is DOUBLE PRECISION array, dimension ( NMAX*NMAX ) !> |
| [out] | D_WORK_DLANSY | !> D_WORK_DLANSY is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_WORK_DPOT02 | !> D_WORK_DPOT02 is DOUBLE PRECISION array, dimension ( NMAX ) !> |
| [out] | D_WORK_DPOT03 | !> D_WORK_DPOT03 is DOUBLE PRECISION array, dimension ( NMAX ) !> |
Definition at line 232 of file ddrvrfp.f.
| subroutine ddrvsp | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVSP
!> !> DDRVSP tests the driver routines DSPSV 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 DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | AINV | !> AINV is DOUBLE PRECISION array, dimension !> (NMAX*(NMAX+1)/2) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(2,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 153 of file ddrvsp.f.
| subroutine ddrvsy | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVSY
DDRVSYX
!> !> DDRVSY tests the driver routines DSYSV 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 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*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (NMAX*max(2,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. !> |
!> !> DDRVSY tests the driver routines DSYSV, -SVX, and -SVXX. !> !> Note that this file is used only when the XBLAS are available, !> otherwise ddrvsy.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 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*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension !> (NMAX*max(2,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 149 of file ddrvsy.f.
| subroutine ddrvsy_aa | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVSY_AA
!> !> DDRVSY_AA tests the driver routine DSYSV_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 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*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (NMAX*max(2,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 149 of file ddrvsy_aa.f.
| subroutine ddrvsy_aa_2stage | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVSY_AA_2STAGE
!> !> DDRVSY_AA_2STAGE tests the driver routine DSYSV_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 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*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 ddrvsy_aa_2stage.f.
| subroutine ddrvsy_rk | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVSY_RK
!> DDRVSY_RK tests the driver routines DSYSV_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 DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is DOUBLE PRECISION array, dimension (NMAX) !> |
| [out] | AINV | !> AINV is DOUBLE PRECISION array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (NMAX*max(2,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 153 of file ddrvsy_rk.f.
| subroutine ddrvsy_rook | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| double precision | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | x, | ||
| double precision, dimension( * ) | xact, | ||
| double precision, dimension( * ) | work, | ||
| double precision, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
DDRVSY_ROOK
!> !> DDRVSY_ROOK tests the driver routines DSYSV_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 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*NRHS) !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (NMAX*max(2,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 149 of file ddrvsy_rook.f.
| subroutine debchvxx | ( | double precision | thresh, |
| character*3 | path ) |
DEBCHVXX
!> !> DEBCHVXX will run D**SVXX on a series of Hilbert matrices and then !> compare the error bounds returned by D**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 D**SVXX !> 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 debchvxx.f.
| subroutine derrab | ( | integer | nunit | ) |
DERRAB
!> !> DERRAB tests the error exits for DSGESV. !>
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 46 of file derrab.f.
| subroutine derrac | ( | integer | nunit | ) |
DERRAC
!> !> DERRAC tests the error exits for DSPOSV. !>
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 46 of file derrac.f.
| subroutine derrge | ( | character*3 | path, |
| integer | nunit ) |
DERRGE
DERRGEX
!> !> DERRGE tests the error exits for the DOUBLE PRECISION 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. !> |
!> !> DERRGE tests the error exits for the DOUBLE PRECISION routines !> for general matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise derrge.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 derrge.f.
| subroutine derrgt | ( | character*3 | path, |
| integer | nunit ) |
DERRGT
!> !> DERRGT tests the error exits for the DOUBLE PRECISION 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 derrgt.f.
| subroutine derrlq | ( | character*3 | path, |
| integer | nunit ) |
DERRLQ
!> !> DERRLQ tests the error exits for the DOUBLE PRECISION 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 derrlq.f.
| subroutine derrlqt | ( | character*3 | path, |
| integer | nunit ) |
DERLQT
!> !> DERRLQT tests the error exits for the DOUBLE PRECISION routines !> that use the LQT 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 derrlqt.f.
| subroutine derrlqtp | ( | character*3 | path, |
| integer | nunit ) |
DERRLQTP
!> !> DERRLQTP tests the error exits for the REAL routines !> that use the LQT 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 derrlqtp.f.
| subroutine derrls | ( | character*3 | path, |
| integer | nunit ) |
DERRLS
!> !> DERRLS tests the error exits for the DOUBLE PRECISION least squares !> driver routines (DGELS, SGELSS, SGELSY, SGELSD). !>
| [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 derrls.f.
| subroutine derrorhr_col | ( | character(len=3) | path, |
| integer | nunit ) |
DERRORHR_COL
!> !> DERRORHR_COL tests the error exits for DORHR_COL that does !> Householder reconstruction from the output of tall-skinny !> factorization DLATSQR. !>
| [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 derrorhr_col.f.
| subroutine derrpo | ( | character*3 | path, |
| integer | nunit ) |
DERRPO
DERRPOX
!> !> DERRPO tests the error exits for the DOUBLE PRECISION routines !> for symmetric 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. !> |
!> !> DERRPO tests the error exits for the DOUBLE PRECISION routines !> for symmetric positive definite matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise derrpo.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 derrpo.f.
| subroutine derrps | ( | character*3 | path, |
| integer | nunit ) |
DERRPS
!> !> DERRPS tests the error exits for the DOUBLE PRECISION routines !> for DPSTRF. !>
| [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 derrps.f.
| subroutine derrql | ( | character*3 | path, |
| integer | nunit ) |
DERRQL
!> !> DERRQL tests the error exits for the DOUBLE PRECISION 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 derrql.f.
| subroutine derrqp | ( | character*3 | path, |
| integer | nunit ) |
DERRQP
!> !> DERRQP tests the error exits for DGEQP3. !>
| [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 derrqp.f.
| subroutine derrqr | ( | character*3 | path, |
| integer | nunit ) |
DERRQR
!> !> DERRQR tests the error exits for the DOUBLE PRECISION 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 derrqr.f.
| subroutine derrqrt | ( | character*3 | path, |
| integer | nunit ) |
DERRQRT
!> !> DERRQRT tests the error exits for the DOUBLE PRECISION 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 derrqrt.f.
| subroutine derrqrtp | ( | character*3 | path, |
| integer | nunit ) |
DERRQRTP
!> !> DERRQRTP tests the error exits for the REAL 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 derrqrtp.f.
| subroutine derrrfp | ( | integer | nunit | ) |
DERRRFP
!> !> DERRRFP tests the error exits for the DOUBLE PRECISION driver routines !> for solving linear systems of equations. !> !> DDRVRFP tests the DOUBLE PRECISION LAPACK RFP routines: !> DTFSM, DTFTRI, DSFRK, DTFTTP, DTFTTR, DPFTRF, DPFTRS, DTPTTF, !> DTPTTR, DTRTTF, and DTRTTP !>
| [in] | NUNIT | !> NUNIT is INTEGER !> The unit number for output. !> |
Definition at line 51 of file derrrfp.f.
| subroutine derrrq | ( | character*3 | path, |
| integer | nunit ) |
DERRRQ
!> !> DERRRQ tests the error exits for the DOUBLE PRECISION 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 derrrq.f.
| subroutine derrsy | ( | character*3 | path, |
| integer | nunit ) |
DERRSY
DERRSYX
!> !> DERRSY tests the error exits for the DOUBLE PRECISION 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. !> |
!> !> DERRSY tests the error exits for the DOUBLE PRECISION routines !> for symmetric indefinite matrices. !> !> Note that this file is used only when the XBLAS are available, !> otherwise derrsy.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 derrsy.f.
| subroutine derrtr | ( | character*3 | path, |
| integer | nunit ) |
DERRTR
!> !> DERRTR tests the error exits for the DOUBLE PRECISION 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 54 of file derrtr.f.
| subroutine derrtsqr | ( | character*3 | path, |
| integer | nunit ) |
DERRTSQR
!> !> DERRTSQR tests the error exits for the DOUBLE PRECISION routines !> that use the TSQR 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 derrtsqr.f.
| subroutine derrtz | ( | character*3 | path, |
| integer | nunit ) |
DERRTZ
!> !> DERRTZ tests the error exits for STZRZF. !>
| [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 derrtz.f.
| subroutine derrvx | ( | character*3 | path, |
| integer | nunit ) |
DERRVX
DERRVXX
!> !> DERRVX tests the error exits for the DOUBLE PRECISION 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 derrvx.f.
| subroutine dgbt01 | ( | integer | m, |
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DGBT01
!> !> DGBT01 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 !> DGBTRF. 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 DGBTRF 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 DGBTRF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dgbt01.f.
| subroutine dgbt02 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DGBT02
!> !> DGBT02 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 or A**T, depending on TRANS, and EPS is the !> machine epsilon. !> The norm used is the 1-norm. !>
| [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] | 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 147 of file dgbt02.f.
| subroutine dgbt05 | ( | character | trans, |
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| integer | nrhs, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DGBT05
!> !> DGBT05 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 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, 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgbt05.f.
| subroutine dgelqs | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
DGELQS
!> !> Compute a minimum-norm solution !> min || A*X - B || !> using the LQ factorization !> A = L*Q !> computed by DGELQF. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the LQ factorization of the original matrix A as !> returned by DGELQF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (M) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgelqs.f.
| logical function dgennd | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda ) |
DGENND
!> !> DGENND tests that its argument has a 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 DOUBLE PRECISION array, dimension (LDA, N) !> The matrix. !> |
| [in] | LDA | !> LDA is INTEGER !> Leading dimension of A. !> |
Definition at line 67 of file dgennd.f.
| subroutine dgeqls | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
DGEQLS
!> !> Solve the least squares problem !> min || A*X - B || !> using the QL factorization !> A = Q*L !> computed by DGEQLF. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QL factorization of the original matrix A as !> returned by DGEQLF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (N) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgeqls.f.
| subroutine dgeqrs | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
DGEQRS
!> !> Solve the least squares problem !> min || A*X - B || !> using the QR factorization !> A = Q*R !> computed by DGEQRF. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QR factorization of the original matrix A as !> returned by DGEQRF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (N) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgeqrs.f.
| subroutine dgerqs | ( | integer | m, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| integer | info ) |
DGERQS
!> !> Compute a minimum-norm solution !> min || A*X - B || !> using the RQ factorization !> A = R*Q !> computed by DGERQF. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the RQ factorization of the original matrix A as !> returned by DGERQF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= M. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (M) !> Details of the orthogonal matrix Q. !> |
| [in,out] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgerqs.f.
| subroutine dget01 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DGET01
!> !> DGET01 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DGETRF. !> 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 DGETRF. !> |
| [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 105 of file dget01.f.
| subroutine dget02 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DGET02
!> !> DGET02 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 or A**T, depending on TRANS, and EPS is the !> machine epsilon. !> The norm used is the 1-norm. !>
| [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] | 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 133 of file dget02.f.
| subroutine dget03 | ( | integer | n, |
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| double precision, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
DGET03
!> !> DGET03 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 107 of file dget03.f.
| subroutine dget04 | ( | integer | n, |
| integer | nrhs, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision | rcond, | ||
| double precision | resid ) |
DGET04
!> !> DGET04 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dget04.f.
| double precision function dget06 | ( | double precision | rcond, |
| double precision | rcondc ) |
DGET06
!> !> DGET06 computes a test ratio to compare two values for RCOND. !>
| [in] | RCOND | !> RCOND is DOUBLE PRECISION !> The estimate of the reciprocal of the condition number of A, !> as computed by DGECON. !> |
| [in] | RCONDC | !> RCONDC is DOUBLE PRECISION !> The reciprocal of the condition number of A, computed as !> ( 1/norm(A) ) / norm(inv(A)). !> |
Definition at line 54 of file dget06.f.
| subroutine dget07 | ( | character | trans, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| logical | chkferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DGET07
!> !> DGET07 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 163 of file dget07.f.
| subroutine dget08 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DGET08
!> !> DGET08 computes the residual for a solution of a system of linear !> equations A*x = b or A'*x = b: !> RESID = norm(B - A*X,inf) / ( norm(A,inf) * norm(X,inf) * 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'*x = b, where A' is the transpose of A !> = 'C': A'*x = b, where A' is the 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dget08.f.
| subroutine dgtt01 | ( | integer | n, |
| double precision, dimension( * ) | dl, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | du, | ||
| double precision, dimension( * ) | dlf, | ||
| double precision, dimension( * ) | df, | ||
| double precision, dimension( * ) | duf, | ||
| double precision, dimension( * ) | du2, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DGTT01
!> !> DGTT01 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 DOUBLE PRECISION array, dimension (N-1) !> The (n-1) sub-diagonal elements of A. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The diagonal elements of A. !> |
| [in] | DU | !> DU is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) super-diagonal elements of A. !> |
| [in] | DLF | !> DLF is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) multipliers that define the matrix L from the !> LU factorization of A. !> |
| [in] | DF | !> DF is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the upper triangular matrix U from !> the LU factorization of A. !> |
| [in] | DUF | !> DUF is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) elements of the first super-diagonal of U. !> |
| [in] | DU2 | !> DU2 is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgtt01.f.
| subroutine dgtt02 | ( | character | trans, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | dl, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | du, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision | resid ) |
DGTT02
!> !> DGTT02 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. !> The norm used is the 1-norm. !>
| [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 = 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 DOUBLE PRECISION array, dimension (N-1) !> The (n-1) sub-diagonal elements of A. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The diagonal elements of A. !> |
| [in] | DU | !> DU is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) super-diagonal elements of A. !> |
| [in] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 123 of file dgtt02.f.
| subroutine dgtt05 | ( | character | trans, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | dl, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | du, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DGTT05
!> !> DGTT05 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 DOUBLE PRECISION array, dimension (N-1) !> The (n-1) sub-diagonal elements of A. !> |
| [in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> The diagonal elements of A. !> |
| [in] | DU | !> DU is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) super-diagonal elements of A. !> |
| [in] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dgtt05.f.
| subroutine dlahilb | ( | integer | n, |
| integer | nrhs, | ||
| double precision, dimension(lda, n) | a, | ||
| integer | lda, | ||
| double precision, dimension(ldx, nrhs) | x, | ||
| integer | ldx, | ||
| double precision, dimension(ldb, nrhs) | b, | ||
| integer | ldb, | ||
| double precision, dimension(n) | work, | ||
| integer | info ) |
DLAHILB
!> !> DLAHILB 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 !> |
Definition at line 123 of file dlahilb.f.
| subroutine dlaord | ( | character | job, |
| integer | n, | ||
| double precision, dimension( * ) | x, | ||
| integer | incx ) |
DLAORD
!> !> DLAORD sorts the elements of a vector x in increasing or decreasing !> order. !>
| [in] | JOB | !> JOB is CHARACTER !> = 'I': Sort in increasing order !> = 'D': Sort in decreasing order !> |
| [in] | N | !> N is INTEGER !> The length of the vector X. !> |
| [in,out] | X | !> X is DOUBLE PRECISION array, dimension !> (1+(N-1)*INCX) !> On entry, the vector of length n to be sorted. !> On exit, the vector x is sorted in the prescribed order. !> |
| [in] | INCX | !> INCX is INTEGER !> The spacing between successive elements of X. INCX >= 0. !> |
Definition at line 72 of file dlaord.f.
| subroutine dlaptm | ( | integer | n, |
| integer | nrhs, | ||
| double precision | alpha, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision | beta, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb ) |
DLAPTM
!> !> DLAPTM multiplies an N by NRHS matrix X by a symmetric 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] | 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 DOUBLE PRECISION array, dimension (N-1) !> The (n-1) subdiagonal or superdiagonal elements of A. !> |
| [in] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 115 of file dlaptm.f.
| subroutine dlarhs | ( | character*3 | path, |
| character | xtype, | ||
| character | uplo, | ||
| character | trans, | ||
| integer | m, | ||
| integer | n, | ||
| integer | kl, | ||
| integer | ku, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | info ) |
DLARHS
!> !> DLARHS 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 or A**T, depending on TRANS. !>
| [in] | PATH | !> PATH is CHARACTER*3 !> The type of the real matrix A. PATH may be given in any !> combination of upper and lower case. Valid types include !> xGE: General m x n matrix !> xGB: General banded matrix !> xPO: Symmetric positive definite, 2-D storage !> xPP: Symmetric positive definite packed !> xPB: Symmetric positive definite 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 !> Specifies whether the upper or lower triangular part of the !> matrix A is stored, if A is symmetric. !> = '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 = Transpose) !> |
| [in] | M | !> M is INTEGER !> The number or 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 DOUBLE PRECISION 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) DOUBLE PRECISION 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 DOUBLE PRECISION 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 !> DLATMS). 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 203 of file dlarhs.f.
| subroutine dlatb4 | ( | 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 ) |
DLATB4
!> !> DLATB4 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 !> = '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 118 of file dlatb4.f.
| subroutine dlatb5 | ( | character*3 | path, |
| integer | imat, | ||
| integer | n, | ||
| character | type, | ||
| integer | kl, | ||
| integer | ku, | ||
| double precision | anorm, | ||
| integer | mode, | ||
| double precision | cndnum, | ||
| character | dist ) |
DLATB5
!> !> DLATB5 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 dlatb5.f.
| subroutine dlattb | ( | integer | imat, |
| character | uplo, | ||
| character | trans, | ||
| character | diag, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | n, | ||
| integer | kd, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | work, | ||
| integer | info ) |
DLATTB
!> !> DLATTB 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 !> DLATMS). 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (N) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (2*N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 133 of file dlattb.f.
| subroutine dlattp | ( | integer | imat, |
| character | uplo, | ||
| character | trans, | ||
| character | diag, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | n, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | work, | ||
| integer | info ) |
DLATTP
!> !> DLATTP 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 (= 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 !> DLATMS). Modified on exit. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix to be generated. !> |
| [out] | A | !> A is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (N) !> The right hand side vector, if IMAT > 10. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (3*N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 123 of file dlattp.f.
| subroutine dlattr | ( | integer | imat, |
| character | uplo, | ||
| character | trans, | ||
| character | diag, | ||
| integer, dimension( 4 ) | iseed, | ||
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | work, | ||
| integer | info ) |
DLATTR
!> !> DLATTR generates a triangular test matrix. !> 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 !> DLATMS). Modified on exit. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix to be generated. !> |
| [out] | A | !> A is DOUBLE PRECISION 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 !> set so that A(k,k) = k for 1 <= k <= n. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [out] | B | !> B is DOUBLE PRECISION array, dimension (N) !> The right hand side vector, if IMAT > 10. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (3*N) !> |
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !> |
Definition at line 131 of file dlattr.f.
| subroutine dlavsp | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | a, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
DLAVSP
!> !> DLAVSP 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 DSPTRF. !> !> 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' ) !> 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 !> = 'T': 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 DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L, stored as a packed triangular !> matrix as computed by DSPTRF. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from DSPTRF. !> |
| [in,out] | B | !> B is DOUBLE PRECISION 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 128 of file dlavsp.f.
| subroutine dlavsy | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
DLAVSY
!> !> DLAVSY 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 DSYTRF. !> !> 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') !> 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 !> = 'T': 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 DOUBLE PRECISION array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by DSYTRF. !> 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 DSYTRF. !> !> 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 DOUBLE PRECISION 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 dlavsy.f.
| subroutine dlavsy_rook | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| integer | info ) |
DLAVSY_ROOK
!> !> DLAVSY_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 DSYTRF_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') !> 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 !> = 'T': 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 DOUBLE PRECISION array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by DSYTRF_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 DSYTRF_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 DOUBLE PRECISION 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 155 of file dlavsy_rook.f.
| subroutine dlqt01 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DLQT01
!> !> DLQT01 tests DGELQF, which computes the LQ factorization of an m-by-n !> matrix A, and partially tests DORGLQ which forms the n-by-n !> orthogonal matrix Q. !> !> DLQT01 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the LQ factorization of A, as returned by DGELQF. !> See DGELQF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> The n-by-n orthogonal matrix Q. !> |
| [out] | L | !> L is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGELQF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dlqt01.f.
| subroutine dlqt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DLQT02
!> !> DLQT02 tests DORGLQ, 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, DLQT02 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by DLQT01. !> |
| [in] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the LQ factorization of A, as returned by DGELQF. !> See DGELQF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | L | !> L is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (M) !> The scalar factors of the elementary reflectors corresponding !> to the LQ factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dlqt02.f.
| subroutine dlqt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | c, | ||
| double precision, dimension( lda, * ) | cc, | ||
| double precision, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DLQT03
!> !> DLQT03 tests DORMLQ, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> DLQT03 compares the results of a call to DORMLQ with the results of !> forming Q explicitly by a call to DORGLQ and then performing matrix !> multiplication by a call to DGEMM. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the LQ factorization of an m-by-n matrix, as !> returned by DGELQF. See SGELQF for further details. !> |
| [out] | C | !> C is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | CC | !> CC is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the LQ factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dlqt03.f.
| subroutine dlqt04 | ( | integer | m, |
| integer | n, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
DLQT04
!> !> DLQT04 tests DGELQT and DGEMLQT. !>
| [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 - L Q | !> RESULT(2) = | I - Q Q^H | !> 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 dlqt04.f.
| subroutine dlqt05 | ( | integer | m, |
| integer | n, | ||
| integer | l, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
DLQT05
!> !> DQRT05 tests DTPLQT and DTPMLQT. !>
| [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 dlqt05.f.
| subroutine dorhr_col01 | ( | integer | m, |
| integer | n, | ||
| integer | mb1, | ||
| integer | nb1, | ||
| integer | nb2, | ||
| double precision, dimension(6) | result ) |
DORHR_COL01
!> !> DORHR_COL01 tests DORGTSQR and DORHR_COL using DLATSQR, DGEMQRT. !> Therefore, DLATSQR (part of DGEQR), DGEMQRT (part of DGEMQR) !> 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 orthogonal 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 orthogonal 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 DGEMQRT, !> !> Q * C, (Q**H) * C, D * Q, D * (Q**H) are !> computed using DGEMM. !> |
Definition at line 118 of file dorhr_col01.f.
| subroutine dorhr_col02 | ( | integer | m, |
| integer | n, | ||
| integer | mb1, | ||
| integer | nb1, | ||
| integer | nb2, | ||
| double precision, dimension(6) | result ) |
DORHR_COL02
!> !> DORHR_COL02 tests DORGTSQR_ROW and DORHR_COL inside DGETSQRHRT !> (which calls DLATSQR, DORGTSQR_ROW and DORHR_COL) using DGEMQRT. !> Therefore, DLATSQR (part of DGEQR), DGEMQRT (part of DGEMQR) !> 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 orthogonal 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 orthogonal 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 DGEMQRT, !> !> Q * C, (Q**H) * C, D * Q, D * (Q**H) are !> computed using DGEMM. !> |
Definition at line 119 of file dorhr_col02.f.
| subroutine dpbt01 | ( | character | uplo, |
| integer | n, | ||
| integer | kd, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPBT01
!> !> DPBT01 reconstructs a symmetric 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 !> 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] | 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 DOUBLE PRECISION array, dimension (LDA,N) !> The original symmetric 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 DPBTRF for further details. !> |
| [in] | LDA | !> LDA is INTEGER. !> The leading dimension of the array A. LDA >= max(1,KD+1). !> |
| [in] | AFAC | !> AFAC is DOUBLE PRECISION 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 DPBTRF. !> |
| [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 117 of file dpbt01.f.
| subroutine dpbt02 | ( | character | uplo, |
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPBT02
!> !> DPBT02 computes the residual for a solution of a symmetric 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 !> 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] | 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 DOUBLE PRECISION array, dimension (LDA,N) !> The original symmetric 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 DPBTRF for further details. !> |
| [in] | LDA | !> LDA is INTEGER. !> The leading dimension of the array A. LDA >= max(1,KD+1). !> |
| [in] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dpbt02.f.
| subroutine dpbt05 | ( | character | uplo, |
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DPBT05
!> !> DPBT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> symmetric 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 !> symmetric 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 DOUBLE PRECISION array, dimension (LDAB,N) !> The upper or lower triangle of the symmetric 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dpbt05.f.
| subroutine dpot01 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPOT01
!> !> DPOT01 reconstructs a symmetric 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. !>
| [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 DOUBLE PRECISION 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,out] | AFAC | !> AFAC is DOUBLE PRECISION array, dimension (LDAFAC,N) !> On entry, the factor L or U from the L * L**T or U**T * U !> factorization of A. !> Overwritten with the reconstructed matrix, and then with !> the difference L * L**T - A (or U**T * 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**T - A) / ( N * norm(A) * EPS ) !> If UPLO = 'U', norm(U**T * U - A) / ( N * norm(A) * EPS ) !> |
Definition at line 103 of file dpot01.f.
| subroutine dpot02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPOT02
!> !> DPOT02 computes the residual for the solution of a 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 DOUBLE PRECISION 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] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 dpot02.f.
| subroutine dpot03 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| double precision, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
DPOT03
!> !> DPOT03 computes the residual for a 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 !> 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 DOUBLE PRECISION 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,out] | AINV | !> AINV is DOUBLE PRECISION 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 DOUBLE PRECISION 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 123 of file dpot03.f.
| subroutine dpot05 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DPOT05
!> !> DPOT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> symmetric 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 !> symmetric 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 DOUBLE PRECISION array, dimension (LDA,N) !> The symmetric 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 162 of file dpot05.f.
| subroutine dpot06 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPOT06
!> !> DPOT06 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dpot06.f.
| subroutine dppt01 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPPT01
!> !> DPPT01 reconstructs a symmetric 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. !>
| [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 DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The original symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in,out] | AFAC | !> AFAC is DOUBLE PRECISION 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 92 of file dppt01.f.
| subroutine dppt02 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DPPT02
!> !> DPPT02 computes the residual in the solution of a 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 !> 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 DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The original symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 120 of file dppt02.f.
| subroutine dppt03 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | ainv, | ||
| double precision, dimension( ldwork, * ) | work, | ||
| integer | ldwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | rcond, | ||
| double precision | resid ) |
DPPT03
!> !> DPPT03 computes the residual for a 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 !> 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 DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The original symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in] | AINV | !> AINV is DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The (symmetric) inverse of the matrix A, stored as a packed !> triangular matrix. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dppt03.f.
| subroutine dppt05 | ( | character | uplo, |
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | ap, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DPPT05
!> !> DPPT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> symmetric 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 !> symmetric 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 DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The upper or lower triangle of the symmetric 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 154 of file dppt05.f.
| subroutine dpst01 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| double precision, dimension( ldperm, * ) | perm, | ||
| integer | ldperm, | ||
| integer, dimension( * ) | piv, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid, | ||
| integer | rank ) |
DPST01
!> !> DPST01 reconstructs a symmetric 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. !>
| [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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 132 of file dpst01.f.
| subroutine dptt01 | ( | integer | n, |
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( * ) | df, | ||
| double precision, dimension( * ) | ef, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DPTT01
!> !> DPTT01 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (2*N) !> |
| [out] | RESID | !> RESID is DOUBLE PRECISION !> norm(L*D*L' - A) / (n * norm(A) * EPS) !> |
Definition at line 90 of file dptt01.f.
| subroutine dptt02 | ( | integer | n, |
| integer | nrhs, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision | resid ) |
DPTT02
!> !> DPTT02 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] | 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 DOUBLE PRECISION array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix A. !> |
| [in] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 103 of file dptt02.f.
| subroutine dptt05 | ( | integer | n, |
| integer | nrhs, | ||
| double precision, dimension( * ) | d, | ||
| double precision, dimension( * ) | e, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DPTT05
!> !> DPTT05 tests the error bounds from iterative refinement for the !> computed solution to a system of equations A*X = B, where A is a !> symmetric 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 DOUBLE PRECISION array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix A. !> |
| [in] | B | !> B is DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dptt05.f.
| subroutine dqlt01 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQLT01
!> !> DQLT01 tests DGEQLF, which computes the QL factorization of an m-by-n !> matrix A, and partially tests DORGQL which forms the m-by-m !> orthogonal matrix Q. !> !> DQLT01 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QL factorization of A, as returned by DGEQLF. !> See DGEQLF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,M) !> The m-by-m orthogonal matrix Q. !> |
| [out] | L | !> L is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGEQLF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqlt01.f.
| subroutine dqlt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | l, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQLT02
!> !> DQLT02 tests DORGQL, 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, DQLT02 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by DQLT01. !> |
| [in] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QL factorization of A, as returned by DGEQLF. !> See DGEQLF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | L | !> L is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (N) !> The scalar factors of the elementary reflectors corresponding !> to the QL factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqlt02.f.
| subroutine dqlt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | c, | ||
| double precision, dimension( lda, * ) | cc, | ||
| double precision, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQLT03
!> !> DQLT03 tests DORMQL, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> DQLT03 compares the results of a call to DORMQL with the results of !> forming Q explicitly by a call to DORGQL and then performing matrix !> multiplication by a call to DGEMM. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QL factorization of an m-by-n matrix, as !> returned by DGEQLF. See SGEQLF for further details. !> |
| [out] | C | !> C is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | CC | !> CC is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,M) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the QL factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqlt03.f.
| double precision function dqpt01 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| integer, dimension( * ) | jpvt, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DQPT01
!> !> DQPT01 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 DOUBLE PRECISION array, dimension (LDA, N) !> The original matrix A. !> |
| [in] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> The (possibly partial) output of DGEQPF. 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 DOUBLE PRECISION array, dimension (K) !> Details of the Householder transformations as returned by !> DGEQPF. !> |
| [in] | JPVT | !> JPVT is INTEGER array, dimension (N) !> Pivot information as returned by DGEQPF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= M*N+N. !> |
Definition at line 118 of file dqpt01.f.
| subroutine dqrt01 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQRT01
!> !> DQRT01 tests DGEQRF, which computes the QR factorization of an m-by-n !> matrix A, and partially tests DORGQR which forms the m-by-m !> orthogonal matrix Q. !> !> DQRT01 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QR factorization of A, as returned by DGEQRF. !> See DGEQRF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,M) !> The m-by-m orthogonal matrix Q. !> |
| [out] | R | !> R is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGEQRF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqrt01.f.
| subroutine dqrt01p | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQRT01P
!> !> DQRT01P tests DGEQRFP, which computes the QR factorization of an m-by-n !> matrix A, and partially tests DORGQR which forms the m-by-m !> orthogonal matrix Q. !> !> DQRT01P 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QR factorization of A, as returned by DGEQRFP. !> See DGEQRFP for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,M) !> The m-by-m orthogonal matrix Q. !> |
| [out] | R | !> R is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGEQRFP. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqrt01p.f.
| subroutine dqrt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQRT02
!> !> DQRT02 tests DORGQR, 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, DQRT02 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by DQRT01. !> |
| [in] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QR factorization of A, as returned by DGEQRF. !> See DGEQRF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | R | !> R is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (N) !> The scalar factors of the elementary reflectors corresponding !> to the QR factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqrt02.f.
| subroutine dqrt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | c, | ||
| double precision, dimension( lda, * ) | cc, | ||
| double precision, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DQRT03
!> !> DQRT03 tests DORMQR, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> DQRT03 compares the results of a call to DORMQR with the results of !> forming Q explicitly by a call to DORGQR and then performing matrix !> multiplication by a call to DGEMM. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the QR factorization of an m-by-n matrix, as !> returned by DGEQRF. See DGEQRF for further details. !> |
| [out] | C | !> C is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | CC | !> CC is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,M) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the QR factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 dqrt03.f.
| subroutine dqrt04 | ( | integer | m, |
| integer | n, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
DQRT04
!> !> DQRT04 tests DGEQRT and DGEMQRT. !>
| [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 dqrt04.f.
| subroutine dqrt05 | ( | integer | m, |
| integer | n, | ||
| integer | l, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
DQRT05
!> !> DQRT05 tests DTPQRT and DTPMQRT. !>
| [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 dqrt05.f.
| double precision function dqrt11 | ( | integer | m, |
| integer | k, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DQRT11
!> !> DQRT11 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (K) !> The scaling factors tau for the elementary transformations as !> computed by the QR factorization routine. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= M*M + M. !> |
Definition at line 97 of file dqrt11.f.
| double precision function dqrt12 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | s, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DQRT12
!> !> DQRT12 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= max(M*N + 4*min(M,N) + !> max(M,N), M*N+2*MIN( M, N )+4*N). !> |
Definition at line 88 of file dqrt12.f.
| subroutine dqrt13 | ( | integer | scale, |
| integer | m, | ||
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision | norma, | ||
| integer, dimension( 4 ) | iseed ) |
DQRT13
!> !> DQRT13 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 DOUBLE PRECISION 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 dqrt13.f.
| double precision function dqrt14 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DQRT14
!> !> DQRT14 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 = 'T') 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 !> = 'T': Transpose, check for X in the 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LDX,NRHS) !> If TRANS = 'N', the N-by-NRHS matrix X. !> IF TRANS = 'T', the M-by-NRHS matrix X. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> length of workspace array required !> If TRANS = 'N', LWORK >= (M+NRHS)*(N+2); !> if TRANS = 'T', LWORK >= (N+NRHS)*(M+2). !> |
Definition at line 114 of file dqrt14.f.
| subroutine dqrt15 | ( | integer | scale, |
| integer | rksel, | ||
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | s, | ||
| integer | rank, | ||
| double precision | norma, | ||
| double precision | normb, | ||
| integer, dimension( 4 ) | iseed, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DQRT15
!> !> DQRT15 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 of A. !> |
| [out] | NORMB | !> NORMB is DOUBLE PRECISION !> one-norm of B. !> |
| [in,out] | ISEED | !> ISEED is integer array, dimension (4) !> seed for random number generator. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 146 of file dqrt15.f.
| subroutine dqrt16 | ( | character | trans, |
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DQRT16
!> !> DQRT16 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'*x = b, where A' is the transpose of A !> = 'C': A'*x = b, where A' is the 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dqrt16.f.
| double precision function dqrt17 | ( | character | trans, |
| integer | iresid, | ||
| integer | m, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldb, * ) | c, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DQRT17
!> !> DQRT17 computes the ratio !> !> norm(R**T * op(A)) / ( norm(A) * alpha * max(M,N,NRHS) * EPS ), !> !> where R = B - op(A)*X, op(A) is A or A**T, 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. !> = 'T': Transpose, op(A) = A**T. !> |
| [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 = 'T', 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 = 'T', 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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LDX,NRHS) !> If TRANS = 'N', the n-by-nrhs matrix X. !> If TRANS = 'T', 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 = 'T', LDX >= M. !> |
| [in] | B | !> B is DOUBLE PRECISION array, dimension (LDB,NRHS) !> If TRANS = 'N', the m-by-nrhs matrix B. !> If TRANS = 'T', 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 = 'T', LDB >= N. !> |
| [out] | C | !> C is DOUBLE PRECISION array, dimension (LDB,NRHS) !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= NRHS*(M+N). !> |
Definition at line 151 of file dqrt17.f.
| subroutine drqt01 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DRQT01
!> !> DRQT01 tests DGERQF, which computes the RQ factorization of an m-by-n !> matrix A, and partially tests DORGRQ which forms the n-by-n !> orthogonal matrix Q. !> !> DRQT01 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A. !> |
| [out] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the RQ factorization of A, as returned by DGERQF. !> See DGERQF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> The n-by-n orthogonal matrix Q. !> |
| [out] | R | !> R is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors, as returned !> by DGERQF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 drqt01.f.
| subroutine drqt02 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | q, | ||
| double precision, dimension( lda, * ) | r, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DRQT02
!> !> DRQT02 tests DORGRQ, 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, DRQT02 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 DOUBLE PRECISION array, dimension (LDA,N) !> The m-by-n matrix A which was factorized by DRQT01. !> |
| [in] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> Details of the RQ factorization of A, as returned by DGERQF. !> See DGERQF for further details. !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | R | !> R is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (M) !> The scalar factors of the elementary reflectors corresponding !> to the RQ factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 drqt02.f.
| subroutine drqt03 | ( | integer | m, |
| integer | n, | ||
| integer | k, | ||
| double precision, dimension( lda, * ) | af, | ||
| double precision, dimension( lda, * ) | c, | ||
| double precision, dimension( lda, * ) | cc, | ||
| double precision, dimension( lda, * ) | q, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision, dimension( * ) | result ) |
DRQT03
!> !> DRQT03 tests DORMRQ, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> DRQT03 compares the results of a call to DORMRQ with the results of !> forming Q explicitly by a call to DORGRQ and then performing matrix !> multiplication by a call to DGEMM. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> Details of the RQ factorization of an m-by-n matrix, as !> returned by DGERQF. See SGERQF for further details. !> |
| [out] | C | !> C is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | CC | !> CC is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [out] | Q | !> Q is DOUBLE PRECISION array, dimension (LDA,N) !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the RQ factorization in AF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION 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 drqt03.f.
| double precision function drzt01 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| double precision, dimension( lda, * ) | af, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DRZT01
!> !> DRZT01 returns !> || A - R*Q || / ( M * eps * ||A|| ) !> for an upper trapezoidal A that was factored with DTZRZF. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> The original upper trapezoidal M by N matrix A. !> |
| [in] | AF | !> AF is DOUBLE PRECISION array, dimension (LDA,N) !> The output of DTZRZF 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 DOUBLE PRECISION array, dimension (M) !> Details of the Householder transformations as returned by !> DTZRZF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> The length of the array WORK. LWORK >= m*n + m*nb. !> |
Definition at line 96 of file drzt01.f.
| double precision function drzt02 | ( | integer | m, |
| integer | n, | ||
| double precision, dimension( lda, * ) | af, | ||
| integer | lda, | ||
| double precision, dimension( * ) | tau, | ||
| double precision, dimension( lwork ) | work, | ||
| integer | lwork ) |
DRZT02
!> !> DRZT02 returns !> || I - Q'*Q || / ( M * eps) !> where the matrix Q is defined by the Householder transformations !> generated by DTZRZF. !>
| [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 DOUBLE PRECISION array, dimension (LDA,N) !> The output of DTZRZF. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array AF. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION array, dimension (M) !> Details of the Householder transformations as returned by !> DTZRZF. !> |
| [out] | WORK | !> WORK is DOUBLE PRECISION array, dimension (LWORK) !> |
| [in] | LWORK | !> LWORK is INTEGER !> length of WORK array. LWORK >= N*N+N*NB. !> |
Definition at line 89 of file drzt02.f.
| subroutine dspt01 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( * ) | a, | ||
| double precision, dimension( * ) | afac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DSPT01
!> !> DSPT01 reconstructs a symmetric 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 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 DOUBLE PRECISION array, dimension (N*(N+1)/2) !> The original symmetric matrix A, stored as a packed !> triangular matrix. !> |
| [in] | AFAC | !> AFAC is DOUBLE PRECISION 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 DSPTRF. !> |
| [in] | IPIV | !> IPIV is INTEGER array, dimension (N) !> The pivot indices from DSPTRF. !> |
| [out] | C | !> C is DOUBLE PRECISION 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 109 of file dspt01.f.
| subroutine dsyt01 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DSYT01
!> !> DSYT01 reconstructs a 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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DSYTRF. !> |
| [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 DSYTRF. !> |
| [out] | C | !> C is DOUBLE PRECISION 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 122 of file dsyt01.f.
| subroutine dsyt01_3 | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| double precision, dimension( * ) | e, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DSYT01_3
!> !> DSYT01_3 reconstructs a symmetric indefinite matrix A from its !> block L*D*L' or U*D*U' factorization computed by DSYTRF_RK !> (or DSYTRF_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 DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LDAFAC,N) !> Diagonal of the block diagonal matrix D and factors U or L !> as computed by DSYTRF_RK and DSYTRF_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 DOUBLE PRECISION 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 DSYTRF_RK (or DSYTRF_BK). !> |
| [out] | C | !> C is DOUBLE PRECISION 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 138 of file dsyt01_3.f.
| subroutine dsyt01_aa | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DSYT01
!> !> DSYT01 reconstructs a 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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DSYTRF. !> |
| [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 DSYTRF. !> |
| [out] | C | !> C is DOUBLE PRECISION 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 122 of file dsyt01_aa.f.
| subroutine dsyt01_rook | ( | character | uplo, |
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldafac, * ) | afac, | ||
| integer | ldafac, | ||
| integer, dimension( * ) | ipiv, | ||
| double precision, dimension( ldc, * ) | c, | ||
| integer | ldc, | ||
| double precision, dimension( * ) | rwork, | ||
| double precision | resid ) |
DSYT01_ROOK
!> !> DSYT01_ROOK reconstructs a 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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DSYTRF_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 DSYTRF_ROOK. !> |
| [out] | C | !> C is DOUBLE PRECISION 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 122 of file dsyt01_rook.f.
| subroutine dtbt02 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTBT02
!> !> DTBT02 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 or A**T, b is the column of B, x is the solution !> vector, and EPS is the machine epsilon. !> The norm used is the 1-norm. !>
| [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 = 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 DOUBLE PRECISION 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] | X | !> X is DOUBLE PRECISION 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 DOUBLE PRECISION 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 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 152 of file dtbt02.f.
| subroutine dtbt03 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision | scale, | ||
| double precision, dimension( * ) | cnorm, | ||
| double precision | tscal, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTBT03
!> !> DTBT03 computes the residual for the solution to a scaled triangular !> system of equations A*x = s*b or A'*x = s*b when A is a !> triangular band matrix. Here A' is the 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 or A' 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'*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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 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 - s*b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 172 of file dtbt03.f.
| subroutine dtbt05 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| integer | nrhs, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DTBT05
!> !> DTBT05 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dtbt05.f.
| subroutine dtbt06 | ( | double precision | rcond, |
| double precision | rcondc, | ||
| character | uplo, | ||
| character | diag, | ||
| integer | n, | ||
| integer | kd, | ||
| double precision, dimension( ldab, * ) | ab, | ||
| integer | ldab, | ||
| double precision, dimension( * ) | work, | ||
| double precision | rat ) |
DTBT06
!> !> DTBT06 computes a test ratio comparing RCOND (the reciprocal !> condition number of a triangular matrix A) and RCONDC, the estimate !> computed by DTBCON. 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 !> DTBCON. !> |
| [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 DOUBLE PRECISION 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] | WORK | !> WORK 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 123 of file dtbt06.f.
| subroutine dtpt01 | ( | character | uplo, |
| character | diag, | ||
| integer | n, | ||
| double precision, dimension( * ) | ap, | ||
| double precision, dimension( * ) | ainvp, | ||
| double precision | rcond, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTPT01
!> !> DTPT01 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 DOUBLE PRECISION 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,out] | AINVP | !> AINVP is DOUBLE PRECISION 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] | WORK | !> WORK 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 107 of file dtpt01.f.
| subroutine dtpt02 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | ap, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTPT02
!> !> DTPT02 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 or A**T, b is the column of B, x is the solution !> vector, and EPS is the machine epsilon. !> The norm used is the 1-norm. !>
| [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 = 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 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 140 of file dtpt02.f.
| subroutine dtpt03 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | ap, | ||
| double precision | scale, | ||
| double precision, dimension( * ) | cnorm, | ||
| double precision | tscal, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTPT03
!> !> DTPT03 computes the residual for the solution to a scaled triangular !> system of equations A*x = s*b or A'*x = s*b when the triangular !> matrix A is stored in packed format. Here A' is the 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 or A' 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'*x = s*b (Transpose) !> = 'C': A'*x = s*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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 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 - s*b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 159 of file dtpt03.f.
| subroutine dtpt05 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( * ) | ap, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DTPT05
!> !> DTPT05 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 172 of file dtpt05.f.
| subroutine dtpt06 | ( | double precision | rcond, |
| double precision | rcondc, | ||
| character | uplo, | ||
| character | diag, | ||
| integer | n, | ||
| double precision, dimension( * ) | ap, | ||
| double precision, dimension( * ) | work, | ||
| double precision | rat ) |
DTPT06
!> !> DTPT06 computes a test ratio comparing RCOND (the reciprocal !> condition number of a triangular matrix A) and RCONDC, the estimate !> computed by DTPCON. 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 !> DTPCON. !> |
| [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 DOUBLE PRECISION 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] | WORK | !> WORK 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 110 of file dtpt06.f.
| subroutine dtrt01 | ( | character | uplo, |
| character | diag, | ||
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldainv, * ) | ainv, | ||
| integer | ldainv, | ||
| double precision | rcond, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTRT01
!> !> DTRT01 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 DOUBLE PRECISION 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,out] | AINV | !> AINV is DOUBLE PRECISION 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] | WORK | !> WORK 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 122 of file dtrt01.f.
| subroutine dtrt02 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTRT02
!> !> DTRT02 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 or A**T, b is the column of B, x is the solution !> vector, and EPS is the machine epsilon. !> The norm used is the 1-norm. !>
| [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 = 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 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 148 of file dtrt02.f.
| subroutine dtrt03 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision | scale, | ||
| double precision, dimension( * ) | cnorm, | ||
| double precision | tscal, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( * ) | work, | ||
| double precision | resid ) |
DTRT03
!> !> DTRT03 computes the residual for the solution to a scaled triangular !> system of equations A*x = s*b or A'*x = s*b. !> Here A is a triangular matrix, A' is the 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 or A' 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'*x = s*b (Transpose) !> = 'C': A'*x = s*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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 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 - s*b) / ( norm(op(A)) * norm(x) * EPS ). !> |
Definition at line 167 of file dtrt03.f.
| subroutine dtrt05 | ( | character | uplo, |
| character | trans, | ||
| character | diag, | ||
| integer | n, | ||
| integer | nrhs, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( ldb, * ) | b, | ||
| integer | ldb, | ||
| double precision, dimension( ldx, * ) | x, | ||
| integer | ldx, | ||
| double precision, dimension( ldxact, * ) | xact, | ||
| integer | ldxact, | ||
| double precision, dimension( * ) | ferr, | ||
| double precision, dimension( * ) | berr, | ||
| double precision, dimension( * ) | reslts ) |
DTRT05
!> !> DTRT05 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 179 of file dtrt05.f.
| subroutine dtrt06 | ( | double precision | rcond, |
| double precision | rcondc, | ||
| character | uplo, | ||
| character | diag, | ||
| integer | n, | ||
| double precision, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| double precision, dimension( * ) | work, | ||
| double precision | rat ) |
DTRT06
!> !> DTRT06 computes a test ratio comparing RCOND (the reciprocal !> condition number of a triangular matrix A) and RCONDC, the estimate !> computed by DTRCON. 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 !> DTRCON. !> |
| [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 DOUBLE PRECISION 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] | WORK | !> WORK 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 119 of file dtrt06.f.
| subroutine dtsqr01 | ( | character | tssw, |
| integer | m, | ||
| integer | n, | ||
| integer | mb, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
DTSQR01
!> !> DTSQR01 tests DGEQR , DGELQ, DGEMLQ and DGEMQR. !>
| [in] | TSSW | !> TSSW is CHARACTER !> 'TS' for testing tall skinny QR !> and anything else for testing short wide LQ !> |
| [in] | M | !> M is INTEGER !> Number of rows in test matrix. !> |
| [in] | N | !> N is INTEGER !> Number of columns in test matrix. !> |
| [in] | MB | !> MB is INTEGER !> Number of row in row block in test matrix. !> |
| [in] | NB | !> NB is INTEGER !> Number of columns in column block test matrix. !> |
| [out] | RESULT | !> RESULT is DOUBLE PRECISION array, dimension (6) !> Results of each of the six tests below. !> !> RESULT(1) = | A - Q R | or | A - L Q | !> RESULT(2) = | I - Q^H Q | or | I - Q Q^H | !> 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 83 of file dtsqr01.f.
| subroutine schklqt | ( | real | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
SCHKLQT
!> !> SCHKLQT tests SGELQT and SGEMLQT. !>
| [in] | THRESH | !> THRESH is REAL !> 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 schklqt.f.
| subroutine schklqtp | ( | real | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
SCHKLQTP
!> !> SCHKLQTP tests STPLQT and STPMLQT. !>
| [in] | THRESH | !> THRESH is REAL !> 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 schklqtp.f.
| subroutine schksy_rk | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nns, | ||
| integer, dimension( * ) | nsval, | ||
| real | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| real, dimension( * ) | a, | ||
| real, dimension( * ) | afac, | ||
| real, dimension( * ) | e, | ||
| real, dimension( * ) | ainv, | ||
| real, dimension( * ) | b, | ||
| real, dimension( * ) | x, | ||
| real, dimension( * ) | xact, | ||
| real, dimension( * ) | work, | ||
| real, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
SCHKSY_RK
!> SCHKSY_RK tests SSYTRF_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 REAL !> 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 REAL array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is REAL array, dimension (NMAX*NMAX) !> |
| [out] | E | !> E is REAL array, dimension (NMAX) !> |
| [out] | AINV | !> AINV is REAL array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is REAL array, dimension (NMAX*NSMAX), !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | X | !> X is REAL array, dimension (NMAX*NSMAX), !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | XACT | !> XACT is REAL array, dimension (NMAX*NSMAX), !> where NSMAX is the largest entry in NSVAL. !> |
| [out] | WORK | !> WORK is REAL array, dimension (NMAX*max(3,NSMAX)) !> |
| [out] | RWORK | !> RWORK is REAL 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 173 of file schksy_rk.f.
| subroutine schktsqr | ( | real | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
SCHKQRT
!> !> SCHKTSQR tests SGETSQR and SORMTSQR. !>
| [in] | THRESH | !> THRESH is REAL !> 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 schktsqr.f.
| subroutine sdrvsy_rook | ( | logical, dimension( * ) | dotype, |
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nrhs, | ||
| real | thresh, | ||
| logical | tsterr, | ||
| integer | nmax, | ||
| real, dimension( * ) | a, | ||
| real, dimension( * ) | afac, | ||
| real, dimension( * ) | ainv, | ||
| real, dimension( * ) | b, | ||
| real, dimension( * ) | x, | ||
| real, dimension( * ) | xact, | ||
| real, dimension( * ) | work, | ||
| real, dimension( * ) | rwork, | ||
| integer, dimension( * ) | iwork, | ||
| integer | nout ) |
SDRVSY_ROOK
!> !> SDRVSY_ROOK tests the driver routines SSYSV_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 REAL array, dimension (NMAX*NMAX) !> |
| [out] | AFAC | !> AFAC is REAL array, dimension (NMAX*NMAX) !> |
| [out] | AINV | !> AINV is REAL array, dimension (NMAX*NMAX) !> |
| [out] | B | !> B is REAL array, dimension (NMAX*NRHS) !> |
| [out] | X | !> X is REAL array, dimension (NMAX*NRHS) !> |
| [out] | XACT | !> XACT is REAL array, dimension (NMAX*NRHS) !> |
| [out] | WORK | !> WORK is REAL array, dimension !> (NMAX*max(2,NRHS)) !> |
| [out] | RWORK | !> RWORK is REAL 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 sdrvsy_rook.f.
| subroutine serrlqt | ( | character*3 | path, |
| integer | nunit ) |
SERRLQT
!> !> DERRLQT tests the error exits for the DOUBLE PRECISION routines !> that use the LQT 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 serrlqt.f.
| subroutine serrlqtp | ( | character*3 | path, |
| integer | nunit ) |
DERRLQTP
!> !> SERRLQTP tests the error exits for the REAL routines !> that use the LQT 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 serrlqtp.f.
| subroutine serrtsqr | ( | character*3 | path, |
| integer | nunit ) |
DERRTSQR
!> !> DERRTSQR tests the error exits for the REAL routines !> that use the TSQR 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 serrtsqr.f.
| subroutine slqt04 | ( | integer | m, |
| integer | n, | ||
| integer | nb, | ||
| real, dimension(6) | result ) |
SLQT04
!> !> SLQT04 tests SGELQT and SGEMLQT. !>
| [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 REAL array, dimension (6) !> Results of each of the six tests below. !> !> RESULT(1) = | A - L Q | !> RESULT(2) = | I - Q Q^H | !> 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 slqt04.f.
| subroutine slqt05 | ( | integer | m, |
| integer | n, | ||
| integer | l, | ||
| integer | nb, | ||
| real, dimension(6) | result ) |
SLQT05
!> SQRT05 tests STPLQT and STPMLQT. !>
| [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 REAL 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 78 of file slqt05.f.
| subroutine stsqr01 | ( | character | tssw, |
| integer | m, | ||
| integer | n, | ||
| integer | mb, | ||
| integer | nb, | ||
| real, dimension(6) | result ) |
STSQR01
!> !> DTSQR01 tests DGEQR , DGELQ, DGEMLQ and DGEMQR. !>
| [in] | TSSW | !> TSSW is CHARACTER !> 'TS' for testing tall skinny QR !> and anything else for testing short wide LQ !> |
| [in] | M | !> M is INTEGER !> Number of rows in test matrix. !> |
| [in] | N | !> N is INTEGER !> Number of columns in test matrix. !> |
| [in] | MB | !> MB is INTEGER !> Number of row in row block in test matrix. !> |
| [in] | NB | !> NB is INTEGER !> Number of columns in column block test matrix. !> |
| [out] | RESULT | !> RESULT is REAL array, dimension (6) !> Results of each of the six tests below. !> !> RESULT(1) = | A - Q R | or | A - L Q | !> RESULT(2) = | I - Q^H Q | or | I - Q Q^H | !> 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 83 of file stsqr01.f.
| subroutine zchklqt | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
ZCHKLQT
!> !> ZCHKLQT tests ZGELQT and ZUNMLQT. !>
| [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 zchklqt.f.
| subroutine zchklqtp | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
ZCHKLQTP
!> !> ZCHKLQTP tests ZTPLQT and ZTPMLQT. !>
| [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 zchklqtp.f.
| subroutine zchktsqr | ( | double precision | thresh, |
| logical | tsterr, | ||
| integer | nm, | ||
| integer, dimension( * ) | mval, | ||
| integer | nn, | ||
| integer, dimension( * ) | nval, | ||
| integer | nnb, | ||
| integer, dimension( * ) | nbval, | ||
| integer | nout ) |
DCHKQRT
!> !> ZCHKTSQR tests ZGEQR and ZGEMQR. !>
| [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 zchktsqr.f.
| subroutine zerrlqt | ( | character*3 | path, |
| integer | nunit ) |
ZERLQT
!> !> ZERRLQT tests the error exits for the COMPLEX routines !> that use the LQT 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 zerrlqt.f.
| subroutine zerrlqtp | ( | character*3 | path, |
| integer | nunit ) |
ZERRLQTP
!> !> ZERRLQTP tests the error exits for the complex routines !> that use the LQT 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 zerrlqtp.f.
| subroutine zerrtsqr | ( | character*3 | path, |
| integer | nunit ) |
ZERRTSQR
!> !> ZERRTSQR tests the error exits for the ZOUBLE PRECISION routines !> that use the TSQR 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 zerrtsqr.f.
| subroutine zlqt04 | ( | integer | m, |
| integer | n, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
DLQT04
!> !> ZLQT04 tests ZGELQT and ZUNMLQT. !>
| [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 - L Q | !> RESULT(2) = | I - Q Q^H | !> 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 zlqt04.f.
| subroutine zlqt05 | ( | integer | m, |
| integer | n, | ||
| integer | l, | ||
| integer | nb, | ||
| double precision, dimension(6) | result ) |
ZLQT05
!> !> ZQRT05 tests ZTPLQT and ZTPMLQT. !>
| [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 zlqt05.f.