diff options
author | julie <julielangou@users.noreply.github.com> | 2011-04-02 11:08:56 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2011-04-02 11:08:56 +0000 |
commit | f2953573ede24d7f8c01fdb18de48f65f00a9943 (patch) | |
tree | 53172aa9083b9aa1abe2d6c130f7c173d8d8725b /SRC | |
parent | 53b71f5605f83d116ab6bcf477bfb6d2ca757de1 (diff) | |
download | lapack-f2953573ede24d7f8c01fdb18de48f65f00a9943.tar.gz lapack-f2953573ede24d7f8c01fdb18de48f65f00a9943.tar.bz2 lapack-f2953573ede24d7f8c01fdb18de48f65f00a9943.zip |
First pass to homgenize notation for transpose (**T) and conjugate transpose (**H)
Corresponds to bug0024
Diffstat (limited to 'SRC')
-rw-r--r-- | SRC/cgbbrd.f | 18 | ||||
-rw-r--r-- | SRC/cgbcon.f | 4 | ||||
-rw-r--r-- | SRC/cgebd2.f | 8 | ||||
-rw-r--r-- | SRC/cgebrd.f | 6 | ||||
-rw-r--r-- | SRC/cgecon.f | 4 | ||||
-rw-r--r-- | SRC/cgehd2.f | 6 | ||||
-rw-r--r-- | SRC/cgehrd.f | 8 | ||||
-rw-r--r-- | SRC/cgelq2.f | 4 | ||||
-rw-r--r-- | SRC/cgelqf.f | 4 | ||||
-rw-r--r-- | SRC/cgels.f | 4 | ||||
-rw-r--r-- | SRC/cgelsx.f | 8 | ||||
-rw-r--r-- | SRC/cgelsy.f | 4 | ||||
-rw-r--r-- | SRC/cgeql2.f | 4 | ||||
-rw-r--r-- | SRC/cgeqlf.f | 4 | ||||
-rw-r--r-- | SRC/cgeqp3.f | 2 | ||||
-rw-r--r-- | SRC/cgeqpf.f | 2 | ||||
-rw-r--r-- | SRC/cgeqr2.f | 4 | ||||
-rw-r--r-- | SRC/cgeqr2p.f | 4 | ||||
-rw-r--r-- | SRC/cgeqrf.f | 4 | ||||
-rw-r--r-- | SRC/cgeqrfp.f | 4 | ||||
-rw-r--r-- | SRC/cgerq2.f | 4 | ||||
-rw-r--r-- | SRC/cgerqf.f | 4 | ||||
-rw-r--r-- | SRC/cgetrs.f | 4 | ||||
-rw-r--r-- | SRC/cggglm.f | 12 | ||||
-rw-r--r-- | SRC/cgglse.f | 10 | ||||
-rw-r--r-- | SRC/cggqrf.f | 8 | ||||
-rw-r--r-- | SRC/cggrqf.f | 10 | ||||
-rw-r--r-- | SRC/cggsvd.f | 21 | ||||
-rw-r--r-- | SRC/cggsvp.f | 29 | ||||
-rw-r--r-- | SRC/cgtcon.f | 2 | ||||
-rw-r--r-- | SRC/cgtsv.f | 2 | ||||
-rw-r--r-- | SRC/checon.f | 2 | ||||
-rw-r--r-- | SRC/chegs2.f | 18 | ||||
-rw-r--r-- | SRC/chegst.f | 8 | ||||
-rw-r--r-- | SRC/chegv.f | 4 | ||||
-rw-r--r-- | SRC/chegvd.f | 4 | ||||
-rw-r--r-- | SRC/chegvx.f | 4 | ||||
-rw-r--r-- | SRC/chesv.f | 2 | ||||
-rw-r--r-- | SRC/chesvx.f | 2 | ||||
-rw-r--r-- | SRC/chetd2.f | 18 | ||||
-rw-r--r-- | SRC/chetf2.f | 24 | ||||
-rw-r--r-- | SRC/chetrd.f | 8 | ||||
-rw-r--r-- | SRC/chetrf.f | 8 | ||||
-rw-r--r-- | SRC/chetri.f | 4 | ||||
-rw-r--r-- | SRC/chetri2x.f | 16 | ||||
-rw-r--r-- | SRC/chetrs.f | 16 | ||||
-rw-r--r-- | SRC/chetrs2.f | 30 | ||||
-rw-r--r-- | SRC/chpcon.f | 2 | ||||
-rw-r--r-- | SRC/chpgst.f | 8 | ||||
-rw-r--r-- | SRC/chpgv.f | 4 | ||||
-rw-r--r-- | SRC/chpgvd.f | 6 | ||||
-rw-r--r-- | SRC/chpgvx.f | 4 | ||||
-rw-r--r-- | SRC/chpsv.f | 2 | ||||
-rw-r--r-- | SRC/chpsvx.f | 2 | ||||
-rw-r--r-- | SRC/chptrd.f | 16 | ||||
-rw-r--r-- | SRC/chptrf.f | 20 | ||||
-rw-r--r-- | SRC/chptri.f | 4 | ||||
-rw-r--r-- | SRC/chptrs.f | 16 | ||||
-rw-r--r-- | SRC/cla_gbamv.f | 40 | ||||
-rw-r--r-- | SRC/cla_geamv.f | 26 | ||||
-rw-r--r-- | SRC/clabrd.f | 8 | ||||
-rw-r--r-- | SRC/claed7.f | 4 | ||||
-rw-r--r-- | SRC/claein.f | 2 | ||||
-rw-r--r-- | SRC/clags2.f | 50 | ||||
-rw-r--r-- | SRC/clagtm.f | 4 | ||||
-rw-r--r-- | SRC/clahef.f | 14 | ||||
-rw-r--r-- | SRC/clahr2.f | 19 | ||||
-rw-r--r-- | SRC/clahrd.f | 18 | ||||
-rw-r--r-- | SRC/claic1.f | 2 | ||||
-rw-r--r-- | SRC/clalsd.f | 4 | ||||
-rw-r--r-- | SRC/claqhb.f | 2 | ||||
-rw-r--r-- | SRC/claqp2.f | 2 | ||||
-rw-r--r-- | SRC/claqps.f | 12 | ||||
-rw-r--r-- | SRC/claqsb.f | 2 | ||||
-rw-r--r-- | SRC/clar1v.f | 50 | ||||
-rw-r--r-- | SRC/clarf.f | 10 | ||||
-rw-r--r-- | SRC/clarfb.f | 128 | ||||
-rw-r--r-- | SRC/clarfg.f | 6 | ||||
-rw-r--r-- | SRC/clarfgp.f | 6 | ||||
-rw-r--r-- | SRC/clarft.f | 12 | ||||
-rw-r--r-- | SRC/clarfx.f | 2 | ||||
-rw-r--r-- | SRC/clarrv.f | 2 | ||||
-rw-r--r-- | SRC/clarz.f | 10 | ||||
-rw-r--r-- | SRC/clarzb.f | 26 | ||||
-rw-r--r-- | SRC/clarzt.f | 2 | ||||
-rw-r--r-- | SRC/clasyf.f | 14 | ||||
-rw-r--r-- | SRC/clatrd.f | 8 | ||||
-rw-r--r-- | SRC/clatrz.f | 2 | ||||
-rw-r--r-- | SRC/clatzm.f | 10 | ||||
-rw-r--r-- | SRC/clauu2.f | 10 | ||||
-rw-r--r-- | SRC/clauum.f | 10 | ||||
-rw-r--r-- | SRC/cpbcon.f | 4 | ||||
-rw-r--r-- | SRC/cpbsv.f | 2 | ||||
-rw-r--r-- | SRC/cpbsvx.f | 2 | ||||
-rw-r--r-- | SRC/cpbtf2.f | 12 | ||||
-rw-r--r-- | SRC/cpbtrs.f | 8 | ||||
-rw-r--r-- | SRC/cpocon.f | 4 | ||||
-rw-r--r-- | SRC/cposv.f | 2 | ||||
-rw-r--r-- | SRC/cposvx.f | 2 | ||||
-rw-r--r-- | SRC/cpotf2.f | 10 | ||||
-rw-r--r-- | SRC/cpotrf.f | 4 | ||||
-rw-r--r-- | SRC/cpotri.f | 2 | ||||
-rw-r--r-- | SRC/cpotrs.f | 8 | ||||
-rw-r--r-- | SRC/cppcon.f | 4 | ||||
-rw-r--r-- | SRC/cppsv.f | 6 | ||||
-rw-r--r-- | SRC/cppsvx.f | 8 | ||||
-rw-r--r-- | SRC/cpptrf.f | 4 | ||||
-rw-r--r-- | SRC/cpptri.f | 4 | ||||
-rw-r--r-- | SRC/cpptrs.f | 8 | ||||
-rw-r--r-- | SRC/cptcon.f | 4 | ||||
-rw-r--r-- | SRC/cptrfs.f | 4 | ||||
-rw-r--r-- | SRC/cptsv.f | 2 | ||||
-rw-r--r-- | SRC/cptsvx.f | 2 | ||||
-rw-r--r-- | SRC/cpttrf.f | 12 | ||||
-rw-r--r-- | SRC/cpttrs.f | 12 | ||||
-rw-r--r-- | SRC/cptts2.f | 24 | ||||
-rw-r--r-- | SRC/cspcon.f | 2 | ||||
-rw-r--r-- | SRC/cspsv.f | 2 | ||||
-rw-r--r-- | SRC/cspsvx.f | 2 | ||||
-rw-r--r-- | SRC/csptrf.f | 20 | ||||
-rw-r--r-- | SRC/csptri.f | 4 | ||||
-rw-r--r-- | SRC/csptrs.f | 16 | ||||
-rw-r--r-- | SRC/csycon.f | 2 | ||||
-rw-r--r-- | SRC/csysv.f | 2 | ||||
-rw-r--r-- | SRC/csysvx.f | 2 | ||||
-rw-r--r-- | SRC/csytf2.f | 24 | ||||
-rw-r--r-- | SRC/csytrf.f | 8 | ||||
-rw-r--r-- | SRC/csytri.f | 4 | ||||
-rw-r--r-- | SRC/csytri2x.f | 16 | ||||
-rw-r--r-- | SRC/csytrs.f | 16 | ||||
-rw-r--r-- | SRC/csytrs2.f | 24 | ||||
-rw-r--r-- | SRC/ctgex2.f | 6 | ||||
-rw-r--r-- | SRC/ctgexc.f | 4 | ||||
-rw-r--r-- | SRC/ctgsen.f | 8 | ||||
-rw-r--r-- | SRC/ctgsja.f | 16 | ||||
-rw-r--r-- | SRC/ctgsna.f | 6 | ||||
-rw-r--r-- | SRC/ctgsy2.f | 2 | ||||
-rw-r--r-- | SRC/ctgsyl.f | 8 | ||||
-rw-r--r-- | SRC/ctrevc.f | 2 | ||||
-rw-r--r-- | SRC/ctrsen.f | 10 | ||||
-rw-r--r-- | SRC/ctrsna.f | 8 | ||||
-rw-r--r-- | SRC/ctrsyl.f | 24 | ||||
-rw-r--r-- | SRC/ctzrqf.f | 10 | ||||
-rw-r--r-- | SRC/ctzrzf.f | 2 | ||||
-rw-r--r-- | SRC/cungl2.f | 4 | ||||
-rw-r--r-- | SRC/cunglq.f | 6 | ||||
-rw-r--r-- | SRC/cungr2.f | 4 | ||||
-rw-r--r-- | SRC/cungrq.f | 6 | ||||
-rw-r--r-- | SRC/cunm2l.f | 18 | ||||
-rw-r--r-- | SRC/cunm2r.f | 18 | ||||
-rw-r--r-- | SRC/cunml2.f | 20 | ||||
-rw-r--r-- | SRC/cunmlq.f | 8 | ||||
-rw-r--r-- | SRC/cunmql.f | 6 | ||||
-rw-r--r-- | SRC/cunmqr.f | 6 | ||||
-rw-r--r-- | SRC/cunmr2.f | 20 | ||||
-rw-r--r-- | SRC/cunmr3.f | 18 | ||||
-rw-r--r-- | SRC/cunmrq.f | 8 | ||||
-rw-r--r-- | SRC/cunmrz.f | 6 | ||||
-rw-r--r-- | SRC/cupmtr.f | 12 | ||||
-rw-r--r-- | SRC/dgbbrd.f | 18 | ||||
-rw-r--r-- | SRC/dgbcon.f | 4 | ||||
-rw-r--r-- | SRC/dgebd2.f | 4 | ||||
-rw-r--r-- | SRC/dgebrd.f | 6 | ||||
-rw-r--r-- | SRC/dgecon.f | 4 | ||||
-rw-r--r-- | SRC/dgeev.f | 4 | ||||
-rw-r--r-- | SRC/dgeevx.f | 4 | ||||
-rw-r--r-- | SRC/dgehd2.f | 4 | ||||
-rw-r--r-- | SRC/dgehrd.f | 8 | ||||
-rw-r--r-- | SRC/dgelq2.f | 2 | ||||
-rw-r--r-- | SRC/dgelqf.f | 2 | ||||
-rw-r--r-- | SRC/dgels.f | 4 | ||||
-rw-r--r-- | SRC/dgelsx.f | 8 | ||||
-rw-r--r-- | SRC/dgelsy.f | 8 | ||||
-rw-r--r-- | SRC/dgeql2.f | 2 | ||||
-rw-r--r-- | SRC/dgeqlf.f | 4 | ||||
-rw-r--r-- | SRC/dgeqp3.f | 2 | ||||
-rw-r--r-- | SRC/dgeqpf.f | 2 | ||||
-rw-r--r-- | SRC/dgeqr2.f | 2 | ||||
-rw-r--r-- | SRC/dgeqr2p.f | 2 | ||||
-rw-r--r-- | SRC/dgeqrf.f | 4 | ||||
-rw-r--r-- | SRC/dgeqrfp.f | 4 | ||||
-rw-r--r-- | SRC/dgerq2.f | 2 | ||||
-rw-r--r-- | SRC/dgerqf.f | 2 | ||||
-rw-r--r-- | SRC/dgetrs.f | 12 | ||||
-rw-r--r-- | SRC/dggglm.f | 12 | ||||
-rw-r--r-- | SRC/dgglse.f | 12 | ||||
-rw-r--r-- | SRC/dggqrf.f | 10 | ||||
-rw-r--r-- | SRC/dggrqf.f | 10 | ||||
-rw-r--r-- | SRC/dggsvd.f | 18 | ||||
-rw-r--r-- | SRC/dggsvp.f | 31 | ||||
-rw-r--r-- | SRC/dgtcon.f | 2 | ||||
-rw-r--r-- | SRC/dgtsv.f | 2 | ||||
-rw-r--r-- | SRC/dla_gbamv.f | 38 | ||||
-rw-r--r-- | SRC/dla_geamv.f | 26 | ||||
-rw-r--r-- | SRC/dlabrd.f | 12 | ||||
-rw-r--r-- | SRC/dlaed7.f | 4 | ||||
-rw-r--r-- | SRC/dlaein.f | 2 | ||||
-rw-r--r-- | SRC/dlags2.f | 40 | ||||
-rw-r--r-- | SRC/dlagtm.f | 4 | ||||
-rw-r--r-- | SRC/dlagts.f | 6 | ||||
-rw-r--r-- | SRC/dlahr2.f | 16 | ||||
-rw-r--r-- | SRC/dlahrd.f | 18 | ||||
-rw-r--r-- | SRC/dlaic1.f | 2 | ||||
-rw-r--r-- | SRC/dlaqp2.f | 2 | ||||
-rw-r--r-- | SRC/dlaqps.f | 10 | ||||
-rw-r--r-- | SRC/dlaqsb.f | 2 | ||||
-rw-r--r-- | SRC/dlaqtr.f | 4 | ||||
-rw-r--r-- | SRC/dlar1v.f | 22 | ||||
-rw-r--r-- | SRC/dlarf.f | 8 | ||||
-rw-r--r-- | SRC/dlarfb.f | 130 | ||||
-rw-r--r-- | SRC/dlarfg.f | 4 | ||||
-rw-r--r-- | SRC/dlarfgp.f | 4 | ||||
-rw-r--r-- | SRC/dlarft.f | 12 | ||||
-rw-r--r-- | SRC/dlarfx.f | 2 | ||||
-rw-r--r-- | SRC/dlarrv.f | 2 | ||||
-rw-r--r-- | SRC/dlarz.f | 8 | ||||
-rw-r--r-- | SRC/dlarzb.f | 24 | ||||
-rw-r--r-- | SRC/dlarzt.f | 2 | ||||
-rw-r--r-- | SRC/dlasd1.f | 4 | ||||
-rw-r--r-- | SRC/dlasyf.f | 12 | ||||
-rw-r--r-- | SRC/dlatrd.f | 8 | ||||
-rw-r--r-- | SRC/dlatrz.f | 2 | ||||
-rw-r--r-- | SRC/dlatzm.f | 10 | ||||
-rw-r--r-- | SRC/dlauu2.f | 10 | ||||
-rw-r--r-- | SRC/dlauum.f | 10 | ||||
-rw-r--r-- | SRC/dorglq.f | 4 | ||||
-rw-r--r-- | SRC/dorgrq.f | 4 | ||||
-rw-r--r-- | SRC/dorm2l.f | 12 | ||||
-rw-r--r-- | SRC/dorm2r.f | 12 | ||||
-rw-r--r-- | SRC/dorml2.f | 12 | ||||
-rw-r--r-- | SRC/dormlq.f | 6 | ||||
-rw-r--r-- | SRC/dormql.f | 6 | ||||
-rw-r--r-- | SRC/dormqr.f | 6 | ||||
-rw-r--r-- | SRC/dormr2.f | 10 | ||||
-rw-r--r-- | SRC/dormr3.f | 18 | ||||
-rw-r--r-- | SRC/dormrq.f | 6 | ||||
-rw-r--r-- | SRC/dormrz.f | 6 | ||||
-rw-r--r-- | SRC/dpbcon.f | 4 | ||||
-rw-r--r-- | SRC/dpbsv.f | 2 | ||||
-rw-r--r-- | SRC/dpbsvx.f | 2 | ||||
-rw-r--r-- | SRC/dpbtf2.f | 12 | ||||
-rw-r--r-- | SRC/dpbtrs.f | 8 | ||||
-rw-r--r-- | SRC/dpocon.f | 4 | ||||
-rw-r--r-- | SRC/dposv.f | 2 | ||||
-rw-r--r-- | SRC/dposvx.f | 2 | ||||
-rw-r--r-- | SRC/dpotf2.f | 10 | ||||
-rw-r--r-- | SRC/dpotrf.f | 4 | ||||
-rw-r--r-- | SRC/dpotri.f | 2 | ||||
-rw-r--r-- | SRC/dpotrs.f | 8 | ||||
-rw-r--r-- | SRC/dppcon.f | 4 | ||||
-rw-r--r-- | SRC/dppsv.f | 2 | ||||
-rw-r--r-- | SRC/dppsvx.f | 9 | ||||
-rw-r--r-- | SRC/dpptrf.f | 4 | ||||
-rw-r--r-- | SRC/dpptri.f | 4 | ||||
-rw-r--r-- | SRC/dpptrs.f | 8 | ||||
-rw-r--r-- | SRC/dptcon.f | 4 | ||||
-rw-r--r-- | SRC/dptrfs.f | 4 | ||||
-rw-r--r-- | SRC/dptsv.f | 2 | ||||
-rw-r--r-- | SRC/dptsvx.f | 2 | ||||
-rw-r--r-- | SRC/dpttrf.f | 12 | ||||
-rw-r--r-- | SRC/dpttrs.f | 8 | ||||
-rw-r--r-- | SRC/dptts2.f | 12 | ||||
-rw-r--r-- | SRC/dspcon.f | 2 | ||||
-rw-r--r-- | SRC/dspgst.f | 8 | ||||
-rw-r--r-- | SRC/dspgv.f | 4 | ||||
-rw-r--r-- | SRC/dspgvd.f | 5 | ||||
-rw-r--r-- | SRC/dspgvx.f | 4 | ||||
-rw-r--r-- | SRC/dspsv.f | 2 | ||||
-rw-r--r-- | SRC/dspsvx.f | 2 | ||||
-rw-r--r-- | SRC/dsptrd.f | 16 | ||||
-rw-r--r-- | SRC/dsptrf.f | 23 | ||||
-rw-r--r-- | SRC/dsptri.f | 4 | ||||
-rw-r--r-- | SRC/dsptrs.f | 16 | ||||
-rw-r--r-- | SRC/dsycon.f | 2 | ||||
-rw-r--r-- | SRC/dsygs2.f | 18 | ||||
-rw-r--r-- | SRC/dsygst.f | 8 | ||||
-rw-r--r-- | SRC/dsygv.f | 4 | ||||
-rw-r--r-- | SRC/dsygvd.f | 4 | ||||
-rw-r--r-- | SRC/dsygvx.f | 4 | ||||
-rw-r--r-- | SRC/dsysv.f | 2 | ||||
-rw-r--r-- | SRC/dsysvx.f | 2 | ||||
-rw-r--r-- | SRC/dsytd2.f | 18 | ||||
-rw-r--r-- | SRC/dsytf2.f | 22 | ||||
-rw-r--r-- | SRC/dsytrd.f | 8 | ||||
-rw-r--r-- | SRC/dsytrf.f | 8 | ||||
-rw-r--r-- | SRC/dsytri.f | 4 | ||||
-rw-r--r-- | SRC/dsytri2x.f | 16 | ||||
-rw-r--r-- | SRC/dsytrs.f | 16 | ||||
-rw-r--r-- | SRC/dsytrs2.f | 24 | ||||
-rw-r--r-- | SRC/dtbrfs.f | 2 | ||||
-rw-r--r-- | SRC/dtgex2.f | 14 | ||||
-rw-r--r-- | SRC/dtgexc.f | 4 | ||||
-rw-r--r-- | SRC/dtgsen.f | 14 | ||||
-rw-r--r-- | SRC/dtgsja.f | 12 | ||||
-rw-r--r-- | SRC/dtgsna.f | 16 | ||||
-rw-r--r-- | SRC/dtgsy2.f | 2 | ||||
-rw-r--r-- | SRC/dtgsyl.f | 10 | ||||
-rw-r--r-- | SRC/dtprfs.f | 2 | ||||
-rw-r--r-- | SRC/dtrevc.f | 10 | ||||
-rw-r--r-- | SRC/dtrrfs.f | 2 | ||||
-rw-r--r-- | SRC/dtrsen.f | 8 | ||||
-rw-r--r-- | SRC/dtrsna.f | 22 | ||||
-rw-r--r-- | SRC/dtrsyl.f | 26 | ||||
-rw-r--r-- | SRC/dtzrqf.f | 8 | ||||
-rw-r--r-- | SRC/dtzrzf.f | 2 | ||||
-rw-r--r-- | SRC/sgbbrd.f | 18 | ||||
-rw-r--r-- | SRC/sgbcon.f | 4 | ||||
-rw-r--r-- | SRC/sgebd2.f | 4 | ||||
-rw-r--r-- | SRC/sgebrd.f | 6 | ||||
-rw-r--r-- | SRC/sgecon.f | 4 | ||||
-rw-r--r-- | SRC/sgeev.f | 4 | ||||
-rw-r--r-- | SRC/sgeevx.f | 4 | ||||
-rw-r--r-- | SRC/sgehd2.f | 4 | ||||
-rw-r--r-- | SRC/sgehrd.f | 8 | ||||
-rw-r--r-- | SRC/sgelq2.f | 2 | ||||
-rw-r--r-- | SRC/sgelqf.f | 2 | ||||
-rw-r--r-- | SRC/sgels.f | 4 | ||||
-rw-r--r-- | SRC/sgelsx.f | 8 | ||||
-rw-r--r-- | SRC/sgelsy.f | 8 | ||||
-rw-r--r-- | SRC/sgeql2.f | 2 | ||||
-rw-r--r-- | SRC/sgeqlf.f | 4 | ||||
-rw-r--r-- | SRC/sgeqp3.f | 2 | ||||
-rw-r--r-- | SRC/sgeqpf.f | 2 | ||||
-rw-r--r-- | SRC/sgeqr2.f | 2 | ||||
-rw-r--r-- | SRC/sgeqr2p.f | 2 | ||||
-rw-r--r-- | SRC/sgeqrf.f | 4 | ||||
-rw-r--r-- | SRC/sgeqrfp.f | 4 | ||||
-rw-r--r-- | SRC/sgerq2.f | 2 | ||||
-rw-r--r-- | SRC/sgerqf.f | 2 | ||||
-rw-r--r-- | SRC/sgetrs.f | 12 | ||||
-rw-r--r-- | SRC/sggglm.f | 12 | ||||
-rw-r--r-- | SRC/sgglse.f | 14 | ||||
-rw-r--r-- | SRC/sggqrf.f | 10 | ||||
-rw-r--r-- | SRC/sggrqf.f | 10 | ||||
-rw-r--r-- | SRC/sggsvd.f | 18 | ||||
-rw-r--r-- | SRC/sggsvp.f | 31 | ||||
-rw-r--r-- | SRC/sgtcon.f | 2 | ||||
-rw-r--r-- | SRC/sgtsv.f | 2 | ||||
-rw-r--r-- | SRC/sla_gbamv.f | 36 | ||||
-rw-r--r-- | SRC/sla_geamv.f | 26 | ||||
-rw-r--r-- | SRC/slabrd.f | 12 | ||||
-rw-r--r-- | SRC/slaed7.f | 4 | ||||
-rw-r--r-- | SRC/slaein.f | 2 | ||||
-rw-r--r-- | SRC/slags2.f | 40 | ||||
-rw-r--r-- | SRC/slagtm.f | 4 | ||||
-rw-r--r-- | SRC/slagts.f | 6 | ||||
-rw-r--r-- | SRC/slahr2.f | 16 | ||||
-rw-r--r-- | SRC/slahrd.f | 18 | ||||
-rw-r--r-- | SRC/slaic1.f | 2 | ||||
-rw-r--r-- | SRC/slaqp2.f | 2 | ||||
-rw-r--r-- | SRC/slaqps.f | 10 | ||||
-rw-r--r-- | SRC/slaqsb.f | 2 | ||||
-rw-r--r-- | SRC/slaqtr.f | 4 | ||||
-rw-r--r-- | SRC/slar1v.f | 50 | ||||
-rw-r--r-- | SRC/slarf.f | 8 | ||||
-rw-r--r-- | SRC/slarfb.f | 130 | ||||
-rw-r--r-- | SRC/slarfg.f | 4 | ||||
-rw-r--r-- | SRC/slarfgp.f | 4 | ||||
-rw-r--r-- | SRC/slarft.f | 12 | ||||
-rw-r--r-- | SRC/slarfx.f | 2 | ||||
-rw-r--r-- | SRC/slarrv.f | 2 | ||||
-rw-r--r-- | SRC/slarz.f | 8 | ||||
-rw-r--r-- | SRC/slarzb.f | 24 | ||||
-rw-r--r-- | SRC/slarzt.f | 2 | ||||
-rw-r--r-- | SRC/slasd1.f | 4 | ||||
-rw-r--r-- | SRC/slasyf.f | 12 | ||||
-rw-r--r-- | SRC/slatrd.f | 8 | ||||
-rw-r--r-- | SRC/slatrz.f | 2 | ||||
-rw-r--r-- | SRC/slatzm.f | 10 | ||||
-rw-r--r-- | SRC/slauu2.f | 10 | ||||
-rw-r--r-- | SRC/slauum.f | 10 | ||||
-rw-r--r-- | SRC/sorglq.f | 4 | ||||
-rw-r--r-- | SRC/sorgrq.f | 4 | ||||
-rw-r--r-- | SRC/sorm2l.f | 12 | ||||
-rw-r--r-- | SRC/sorm2r.f | 12 | ||||
-rw-r--r-- | SRC/sorml2.f | 12 | ||||
-rw-r--r-- | SRC/sormlq.f | 6 | ||||
-rw-r--r-- | SRC/sormql.f | 6 | ||||
-rw-r--r-- | SRC/sormqr.f | 6 | ||||
-rw-r--r-- | SRC/sormr2.f | 10 | ||||
-rw-r--r-- | SRC/sormr3.f | 18 | ||||
-rw-r--r-- | SRC/sormrq.f | 6 | ||||
-rw-r--r-- | SRC/sormrz.f | 6 | ||||
-rw-r--r-- | SRC/spbcon.f | 4 | ||||
-rw-r--r-- | SRC/spbsv.f | 2 | ||||
-rw-r--r-- | SRC/spbsvx.f | 2 | ||||
-rw-r--r-- | SRC/spbtf2.f | 12 | ||||
-rw-r--r-- | SRC/spbtrs.f | 8 | ||||
-rw-r--r-- | SRC/spocon.f | 4 | ||||
-rw-r--r-- | SRC/sposv.f | 2 | ||||
-rw-r--r-- | SRC/sposvx.f | 2 | ||||
-rw-r--r-- | SRC/spotf2.f | 10 | ||||
-rw-r--r-- | SRC/spotrf.f | 4 | ||||
-rw-r--r-- | SRC/spotri.f | 2 | ||||
-rw-r--r-- | SRC/spotrs.f | 8 | ||||
-rw-r--r-- | SRC/sppcon.f | 4 | ||||
-rw-r--r-- | SRC/sppsv.f | 2 | ||||
-rw-r--r-- | SRC/sppsvx.f | 9 | ||||
-rw-r--r-- | SRC/spptrf.f | 4 | ||||
-rw-r--r-- | SRC/spptri.f | 4 | ||||
-rw-r--r-- | SRC/spptrs.f | 8 | ||||
-rw-r--r-- | SRC/sptcon.f | 4 | ||||
-rw-r--r-- | SRC/sptrfs.f | 4 | ||||
-rw-r--r-- | SRC/sptsv.f | 2 | ||||
-rw-r--r-- | SRC/sptsvx.f | 2 | ||||
-rw-r--r-- | SRC/spttrf.f | 12 | ||||
-rw-r--r-- | SRC/spttrs.f | 8 | ||||
-rw-r--r-- | SRC/sptts2.f | 12 | ||||
-rw-r--r-- | SRC/sspcon.f | 2 | ||||
-rw-r--r-- | SRC/sspgst.f | 8 | ||||
-rw-r--r-- | SRC/sspgv.f | 4 | ||||
-rw-r--r-- | SRC/sspgvd.f | 5 | ||||
-rw-r--r-- | SRC/sspgvx.f | 4 | ||||
-rw-r--r-- | SRC/sspsv.f | 2 | ||||
-rw-r--r-- | SRC/sspsvx.f | 2 | ||||
-rw-r--r-- | SRC/ssptrd.f | 16 | ||||
-rw-r--r-- | SRC/ssptrf.f | 23 | ||||
-rw-r--r-- | SRC/ssptri.f | 4 | ||||
-rw-r--r-- | SRC/ssptrs.f | 16 | ||||
-rw-r--r-- | SRC/ssycon.f | 2 | ||||
-rw-r--r-- | SRC/ssygs2.f | 18 | ||||
-rw-r--r-- | SRC/ssygst.f | 8 | ||||
-rw-r--r-- | SRC/ssygv.f | 4 | ||||
-rw-r--r-- | SRC/ssygvd.f | 4 | ||||
-rw-r--r-- | SRC/ssygvx.f | 4 | ||||
-rw-r--r-- | SRC/ssysv.f | 2 | ||||
-rw-r--r-- | SRC/ssysvx.f | 2 | ||||
-rw-r--r-- | SRC/ssytd2.f | 18 | ||||
-rw-r--r-- | SRC/ssytf2.f | 22 | ||||
-rw-r--r-- | SRC/ssytrd.f | 8 | ||||
-rw-r--r-- | SRC/ssytrf.f | 8 | ||||
-rw-r--r-- | SRC/ssytri.f | 4 | ||||
-rw-r--r-- | SRC/ssytri2x.f | 16 | ||||
-rw-r--r-- | SRC/ssytrs.f | 16 | ||||
-rw-r--r-- | SRC/ssytrs2.f | 29 | ||||
-rw-r--r-- | SRC/stbrfs.f | 2 | ||||
-rw-r--r-- | SRC/stgex2.f | 14 | ||||
-rw-r--r-- | SRC/stgexc.f | 4 | ||||
-rw-r--r-- | SRC/stgsen.f | 14 | ||||
-rw-r--r-- | SRC/stgsja.f | 12 | ||||
-rw-r--r-- | SRC/stgsna.f | 16 | ||||
-rw-r--r-- | SRC/stgsy2.f | 2 | ||||
-rw-r--r-- | SRC/stgsyl.f | 10 | ||||
-rw-r--r-- | SRC/stprfs.f | 2 | ||||
-rw-r--r-- | SRC/strevc.f | 10 | ||||
-rw-r--r-- | SRC/strrfs.f | 2 | ||||
-rw-r--r-- | SRC/strsen.f | 8 | ||||
-rw-r--r-- | SRC/strsna.f | 22 | ||||
-rw-r--r-- | SRC/strsyl.f | 26 | ||||
-rw-r--r-- | SRC/stzrqf.f | 8 | ||||
-rw-r--r-- | SRC/stzrzf.f | 2 | ||||
-rw-r--r-- | SRC/zgbbrd.f | 18 | ||||
-rw-r--r-- | SRC/zgbcon.f | 4 | ||||
-rw-r--r-- | SRC/zgebd2.f | 10 | ||||
-rw-r--r-- | SRC/zgebrd.f | 6 | ||||
-rw-r--r-- | SRC/zgecon.f | 4 | ||||
-rw-r--r-- | SRC/zgehd2.f | 6 | ||||
-rw-r--r-- | SRC/zgehrd.f | 8 | ||||
-rw-r--r-- | SRC/zgelq2.f | 4 | ||||
-rw-r--r-- | SRC/zgelqf.f | 4 | ||||
-rw-r--r-- | SRC/zgels.f | 4 | ||||
-rw-r--r-- | SRC/zgelsx.f | 8 | ||||
-rw-r--r-- | SRC/zgelsy.f | 8 | ||||
-rw-r--r-- | SRC/zgeql2.f | 4 | ||||
-rw-r--r-- | SRC/zgeqlf.f | 4 | ||||
-rw-r--r-- | SRC/zgeqp3.f | 2 | ||||
-rw-r--r-- | SRC/zgeqpf.f | 2 | ||||
-rw-r--r-- | SRC/zgeqr2.f | 4 | ||||
-rw-r--r-- | SRC/zgeqr2p.f | 4 | ||||
-rw-r--r-- | SRC/zgeqrf.f | 4 | ||||
-rw-r--r-- | SRC/zgeqrfp.f | 4 | ||||
-rw-r--r-- | SRC/zgerq2.f | 4 | ||||
-rw-r--r-- | SRC/zgerqf.f | 4 | ||||
-rw-r--r-- | SRC/zgetrs.f | 4 | ||||
-rw-r--r-- | SRC/zggglm.f | 12 | ||||
-rw-r--r-- | SRC/zgglse.f | 14 | ||||
-rw-r--r-- | SRC/zggqrf.f | 10 | ||||
-rw-r--r-- | SRC/zggrqf.f | 10 | ||||
-rw-r--r-- | SRC/zggsvd.f | 20 | ||||
-rw-r--r-- | SRC/zggsvp.f | 29 | ||||
-rw-r--r-- | SRC/zgtcon.f | 2 | ||||
-rw-r--r-- | SRC/zgtsv.f | 2 | ||||
-rw-r--r-- | SRC/zhecon.f | 2 | ||||
-rw-r--r-- | SRC/zhegs2.f | 18 | ||||
-rw-r--r-- | SRC/zhegst.f | 8 | ||||
-rw-r--r-- | SRC/zhegv.f | 4 | ||||
-rw-r--r-- | SRC/zhegvd.f | 4 | ||||
-rw-r--r-- | SRC/zhegvx.f | 4 | ||||
-rw-r--r-- | SRC/zhesv.f | 2 | ||||
-rw-r--r-- | SRC/zhesvx.f | 2 | ||||
-rw-r--r-- | SRC/zhetd2.f | 20 | ||||
-rw-r--r-- | SRC/zhetf2.f | 24 | ||||
-rw-r--r-- | SRC/zhetrd.f | 8 | ||||
-rw-r--r-- | SRC/zhetrf.f | 8 | ||||
-rw-r--r-- | SRC/zhetri.f | 4 | ||||
-rw-r--r-- | SRC/zhetri2x.f | 16 | ||||
-rw-r--r-- | SRC/zhetrs.f | 16 | ||||
-rw-r--r-- | SRC/zhetrs2.f | 30 | ||||
-rw-r--r-- | SRC/zhpcon.f | 2 | ||||
-rw-r--r-- | SRC/zhpgst.f | 8 | ||||
-rw-r--r-- | SRC/zhpgv.f | 4 | ||||
-rw-r--r-- | SRC/zhpgvd.f | 6 | ||||
-rw-r--r-- | SRC/zhpgvx.f | 4 | ||||
-rw-r--r-- | SRC/zhpsv.f | 2 | ||||
-rw-r--r-- | SRC/zhpsvx.f | 2 | ||||
-rw-r--r-- | SRC/zhptrd.f | 16 | ||||
-rw-r--r-- | SRC/zhptrf.f | 20 | ||||
-rw-r--r-- | SRC/zhptri.f | 4 | ||||
-rw-r--r-- | SRC/zhptrs.f | 16 | ||||
-rw-r--r-- | SRC/zla_gbamv.f | 38 | ||||
-rw-r--r-- | SRC/zla_geamv.f | 28 | ||||
-rw-r--r-- | SRC/zlabrd.f | 8 | ||||
-rw-r--r-- | SRC/zlaed7.f | 4 | ||||
-rw-r--r-- | SRC/zlaein.f | 2 | ||||
-rw-r--r-- | SRC/zlags2.f | 50 | ||||
-rw-r--r-- | SRC/zlagtm.f | 4 | ||||
-rw-r--r-- | SRC/zlahef.f | 14 | ||||
-rw-r--r-- | SRC/zlahr2.f | 16 | ||||
-rw-r--r-- | SRC/zlahrd.f | 18 | ||||
-rw-r--r-- | SRC/zlaic1.f | 2 | ||||
-rw-r--r-- | SRC/zlalsd.f | 4 | ||||
-rw-r--r-- | SRC/zlaqhb.f | 6 | ||||
-rw-r--r-- | SRC/zlaqp2.f | 2 | ||||
-rw-r--r-- | SRC/zlaqps.f | 17 | ||||
-rw-r--r-- | SRC/zlaqsb.f | 2 | ||||
-rw-r--r-- | SRC/zlar1v.f | 22 | ||||
-rw-r--r-- | SRC/zlarf.f | 10 | ||||
-rw-r--r-- | SRC/zlarfb.f | 130 | ||||
-rw-r--r-- | SRC/zlarfg.f | 6 | ||||
-rw-r--r-- | SRC/zlarfgp.f | 6 | ||||
-rw-r--r-- | SRC/zlarft.f | 12 | ||||
-rw-r--r-- | SRC/zlarfx.f | 2 | ||||
-rw-r--r-- | SRC/zlarrv.f | 2 | ||||
-rw-r--r-- | SRC/zlarz.f | 10 | ||||
-rw-r--r-- | SRC/zlarzb.f | 26 | ||||
-rw-r--r-- | SRC/zlarzt.f | 2 | ||||
-rw-r--r-- | SRC/zlasyf.f | 14 | ||||
-rw-r--r-- | SRC/zlatrd.f | 8 | ||||
-rw-r--r-- | SRC/zlatrz.f | 2 | ||||
-rw-r--r-- | SRC/zlatzm.f | 10 | ||||
-rw-r--r-- | SRC/zlauu2.f | 10 | ||||
-rw-r--r-- | SRC/zlauum.f | 10 | ||||
-rw-r--r-- | SRC/zpbcon.f | 4 | ||||
-rw-r--r-- | SRC/zpbsv.f | 4 | ||||
-rw-r--r-- | SRC/zpbsvx.f | 8 | ||||
-rw-r--r-- | SRC/zpbtf2.f | 12 | ||||
-rw-r--r-- | SRC/zpbtrs.f | 12 | ||||
-rw-r--r-- | SRC/zpocon.f | 4 | ||||
-rw-r--r-- | SRC/zposv.f | 4 | ||||
-rw-r--r-- | SRC/zposvx.f | 8 | ||||
-rw-r--r-- | SRC/zpotf2.f | 10 | ||||
-rw-r--r-- | SRC/zpotrf.f | 6 | ||||
-rw-r--r-- | SRC/zpotri.f | 2 | ||||
-rw-r--r-- | SRC/zpotrs.f | 12 | ||||
-rw-r--r-- | SRC/zppcon.f | 4 | ||||
-rw-r--r-- | SRC/zppsv.f | 4 | ||||
-rw-r--r-- | SRC/zppsvx.f | 12 | ||||
-rw-r--r-- | SRC/zpptrf.f | 4 | ||||
-rw-r--r-- | SRC/zpptri.f | 4 | ||||
-rw-r--r-- | SRC/zpptrs.f | 12 | ||||
-rw-r--r-- | SRC/zptcon.f | 4 | ||||
-rw-r--r-- | SRC/zptrfs.f | 4 | ||||
-rw-r--r-- | SRC/zptsv.f | 4 | ||||
-rw-r--r-- | SRC/zptsvx.f | 2 | ||||
-rw-r--r-- | SRC/zpttrf.f | 12 | ||||
-rw-r--r-- | SRC/zpttrs.f | 12 | ||||
-rw-r--r-- | SRC/zptts2.f | 24 | ||||
-rw-r--r-- | SRC/zspcon.f | 2 | ||||
-rw-r--r-- | SRC/zspsv.f | 2 | ||||
-rw-r--r-- | SRC/zspsvx.f | 2 | ||||
-rw-r--r-- | SRC/zsptrf.f | 20 | ||||
-rw-r--r-- | SRC/zsptri.f | 4 | ||||
-rw-r--r-- | SRC/zsptrs.f | 16 | ||||
-rw-r--r-- | SRC/zsycon.f | 2 | ||||
-rw-r--r-- | SRC/zsysv.f | 2 | ||||
-rw-r--r-- | SRC/zsysvx.f | 2 | ||||
-rw-r--r-- | SRC/zsytf2.f | 28 | ||||
-rw-r--r-- | SRC/zsytrf.f | 8 | ||||
-rw-r--r-- | SRC/zsytri.f | 4 | ||||
-rw-r--r-- | SRC/zsytri2x.f | 16 | ||||
-rw-r--r-- | SRC/zsytrs.f | 16 | ||||
-rw-r--r-- | SRC/zsytrs2.f | 24 | ||||
-rw-r--r-- | SRC/ztgex2.f | 6 | ||||
-rw-r--r-- | SRC/ztgexc.f | 4 | ||||
-rw-r--r-- | SRC/ztgsen.f | 10 | ||||
-rw-r--r-- | SRC/ztgsja.f | 19 | ||||
-rw-r--r-- | SRC/ztgsna.f | 6 | ||||
-rw-r--r-- | SRC/ztgsy2.f | 2 | ||||
-rw-r--r-- | SRC/ztgsyl.f | 8 | ||||
-rw-r--r-- | SRC/ztrevc.f | 2 | ||||
-rw-r--r-- | SRC/ztrsen.f | 10 | ||||
-rw-r--r-- | SRC/ztrsna.f | 8 | ||||
-rw-r--r-- | SRC/ztrsyl.f | 24 | ||||
-rw-r--r-- | SRC/ztzrqf.f | 10 | ||||
-rw-r--r-- | SRC/ztzrzf.f | 2 | ||||
-rw-r--r-- | SRC/zungl2.f | 4 | ||||
-rw-r--r-- | SRC/zunglq.f | 6 | ||||
-rw-r--r-- | SRC/zungr2.f | 4 | ||||
-rw-r--r-- | SRC/zungrq.f | 6 | ||||
-rw-r--r-- | SRC/zunm2l.f | 18 | ||||
-rw-r--r-- | SRC/zunm2r.f | 18 | ||||
-rw-r--r-- | SRC/zunml2.f | 20 | ||||
-rw-r--r-- | SRC/zunmlq.f | 8 | ||||
-rw-r--r-- | SRC/zunmql.f | 6 | ||||
-rw-r--r-- | SRC/zunmqr.f | 6 | ||||
-rw-r--r-- | SRC/zunmr2.f | 20 | ||||
-rw-r--r-- | SRC/zunmr3.f | 18 | ||||
-rw-r--r-- | SRC/zunmrq.f | 8 | ||||
-rw-r--r-- | SRC/zunmrz.f | 6 | ||||
-rw-r--r-- | SRC/zupmtr.f | 12 |
610 files changed, 2894 insertions, 2889 deletions
diff --git a/SRC/cgbbrd.f b/SRC/cgbbrd.f index 4de53667..fc47ca86 100644 --- a/SRC/cgbbrd.f +++ b/SRC/cgbbrd.f @@ -20,20 +20,20 @@ * ======= * * CGBBRD reduces a complex general m-by-n band matrix A to real upper -* bidiagonal form B by a unitary transformation: Q' * A * P = B. +* bidiagonal form B by a unitary transformation: Q**H * A * P = B. * -* The routine computes B, and optionally forms Q or P', or computes -* Q'*C for a given matrix C. +* The routine computes B, and optionally forms Q or P**H, or computes +* Q**H*C for a given matrix C. * * Arguments * ========= * * VECT (input) CHARACTER*1 -* Specifies whether or not the matrices Q and P' are to be +* Specifies whether or not the matrices Q and P**H are to be * formed. -* = 'N': do not form Q or P'; +* = 'N': do not form Q or P**H; * = 'Q': form Q only; -* = 'P': form P' only; +* = 'P': form P**H only; * = 'B': form both. * * M (input) INTEGER @@ -86,7 +86,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,NCC) * On entry, an m-by-ncc matrix C. -* On exit, C is overwritten by Q'*C. +* On exit, C is overwritten by Q**H*C. * C is not referenced if NCC = 0. * * LDC (input) INTEGER @@ -165,7 +165,7 @@ RETURN END IF * -* Initialize Q and P' to the unit matrix, if needed +* Initialize Q and P**H to the unit matrix, if needed * IF( WANTQ ) $ CALL CLASET( 'Full', M, M, CZERO, CONE, Q, LDQ ) @@ -338,7 +338,7 @@ * IF( WANTPT ) THEN * -* accumulate product of plane rotations in P' +* accumulate product of plane rotations in P**H * DO 60 J = J1, J2, KB1 CALL CROT( N, PT( J+KUN-1, 1 ), LDPT, diff --git a/SRC/cgbcon.f b/SRC/cgbcon.f index 8acd43a6..0493c0ff 100644 --- a/SRC/cgbcon.f +++ b/SRC/cgbcon.f @@ -187,13 +187,13 @@ $ KL+KU, AB, LDAB, WORK, SCALE, RWORK, INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL CLATBS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, KL+KU, AB, LDAB, WORK, SCALE, RWORK, $ INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**H). * IF( LNOTI ) THEN DO 30 J = N - 1, 1, -1 diff --git a/SRC/cgebd2.f b/SRC/cgebd2.f index d1148a15..6d85c003 100644 --- a/SRC/cgebd2.f +++ b/SRC/cgebd2.f @@ -87,7 +87,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors; v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, v and u are complex vectors; * v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); @@ -170,7 +170,7 @@ D( I ) = ALPHA A( I, I ) = ONE * -* Apply H(i)' to A(i:m,i+1:n) from the left +* Apply H(i)**H to A(i:m,i+1:n) from the left * IF( I.LT.N ) $ CALL CLARF( 'Left', M-I+1, N-I, A( I, I ), 1, @@ -233,7 +233,7 @@ E( I ) = ALPHA A( I+1, I ) = ONE * -* Apply H(i)' to A(i+1:m,i+1:n) from the left +* Apply H(i)**H to A(i+1:m,i+1:n) from the left * CALL CLARF( 'Left', M-I, N-I, A( I+1, I ), 1, $ CONJG( TAUQ( I ) ), A( I+1, I+1 ), LDA, diff --git a/SRC/cgebrd.f b/SRC/cgebrd.f index 72749e3c..06c95fb1 100644 --- a/SRC/cgebrd.f +++ b/SRC/cgebrd.f @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors; v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in @@ -113,7 +113,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors; v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in @@ -233,7 +233,7 @@ $ WORK( LDWRKX*NB+1 ), LDWRKY ) * * Update the trailing submatrix A(i+ib:m,i+ib:n), using -* an update of the form A := A - V*Y' - X*U' +* an update of the form A := A - V*Y**H - X*U**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', M-I-NB+1, $ N-I-NB+1, NB, -ONE, A( I+NB, I ), LDA, diff --git a/SRC/cgecon.f b/SRC/cgecon.f index de14d318..affb98b7 100644 --- a/SRC/cgecon.f +++ b/SRC/cgecon.f @@ -156,13 +156,13 @@ $ A, LDA, WORK, SU, RWORK( N+1 ), INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL CLATRS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, A, LDA, WORK, SU, RWORK( N+1 ), $ INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL CLATRS( 'Lower', 'Conjugate transpose', 'Unit', NORMIN, $ N, A, LDA, WORK, SL, RWORK, INFO ) diff --git a/SRC/cgehd2.f b/SRC/cgehd2.f index 9237dca8..866ff472 100644 --- a/SRC/cgehd2.f +++ b/SRC/cgehd2.f @@ -16,7 +16,7 @@ * ======= * * CGEHD2 reduces a complex general matrix A to upper Hessenberg form H -* by a unitary similarity transformation: Q' * A * Q = H . +* by a unitary similarity transformation: Q**H * A * Q = H . * * Arguments * ========= @@ -63,7 +63,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on @@ -134,7 +134,7 @@ CALL CLARF( 'Right', IHI, IHI-I, A( I+1, I ), 1, TAU( I ), $ A( 1, I+1 ), LDA, WORK ) * -* Apply H(i)' to A(i+1:ihi,i+1:n) from the left +* Apply H(i)**H to A(i+1:ihi,i+1:n) from the left * CALL CLARF( 'Left', IHI-I, N-I, A( I+1, I ), 1, $ CONJG( TAU( I ) ), A( I+1, I+1 ), LDA, WORK ) diff --git a/SRC/cgehrd.f b/SRC/cgehrd.f index 6f7f9855..8cf805d9 100644 --- a/SRC/cgehrd.f +++ b/SRC/cgehrd.f @@ -16,7 +16,7 @@ * ======= * * CGEHRD reduces a complex general matrix A to upper Hessenberg form H by -* an unitary similarity transformation: Q' * A * Q = H . +* an unitary similarity transformation: Q**H * A * Q = H . * * Arguments * ========= @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on @@ -223,14 +223,14 @@ IB = MIN( NB, IHI-I ) * * Reduce columns i:i+ib-1 to Hessenberg form, returning the -* matrices V and T of the block reflector H = I - V*T*V' +* matrices V and T of the block reflector H = I - V*T*V**H * which performs the reduction, and also the matrix Y = A*V*T * CALL CLAHR2( IHI, I, IB, A( 1, I ), LDA, TAU( I ), T, LDT, $ WORK, LDWORK ) * * Apply the block reflector H to A(1:ihi,i+ib:ihi) from the -* right, computing A := A - Y * V'. V(i+ib,ib-1) must be set +* right, computing A := A - Y * V**H. V(i+ib,ib-1) must be set * to 1 * EI = A( I+IB, I+IB-1 ) diff --git a/SRC/cgelq2.f b/SRC/cgelq2.f index ae39d8dc..c513d496 100644 --- a/SRC/cgelq2.f +++ b/SRC/cgelq2.f @@ -53,11 +53,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)', where k = min(m,n). +* Q = H(k)**H . . . H(2)**H H(1)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; conjg(v(i+1:n)) is stored on exit in diff --git a/SRC/cgelqf.f b/SRC/cgelqf.f index 0c90359b..06a60975 100644 --- a/SRC/cgelqf.f +++ b/SRC/cgelqf.f @@ -64,11 +64,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)', where k = min(m,n). +* Q = H(k)**H . . . H(2)**H H(1)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; conjg(v(i+1:n)) is stored on exit in diff --git a/SRC/cgels.f b/SRC/cgels.f index 646d6e89..3fd0e065 100644 --- a/SRC/cgels.f +++ b/SRC/cgels.f @@ -278,7 +278,7 @@ * * Least-Squares Problem min || A * X - B || * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) * CALL CUNMQR( 'Left', 'Conjugate transpose', M, NRHS, N, A, $ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, @@ -360,7 +360,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Q(1:N,:)' * B(1:M,1:NRHS) +* B(1:N,1:NRHS) := Q(1:N,:)**H * B(1:M,1:NRHS) * CALL CUNMLQ( 'Left', 'Conjugate transpose', N, NRHS, M, A, $ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, diff --git a/SRC/cgelsx.f b/SRC/cgelsx.f index b321bc6c..1642ea80 100644 --- a/SRC/cgelsx.f +++ b/SRC/cgelsx.f @@ -45,8 +45,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**H [ inv(T11)*Q1**H*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * Arguments @@ -275,7 +275,7 @@ * * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) * CALL CUNM2R( 'Left', 'Conjugate transpose', M, NRHS, MN, A, LDA, $ WORK( 1 ), B, LDB, WORK( 2*MN+1 ), INFO ) @@ -293,7 +293,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**H * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN DO 50 I = 1, RANK diff --git a/SRC/cgelsy.f b/SRC/cgelsy.f index e0da0be2..636b1709 100644 --- a/SRC/cgelsy.f +++ b/SRC/cgelsy.f @@ -319,7 +319,7 @@ * complex workspace: 2*MN. * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) * CALL CUNMQR( 'Left', 'Conjugate transpose', M, NRHS, MN, A, LDA, $ WORK( 1 ), B, LDB, WORK( 2*MN+1 ), LWORK-2*MN, INFO ) @@ -338,7 +338,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**H * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN CALL CUNMRZ( 'Left', 'Conjugate transpose', N, NRHS, RANK, diff --git a/SRC/cgeql2.f b/SRC/cgeql2.f index 2e7c31a6..d42fae13 100644 --- a/SRC/cgeql2.f +++ b/SRC/cgeql2.f @@ -59,7 +59,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in @@ -108,7 +108,7 @@ ALPHA = A( M-K+I, N-K+I ) CALL CLARFG( M-K+I, ALPHA, A( 1, N-K+I ), 1, TAU( I ) ) * -* Apply H(i)' to A(1:m-k+i,1:n-k+i-1) from the left +* Apply H(i)**H to A(1:m-k+i,1:n-k+i-1) from the left * A( M-K+I, N-K+I ) = ONE CALL CLARF( 'Left', M-K+I, N-K+I-1, A( 1, N-K+I ), 1, diff --git a/SRC/cgeqlf.f b/SRC/cgeqlf.f index 340f7c25..c99a4b26 100644 --- a/SRC/cgeqlf.f +++ b/SRC/cgeqlf.f @@ -71,7 +71,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in @@ -186,7 +186,7 @@ CALL CLARFT( 'Backward', 'Columnwise', M-K+I+IB-1, IB, $ A( 1, N-K+I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i+ib-1,1:n-k+i-1) from the left +* Apply H**H to A(1:m-k+i+ib-1,1:n-k+i-1) from the left * CALL CLARFB( 'Left', 'Conjugate transpose', 'Backward', $ 'Columnwise', M-K+I+IB-1, N-K+I-1, IB, diff --git a/SRC/cgeqp3.f b/SRC/cgeqp3.f index e97c55a0..d70f613e 100644 --- a/SRC/cgeqp3.f +++ b/SRC/cgeqp3.f @@ -79,7 +79,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a real/complex scalar, and v is a real/complex vector * with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in diff --git a/SRC/cgeqpf.f b/SRC/cgeqpf.f index c438538c..3ff29843 100644 --- a/SRC/cgeqpf.f +++ b/SRC/cgeqpf.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i). diff --git a/SRC/cgeqr2.f b/SRC/cgeqr2.f index 9123ba15..28c0b994 100644 --- a/SRC/cgeqr2.f +++ b/SRC/cgeqr2.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -106,7 +106,7 @@ $ TAU( I ) ) IF( I.LT.N ) THEN * -* Apply H(i)' to A(i:m,i+1:n) from the left +* Apply H(i)**H to A(i:m,i+1:n) from the left * ALPHA = A( I, I ) A( I, I ) = ONE diff --git a/SRC/cgeqr2p.f b/SRC/cgeqr2p.f index a869fbae..59841041 100644 --- a/SRC/cgeqr2p.f +++ b/SRC/cgeqr2p.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -106,7 +106,7 @@ $ TAU( I ) ) IF( I.LT.N ) THEN * -* Apply H(i)' to A(i:m,i+1:n) from the left +* Apply H(i)**H to A(i:m,i+1:n) from the left * ALPHA = A( I, I ) A( I, I ) = ONE diff --git a/SRC/cgeqrf.f b/SRC/cgeqrf.f index 01d2af1d..b5f303b6 100644 --- a/SRC/cgeqrf.f +++ b/SRC/cgeqrf.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL CLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**H to A(i:m,i+ib:n) from the left * CALL CLARFB( 'Left', 'Conjugate transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/cgeqrfp.f b/SRC/cgeqrfp.f index 9f96f7dc..26dd05dc 100644 --- a/SRC/cgeqrfp.f +++ b/SRC/cgeqrfp.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL CLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**H to A(i:m,i+ib:n) from the left * CALL CLARFB( 'Left', 'Conjugate transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/cgerq2.f b/SRC/cgerq2.f index 574aa7ed..c900b35f 100644 --- a/SRC/cgerq2.f +++ b/SRC/cgerq2.f @@ -55,11 +55,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)', where k = min(m,n). +* Q = H(1)**H H(2)**H . . . H(k)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on diff --git a/SRC/cgerqf.f b/SRC/cgerqf.f index 04e7f530..cf03cde0 100644 --- a/SRC/cgerqf.f +++ b/SRC/cgerqf.f @@ -67,11 +67,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)', where k = min(m,n). +* Q = H(1)**H H(2)**H . . . H(k)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on diff --git a/SRC/cgetrs.f b/SRC/cgetrs.f index 2b85559e..62bb3a08 100644 --- a/SRC/cgetrs.f +++ b/SRC/cgetrs.f @@ -128,12 +128,12 @@ * * Solve A**T * X = B or A**H * X = B. * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B or U**H *X = B, overwriting B with X. * CALL CTRSM( 'Left', 'Upper', TRANS, 'Non-unit', N, NRHS, ONE, $ A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, or L**H *X = B overwriting B with X. * CALL CTRSM( 'Left', 'Lower', TRANS, 'Unit', N, NRHS, ONE, A, $ LDA, B, LDB ) diff --git a/SRC/cggglm.f b/SRC/cggglm.f index 7bc72af5..9e738cc8 100644 --- a/SRC/cggglm.f +++ b/SRC/cggglm.f @@ -187,9 +187,9 @@ * * Compute the GQR factorization of matrices A and B: * -* Q'*A = ( R11 ) M, Q'*B*Z' = ( T11 T12 ) M -* ( 0 ) N-M ( 0 T22 ) N-M -* M M+P-N N-M +* Q**H*A = ( R11 ) M, Q**H*B*Z**H = ( T11 T12 ) M +* ( 0 ) N-M ( 0 T22 ) N-M +* M M+P-N N-M * * where R11 and T22 are upper triangular, and Q and Z are * unitary. @@ -198,8 +198,8 @@ $ WORK( M+NP+1 ), LWORK-M-NP, INFO ) LOPT = WORK( M+NP+1 ) * -* Update left-hand-side vector d = Q'*d = ( d1 ) M -* ( d2 ) N-M +* Update left-hand-side vector d = Q**H*d = ( d1 ) M +* ( d2 ) N-M * CALL CUNMQR( 'Left', 'Conjugate transpose', N, 1, M, A, LDA, WORK, $ D, MAX( 1, N ), WORK( M+NP+1 ), LWORK-M-NP, INFO ) @@ -246,7 +246,7 @@ CALL CCOPY( M, D, 1, X, 1 ) END IF * -* Backward transformation y = Z'*y +* Backward transformation y = Z**H *y * CALL CUNMRQ( 'Left', 'Conjugate transpose', P, 1, NP, $ B( MAX( 1, N-P+1 ), 1 ), LDB, WORK( M+1 ), Y, diff --git a/SRC/cgglse.f b/SRC/cgglse.f index 43984c96..e3614017 100644 --- a/SRC/cgglse.f +++ b/SRC/cgglse.f @@ -183,9 +183,9 @@ * * Compute the GRQ factorization of matrices B and A: * -* B*Q' = ( 0 T12 ) P Z'*A*Q' = ( R11 R12 ) N-P -* N-P P ( 0 R22 ) M+P-N -* N-P P +* B*Q**H = ( 0 T12 ) P Z**H*A*Q**H = ( R11 R12 ) N-P +* N-P P ( 0 R22 ) M+P-N +* N-P P * * where T12 and R11 are upper triangular, and Q and Z are * unitary. @@ -194,7 +194,7 @@ $ WORK( P+MN+1 ), LWORK-P-MN, INFO ) LOPT = WORK( P+MN+1 ) * -* Update c = Z'*c = ( c1 ) N-P +* Update c = Z**H *c = ( c1 ) N-P * ( c2 ) M+P-N * CALL CUNMQR( 'Left', 'Conjugate Transpose', M, 1, MN, A, LDA, @@ -255,7 +255,7 @@ CALL CAXPY( NR, -CONE, D, 1, C( N-P+1 ), 1 ) END IF * -* Backward transformation x = Q'*x +* Backward transformation x = Q**H*x * CALL CUNMRQ( 'Left', 'Conjugate Transpose', N, 1, P, B, LDB, $ WORK( 1 ), X, N, WORK( P+MN+1 ), LWORK-P-MN, INFO ) diff --git a/SRC/cggqrf.f b/SRC/cggqrf.f index d409bfbf..7f8fb74c 100644 --- a/SRC/cggqrf.f +++ b/SRC/cggqrf.f @@ -40,7 +40,7 @@ * In particular, if B is square and nonsingular, the GQR factorization * of A and B implicitly gives the QR factorization of inv(B)*A: * -* inv(B)*A = Z'*(inv(T)*R) +* inv(B)*A = Z**H * (inv(T)*R) * * where inv(B) denotes the inverse of the matrix B, and Z' denotes the * conjugate transpose of matrix Z. @@ -119,7 +119,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**H * * where taua is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -133,7 +133,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**H * * where taub is a complex scalar, and v is a complex vector with * v(p-k+i+1:p) = 0 and v(p-k+i) = 1; v(1:p-k+i-1) is stored on exit in @@ -194,7 +194,7 @@ CALL CGEQRF( N, M, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := Q'*B. +* Update B := Q**H*B. * CALL CUNMQR( 'Left', 'Conjugate Transpose', N, P, MIN( N, M ), A, $ LDA, TAUA, B, LDB, WORK, LWORK, INFO ) diff --git a/SRC/cggrqf.f b/SRC/cggrqf.f index 5ed04080..51f39734 100644 --- a/SRC/cggrqf.f +++ b/SRC/cggrqf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GRQ factorization * of A and B implicitly gives the RQ factorization of A*inv(B): * -* A*inv(B) = (R*inv(T))*Z' +* A*inv(B) = (R*inv(T))*Z**H * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**H denotes the * conjugate transpose of the matrix Z. * * Arguments @@ -118,7 +118,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**H * * where taua is a complex scalar, and v is a complex vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in @@ -132,7 +132,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**H * * where taub is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:p) is stored on exit in B(i+1:p,i), @@ -193,7 +193,7 @@ CALL CGERQF( M, N, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := B*Q' +* Update B := B*Q**H * CALL CUNMRQ( 'Right', 'Conjugate Transpose', P, N, MIN( M, N ), $ A( MAX( 1, M-N+1 ), 1 ), LDA, TAUA, B, LDB, WORK, diff --git a/SRC/cggsvd.f b/SRC/cggsvd.f index 0396e584..e8306976 100644 --- a/SRC/cggsvd.f +++ b/SRC/cggsvd.f @@ -24,11 +24,11 @@ * CGGSVD computes the generalized singular value decomposition (GSVD) * of an M-by-N complex matrix A and P-by-N complex matrix B: * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ) +* U**H*A*Q = D1*( 0 R ), V**H*B*Q = D2*( 0 R ) * -* where U, V and Q are unitary matrices, and Z' means the conjugate -* transpose of Z. Let K+L = the effective numerical rank of the -* matrix (A',B')', then R is a (K+L)-by-(K+L) nonsingular upper +* where U, V and Q are unitary matrices. +* Let K+L = the effective numerical rank of the +* matrix (A**H,B**H)**H, then R is a (K+L)-by-(K+L) nonsingular upper * triangular matrix, D1 and D2 are M-by-(K+L) and P-by-(K+L) "diagonal" * matrices and of the following structures, respectively: * @@ -46,6 +46,7 @@ * N-K-L K L * ( 0 R ) = K ( 0 R11 R12 ) * L ( 0 0 R22 ) +* * where * * C = diag( ALPHA(K+1), ... , ALPHA(K+L) ), @@ -85,13 +86,13 @@ * * In particular, if B is an N-by-N nonsingular matrix, then the GSVD of * A and B implicitly gives the SVD of A*inv(B): -* A*inv(B) = U*(D1*inv(D2))*V'. -* If ( A',B')' has orthnormal columns, then the GSVD of A and B is also +* A*inv(B) = U*(D1*inv(D2))*V**H. +* If ( A**H,B**H)**H has orthnormal columns, then the GSVD of A and B is also * equal to the CS decomposition of A and B. Furthermore, the GSVD can * be used to derive the solution of the eigenvalue problem: -* A'*A x = lambda* B'*B x. +* A**H*A x = lambda* B**H*B x. * In some literature, the GSVD of A and B is presented in the form -* U'*A*X = ( 0 D1 ), V'*B*X = ( 0 D2 ) +* U**H*A*X = ( 0 D1 ), V**H*B*X = ( 0 D2 ) * where U and V are orthogonal and X is nonsingular, and D1 and D2 are * ``diagonal''. The former GSVD form can be converted to the latter * form by taking the nonsingular matrix X as @@ -127,7 +128,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in Purpose. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A**H,B**H)**H. * * A (input/output) COMPLEX array, dimension (LDA,N) * On entry, the M-by-N matrix A. @@ -209,7 +210,7 @@ * TOLA REAL * TOLB REAL * TOLA and TOLB are the thresholds to determine the effective -* rank of (A',B')'. Generally, they are set to +* rank of (A',B')**H. Generally, they are set to * TOLA = MAX(M,N)*norm(A)*MACHEPS, * TOLB = MAX(P,N)*norm(B)*MACHEPS. * The size of TOLA and TOLB may affect the size of backward diff --git a/SRC/cggsvp.f b/SRC/cggsvp.f index e4aa67cf..f194cbdb 100644 --- a/SRC/cggsvp.f +++ b/SRC/cggsvp.f @@ -24,24 +24,23 @@ * * CGGSVP computes unitary matrices U, V and Q such that * -* N-K-L K L -* U'*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; -* L ( 0 0 A23 ) -* M-K-L ( 0 0 0 ) +* N-K-L K L +* U**H*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; +* L ( 0 0 A23 ) +* M-K-L ( 0 0 0 ) * * N-K-L K L * = K ( 0 A12 A13 ) if M-K-L < 0; * M-K ( 0 0 A23 ) * -* N-K-L K L -* V'*B*Q = L ( 0 0 B13 ) -* P-L ( 0 0 0 ) +* N-K-L K L +* V**H*B*Q = L ( 0 0 B13 ) +* P-L ( 0 0 0 ) * * where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular * upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0, * otherwise A23 is (M-K)-by-L upper trapezoidal. K+L = the effective -* numerical rank of the (M+P)-by-N matrix (A',B')'. Z' denotes the -* conjugate transpose of Z. +* numerical rank of the (M+P)-by-N matrix (A**H,B**H)**H. * * This decomposition is the preprocessing step for computing the * Generalized Singular Value Decomposition (GSVD), see subroutine @@ -101,7 +100,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in Purpose section. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A**H,B**H)**H. * * U (output) COMPLEX array, dimension (LDU,M) * If JOBU = 'U', U contains the unitary matrix U. @@ -268,13 +267,13 @@ * CALL CGERQ2( L, N, B, LDB, TAU, WORK, INFO ) * -* Update A := A*Z' +* Update A := A*Z**H * CALL CUNMR2( 'Right', 'Conjugate transpose', M, N, L, B, LDB, $ TAU, A, LDA, WORK, INFO ) IF( WANTQ ) THEN * -* Update Q := Q*Z' +* Update Q := Q*Z**H * CALL CUNMR2( 'Right', 'Conjugate transpose', N, N, L, B, $ LDB, TAU, Q, LDQ, WORK, INFO ) @@ -296,7 +295,7 @@ * * then the following does the complete QR decomposition of A11: * -* A11 = U*( 0 T12 )*P1' +* A11 = U*( 0 T12 )*P1**H * ( 0 0 ) * DO 70 I = 1, N - L @@ -312,7 +311,7 @@ $ K = K + 1 80 CONTINUE * -* Update A12 := U'*A12, where A12 = A( 1:M, N-L+1:N ) +* Update A12 := U**H*A12, where A12 = A( 1:M, N-L+1:N ) * CALL CUNM2R( 'Left', 'Conjugate transpose', M, L, MIN( M, N-L ), $ A, LDA, TAU, A( 1, N-L+1 ), LDA, WORK, INFO ) @@ -354,7 +353,7 @@ * IF( WANTQ ) THEN * -* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1' +* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1**H * CALL CUNMR2( 'Right', 'Conjugate transpose', N, N-L, K, A, $ LDA, TAU, Q, LDQ, WORK, INFO ) diff --git a/SRC/cgtcon.f b/SRC/cgtcon.f index a2791840..67d478bd 100644 --- a/SRC/cgtcon.f +++ b/SRC/cgtcon.f @@ -152,7 +152,7 @@ $ WORK, N, INFO ) ELSE * -* Multiply by inv(L')*inv(U'). +* Multiply by inv(L**H)*inv(U**H). * CALL CGTTRS( 'Conjugate transpose', N, 1, DL, D, DU, DU2, $ IPIV, WORK, N, INFO ) diff --git a/SRC/cgtsv.f b/SRC/cgtsv.f index 4dc3c47b..40c857f1 100644 --- a/SRC/cgtsv.f +++ b/SRC/cgtsv.f @@ -22,7 +22,7 @@ * where A is an N-by-N tridiagonal matrix, by Gaussian elimination with * partial pivoting. * -* Note that the equation A'*X = B may be solved by interchanging the +* Note that the equation A**H *X = B may be solved by interchanging the * order of the arguments DU and DL. * * Arguments diff --git a/SRC/checon.f b/SRC/checon.f index 226c17ac..a4e0e920 100644 --- a/SRC/checon.f +++ b/SRC/checon.f @@ -146,7 +146,7 @@ CALL CLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**H) or inv(U*D*U**H). * CALL CHETRS( UPLO, N, 1, A, LDA, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/chegs2.f b/SRC/chegs2.f index f88631f0..ebaaf909 100644 --- a/SRC/chegs2.f +++ b/SRC/chegs2.f @@ -20,19 +20,19 @@ * eigenproblem to standard form. * * If ITYPE = 1, the problem is A*x = lambda*B*x, -* and A is overwritten by inv(U')*A*inv(U) or inv(L)*A*inv(L') +* and A is overwritten by inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H) * * If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or -* B*A*x = lambda*x, and A is overwritten by U*A*U` or L'*A*L. +* B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H *A*L. * -* B must have been previously factorized as U'*U or L*L' by CPOTRF. +* B must have been previously factorized as U**H *U or L*L**H by ZPOTRF. * * Arguments * ========= * * ITYPE (input) INTEGER -* = 1: compute inv(U')*A*inv(U) or inv(L)*A*inv(L'); -* = 2 or 3: compute U*A*U' or L'*A*L. +* = 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H); +* = 2 or 3: compute U*A*U**H or L**H *A*L. * * UPLO (input) CHARACTER*1 * Specifies whether the upper or lower triangular part of the @@ -119,7 +119,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**H)*A*inv(U) * DO 10 K = 1, N * @@ -149,7 +149,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**H) * DO 20 K = 1, N * @@ -174,7 +174,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**H * DO 30 K = 1, N * @@ -194,7 +194,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**H *A*L * DO 40 K = 1, N * diff --git a/SRC/chegst.f b/SRC/chegst.f index 10a2c264..c61bd36a 100644 --- a/SRC/chegst.f +++ b/SRC/chegst.f @@ -136,7 +136,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**H)*A*inv(U) * DO 10 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -167,7 +167,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**H) * DO 20 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -200,7 +200,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**H * DO 30 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -226,7 +226,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**H*A*L * DO 40 K = 1, N, NB KB = MIN( N-K+1, NB ) diff --git a/SRC/chegv.f b/SRC/chegv.f index d8e45a75..6d5c4a30 100644 --- a/SRC/chegv.f +++ b/SRC/chegv.f @@ -197,7 +197,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -211,7 +211,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H*y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/chegvd.f b/SRC/chegvd.f index 61ee89a4..7d0362a6 100644 --- a/SRC/chegvd.f +++ b/SRC/chegvd.f @@ -270,7 +270,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -284,7 +284,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/chegvx.f b/SRC/chegvx.f index eb6b8756..c07a8299 100644 --- a/SRC/chegvx.f +++ b/SRC/chegvx.f @@ -299,7 +299,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -313,7 +313,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H*y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/chesv.f b/SRC/chesv.f index 2705bb52..5e59ca44 100644 --- a/SRC/chesv.f +++ b/SRC/chesv.f @@ -158,7 +158,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL CHETRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/chesvx.f b/SRC/chesvx.f index ea0c5e2f..2a22358f 100644 --- a/SRC/chesvx.f +++ b/SRC/chesvx.f @@ -255,7 +255,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL CLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL CHETRF( UPLO, N, AF, LDAF, IPIV, WORK, LWORK, INFO ) diff --git a/SRC/chetd2.f b/SRC/chetd2.f index 89eb1e90..541ac522 100644 --- a/SRC/chetd2.f +++ b/SRC/chetd2.f @@ -19,7 +19,7 @@ * * CHETD2 reduces a complex Hermitian matrix A to real symmetric * tridiagonal form T by a unitary similarity transformation: -* Q' * A * Q = T. +* Q**H * A * Q = T. * * Arguments * ========= @@ -81,7 +81,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -94,7 +94,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -168,7 +168,7 @@ A( N, N ) = REAL( A( N, N ) ) DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(1:i-1,i+1) * ALPHA = A( I, I+1 ) @@ -186,13 +186,13 @@ CALL CHEMV( UPLO, I, TAUI, A, LDA, A( 1, I+1 ), 1, ZERO, $ TAU, 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**H * v) * v * ALPHA = -HALF*TAUI*CDOTC( I, TAU, 1, A( 1, I+1 ), 1 ) CALL CAXPY( I, ALPHA, A( 1, I+1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**H - w * v**H * CALL CHER2( UPLO, I, -ONE, A( 1, I+1 ), 1, TAU, 1, A, $ LDA ) @@ -212,7 +212,7 @@ A( 1, 1 ) = REAL( A( 1, 1 ) ) DO 20 I = 1, N - 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(i+2:n,i) * ALPHA = A( I+1, I ) @@ -230,14 +230,14 @@ CALL CHEMV( UPLO, N-I, TAUI, A( I+1, I+1 ), LDA, $ A( I+1, I ), 1, ZERO, TAU( I ), 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**H * v) * v * ALPHA = -HALF*TAUI*CDOTC( N-I, TAU( I ), 1, A( I+1, I ), $ 1 ) CALL CAXPY( N-I, ALPHA, A( I+1, I ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**H * CALL CHER2( UPLO, N-I, -ONE, A( I+1, I ), 1, TAU( I ), 1, $ A( I+1, I+1 ), LDA ) diff --git a/SRC/chetf2.f b/SRC/chetf2.f index 99c11509..5d41a374 100644 --- a/SRC/chetf2.f +++ b/SRC/chetf2.f @@ -20,10 +20,10 @@ * CHETF2 computes the factorization of a complex Hermitian matrix A * using the Bunch-Kaufman diagonal pivoting method: * -* A = U*D*U' or A = L*D*L' +* A = U*D*U**H or A = L*D*L**H * * where U (or L) is a product of permutation and unit upper (lower) -* triangular matrices, U' is the conjugate transpose of U, and D is +* triangular matrices, U**H is the conjugate transpose of U, and D is * Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -88,7 +88,7 @@ * J. Lewis, Boeing Computer Services Company * A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**H, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -105,7 +105,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**H, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -179,7 +179,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**H using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -296,7 +296,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**H = A - W(k)*1/D(k)*W(k)**H * R1 = ONE / REAL( A( K, K ) ) CALL CHER( UPLO, K-1, -R1, A( 1, K ), 1, A, LDA ) @@ -315,8 +315,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**H +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**H * IF( K.GT.2 ) THEN * @@ -361,7 +361,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**H using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -481,7 +481,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**H = A - W(k)*(1/D(k))*W(k)**H * R1 = ONE / REAL( A( K, K ) ) CALL CHER( UPLO, N-K, -R1, A( K+1, K ), 1, @@ -499,8 +499,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**H +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**H * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/chetrd.f b/SRC/chetrd.f index 367aca1a..2868958c 100644 --- a/SRC/chetrd.f +++ b/SRC/chetrd.f @@ -92,7 +92,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -105,7 +105,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -237,7 +237,7 @@ $ LDWORK ) * * Update the unreduced submatrix A(1:i-1,1:i-1), using an -* update of the form: A := A - V*W' - W*V' +* update of the form: A := A - V*W' - W*V**H * CALL CHER2K( UPLO, 'No transpose', I-1, NB, -CONE, $ A( 1, I ), LDA, WORK, LDWORK, ONE, A, LDA ) @@ -268,7 +268,7 @@ $ TAU( I ), WORK, LDWORK ) * * Update the unreduced submatrix A(i+nb:n,i+nb:n), using -* an update of the form: A := A - V*W' - W*V' +* an update of the form: A := A - V*W' - W*V**H * CALL CHER2K( UPLO, 'No transpose', N-I-NB+1, NB, -CONE, $ A( I+NB, I ), LDA, WORK( NB+1 ), LDWORK, ONE, diff --git a/SRC/chetrf.f b/SRC/chetrf.f index c9b94ad2..ad6ad54e 100644 --- a/SRC/chetrf.f +++ b/SRC/chetrf.f @@ -82,7 +82,7 @@ * Further Details * =============== * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**H, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -99,7 +99,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**H, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -182,7 +182,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**H using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * KB, where KB is the number of columns factorized by CLAHEF; @@ -222,7 +222,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**H using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * KB, where KB is the number of columns factorized by CLAHEF; diff --git a/SRC/chetri.f b/SRC/chetri.f index 6160f600..582c4822 100644 --- a/SRC/chetri.f +++ b/SRC/chetri.f @@ -130,7 +130,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -225,7 +225,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/chetri2x.f b/SRC/chetri2x.f index 6a01d5d2..9bafd618 100644 --- a/SRC/chetri2x.f +++ b/SRC/chetri2x.f @@ -156,7 +156,7 @@ IF( UPPER ) THEN * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**H)*inv(D)*inv(U)*P'. * CALL CTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -184,9 +184,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**H) = (inv(U))**H * -* inv(U')*inv(D)*inv(U) +* inv(U**H)*inv(D)*inv(U) * CUT=N DO WHILE (CUT .GT. 0) @@ -311,7 +311,7 @@ * END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**H)*inv(D)*inv(U) *P' * I=1 DO WHILE ( I .LE. N ) @@ -333,7 +333,7 @@ * * LOWER... * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**H)*inv(D)*inv(U)*P'. * CALL CTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -361,9 +361,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**H) = (inv(U))**H * -* inv(U')*inv(D)*inv(U) +* inv(U**H)*inv(D)*inv(U) * CUT=0 DO WHILE (CUT .LT. N) @@ -494,7 +494,7 @@ CUT=CUT+NNB END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**H)*inv(D)*inv(U) *P' * I=N DO WHILE ( I .GE. 1 ) diff --git a/SRC/chetrs.f b/SRC/chetrs.f index 9decc888..a7767c07 100644 --- a/SRC/chetrs.f +++ b/SRC/chetrs.f @@ -108,7 +108,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**H. * * First solve U*D*X = B, overwriting B with X. * @@ -180,7 +180,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**H *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -197,7 +197,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**H(K)), where U(K) is the transformation * stored in column K of A. * IF( K.GT.1 ) THEN @@ -217,7 +217,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**H(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * IF( K.GT.1 ) THEN @@ -245,7 +245,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**H. * * First solve L*D*X = B, overwriting B with X. * @@ -320,7 +320,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**H *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -337,7 +337,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**H(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) THEN @@ -358,7 +358,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**H(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/chetrs2.f b/SRC/chetrs2.f index 72a9559f..90ea8019 100644 --- a/SRC/chetrs2.f +++ b/SRC/chetrs2.f @@ -21,9 +21,9 @@ * Purpose * ======= * -* CHETRS2 solves a system of linear equations A*X = B with a COMPLEX -* Hermitian matrix A using the factorization A = U*D*U**T or -* A = L*D*L**T computed by CSYTRF and converted by CSYCONV. +* CHETRS2 solves a system of linear equations A*X = B with a complex +* Hermitian matrix A using the factorization A = U*D*U**H or +* A = L*D*L**H computed by CHETRF and converted by CSYCONV. * * Arguments * ========= @@ -118,9 +118,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**H. * -* P' * B +* P**T * B K=N DO WHILE ( K .GE. 1 ) IF( IPIV( K ).GT.0 ) THEN @@ -140,11 +140,11 @@ END IF END DO * -* Compute (U \P' * B) -> B [ (U \P' * B) ] +* Compute (U \P**T * B) -> B [ (U \P**T * B) ] * CALL CTRSM('L','U','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (U \P' * B) ] +* Compute D \ B -> B [ D \ (U \P**T * B) ] * I=N DO WHILE ( I .GE. 1 ) @@ -169,11 +169,11 @@ I = I - 1 END DO * -* Compute (U' \ B) -> B [ U' \ (D \ (U \P' * B) ) ] +* Compute (U**H \ B) -> B [ U**H \ (D \ (U \P**T * B) ) ] * CALL CTRSM('L','U','C','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (U' \ (D \ (U \P' * B) )) ] +* P * B [ P * (U**H \ (D \ (U \P**T * B) )) ] * K=1 DO WHILE ( K .LE. N ) @@ -196,9 +196,9 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**H. * -* P' * B +* P**T * B K=1 DO WHILE ( K .LE. N ) IF( IPIV( K ).GT.0 ) THEN @@ -218,11 +218,11 @@ ENDIF END DO * -* Compute (L \P' * B) -> B [ (L \P' * B) ] +* Compute (L \P**T * B) -> B [ (L \P**T * B) ] * CALL CTRSM('L','L','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (L \P' * B) ] +* Compute D \ B -> B [ D \ (L \P**T * B) ] * I=1 DO WHILE ( I .LE. N ) @@ -245,11 +245,11 @@ I = I + 1 END DO * -* Compute (L' \ B) -> B [ L' \ (D \ (L \P' * B) ) ] +* Compute (L**H \ B) -> B [ L**H \ (D \ (L \P**T * B) ) ] * CALL CTRSM('L','L','C','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (L' \ (D \ (L \P' * B) )) ] +* P * B [ P * (L**H \ (D \ (L \P**T * B) )) ] * K=N DO WHILE ( K .GE. 1 ) diff --git a/SRC/chpcon.f b/SRC/chpcon.f index c83a0ed9..cae21d02 100644 --- a/SRC/chpcon.f +++ b/SRC/chpcon.f @@ -142,7 +142,7 @@ CALL CLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**H) or inv(U*D*U**H). * CALL CHPTRS( UPLO, N, 1, AP, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/chpgst.f b/SRC/chpgst.f index acc6acf2..f3b607a5 100644 --- a/SRC/chpgst.f +++ b/SRC/chpgst.f @@ -108,7 +108,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**H)*A*inv(U) * * J1 and JJ are the indices of A(1,j) and A(j,j) * @@ -131,7 +131,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**H) * * KK and K1K1 are the indices of A(k,k) and A(k+1,k+1) * @@ -161,7 +161,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**H * * K1 and KK are the indices of A(1,k) and A(k,k) * @@ -186,7 +186,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**H *A*L * * JJ and J1J1 are the indices of A(j,j) and A(j+1,j+1) * diff --git a/SRC/chpgv.f b/SRC/chpgv.f index 8973bbf5..727768a3 100644 --- a/SRC/chpgv.f +++ b/SRC/chpgv.f @@ -160,7 +160,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -176,7 +176,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H*y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/chpgvd.f b/SRC/chpgvd.f index f7eb424c..4a55b7bc 100644 --- a/SRC/chpgvd.f +++ b/SRC/chpgvd.f @@ -203,10 +203,10 @@ LIWMIN = 1 END IF END IF +* WORK( 1 ) = LWMIN RWORK( 1 ) = LRWMIN IWORK( 1 ) = LIWMIN -* IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN INFO = -11 ELSE IF( LRWORK.LT.LRWMIN .AND. .NOT.LQUERY ) THEN @@ -255,7 +255,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -271,7 +271,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/chpgvx.f b/SRC/chpgvx.f index 1f01775e..910fd963 100644 --- a/SRC/chpgvx.f +++ b/SRC/chpgvx.f @@ -256,7 +256,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -272,7 +272,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H*y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/chpsv.f b/SRC/chpsv.f index fcb5d1ca..7ff3dc15 100644 --- a/SRC/chpsv.f +++ b/SRC/chpsv.f @@ -132,7 +132,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL CHPTRF( UPLO, N, AP, IPIV, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/chpsvx.f b/SRC/chpsvx.f index 390b2c83..d5a6b12c 100644 --- a/SRC/chpsvx.f +++ b/SRC/chpsvx.f @@ -234,7 +234,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL CCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL CHPTRF( UPLO, N, AFP, IPIV, INFO ) diff --git a/SRC/chptrd.f b/SRC/chptrd.f index eeb80e0a..82d2fd2f 100644 --- a/SRC/chptrd.f +++ b/SRC/chptrd.f @@ -74,7 +74,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP, @@ -87,7 +87,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP, @@ -147,7 +147,7 @@ AP( I1+N-1 ) = REAL( AP( I1+N-1 ) ) DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(1:i-1,i+1) * ALPHA = AP( I1+I-1 ) @@ -165,13 +165,13 @@ CALL CHPMV( UPLO, I, TAUI, AP, AP( I1 ), 1, ZERO, TAU, $ 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**H *v) * v * ALPHA = -HALF*TAUI*CDOTC( I, TAU, 1, AP( I1 ), 1 ) CALL CAXPY( I, ALPHA, AP( I1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**H - w * v**H * CALL CHPR2( UPLO, I, -ONE, AP( I1 ), 1, TAU, 1, AP ) * @@ -192,7 +192,7 @@ DO 20 I = 1, N - 1 I1I1 = II + N - I + 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(i+2:n,i) * ALPHA = AP( II+1 ) @@ -210,14 +210,14 @@ CALL CHPMV( UPLO, N-I, TAUI, AP( I1I1 ), AP( II+1 ), 1, $ ZERO, TAU( I ), 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**H *v) * v * ALPHA = -HALF*TAUI*CDOTC( N-I, TAU( I ), 1, AP( II+1 ), $ 1 ) CALL CAXPY( N-I, ALPHA, AP( II+1 ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**H * CALL CHPR2( UPLO, N-I, -ONE, AP( II+1 ), 1, TAU( I ), 1, $ AP( I1I1 ) ) diff --git a/SRC/chptrf.f b/SRC/chptrf.f index 13846f9c..184d739a 100644 --- a/SRC/chptrf.f +++ b/SRC/chptrf.f @@ -71,7 +71,7 @@ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**H, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -88,7 +88,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**H, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -161,7 +161,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**H using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -293,7 +293,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**H = A - W(k)*1/D(k)*W(k)**H * R1 = ONE / REAL( AP( KC+K-1 ) ) CALL CHPR( UPLO, K-1, -R1, AP( KC ), 1, AP ) @@ -312,8 +312,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**H +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**H * IF( K.GT.2 ) THEN * @@ -363,7 +363,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**H using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -498,7 +498,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**H = A - W(k)*(1/D(k))*W(k)**H * R1 = ONE / REAL( AP( KC ) ) CALL CHPR( UPLO, N-K, -R1, AP( KC+1 ), 1, @@ -521,8 +521,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**H +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**H * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/chptri.f b/SRC/chptri.f index d02dca89..e922ac1c 100644 --- a/SRC/chptri.f +++ b/SRC/chptri.f @@ -130,7 +130,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -233,7 +233,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/chptrs.f b/SRC/chptrs.f index 0cfa967c..658e893a 100644 --- a/SRC/chptrs.f +++ b/SRC/chptrs.f @@ -104,7 +104,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**H. * * First solve U*D*X = B, overwriting B with X. * @@ -179,7 +179,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**H *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -197,7 +197,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**H(K)), where U(K) is the transformation * stored in column K of A. * IF( K.GT.1 ) THEN @@ -218,7 +218,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**H(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * IF( K.GT.1 ) THEN @@ -247,7 +247,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**H. * * First solve L*D*X = B, overwriting B with X. * @@ -325,7 +325,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**H *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -344,7 +344,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**H(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) THEN @@ -365,7 +365,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**H(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/cla_gbamv.f b/SRC/cla_gbamv.f index 5773177c..18c765ff 100644 --- a/SRC/cla_gbamv.f +++ b/SRC/cla_gbamv.f @@ -10,7 +10,7 @@ * -- Univ. of California Berkeley and NAG Ltd. -- * IMPLICIT NONE -* +* .. * .. Scalar Arguments .. REAL ALPHA, BETA INTEGER INCX, INCY, LDAB, M, N, KL, KU, TRANS @@ -23,10 +23,10 @@ * Purpose * ======= * -* SLA_GBAMV performs one of the matrix-vector operations +* CLA_GBAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -48,43 +48,43 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* KL (input) INTEGER +* KL (input) INTEGER * The number of subdiagonals within the band of A. KL >= 0. * -* KU (input) INTEGER +* KU (input) INTEGER * The number of superdiagonals within the band of A. KU >= 0. * -* ALPHA (input) REAL +* ALPHA (input) REAL * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A (input) REAL array, dimension (LDA,n) -* Before entry, the leading m by n part of the array A must +* AB (input) REAL array, dimension (LDAB,n) +* Before entry, the leading m by n part of the array AB must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER -* On entry, LDA specifies the first dimension of A as declared -* in the calling (sub) program. LDA must be at least +* LDAB (input) INTEGER +* On entry, LDAB specifies the first dimension of AB as declared +* in the calling (sub) program. LDAB must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) REAL array, dimension at least +* X (input) REAL array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -92,17 +92,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA (input) REAL +* BETA (input) REAL * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y (input/output) REAL array, dimension at least +* Y (input/output) REAL array, dimension * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. @@ -110,7 +110,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/cla_geamv.f b/SRC/cla_geamv.f index e3593642..927cd87a 100644 --- a/SRC/cla_geamv.f +++ b/SRC/cla_geamv.f @@ -27,7 +27,7 @@ * CLA_GEAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -49,37 +49,37 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* ALPHA (input) REAL +* ALPHA (input) REAL * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A (input) COMPLEX array, dimension (LDA,n) +* A (input) COMPLEX array, dimension (LDA,n) * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER +* LDA (input) INTEGER * On entry, LDA specifies the first dimension of A as declared * in the calling (sub) program. LDA must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) COMPLEX array, dimension +* X (input) COMPLEX array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -87,17 +87,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA (input) REAL +* BETA (input) REAL * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y (input/output) REAL array, dimension +* Y (input/output) REAL array, dimension * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. @@ -105,7 +105,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/clabrd.f b/SRC/clabrd.f index c96fe003..f731337b 100644 --- a/SRC/clabrd.f +++ b/SRC/clabrd.f @@ -20,7 +20,7 @@ * * CLABRD reduces the first NB rows and columns of a complex general * m by n matrix A to upper or lower real bidiagonal form by a unitary -* transformation Q' * A * P, and returns the matrices X and Y which +* transformation Q**H * A * P, and returns the matrices X and Y which * are needed to apply the transformation to the unreduced part of A. * * If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower @@ -101,7 +101,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors. @@ -115,9 +115,9 @@ * A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i). * * The elements of the vectors v and u together form the m-by-nb matrix -* V and the nb-by-n matrix U' which are needed, with X and Y, to apply +* V and the nb-by-n matrix U**H which are needed, with X and Y, to apply * the transformation to the unreduced part of the matrix, using a block -* update of the form: A := A - V*Y' - X*U'. +* update of the form: A := A - V*Y**H - X*U**H. * * The contents of A on exit are illustrated by the following examples * with nb = 2: diff --git a/SRC/claed7.f b/SRC/claed7.f index 2f773a47..c8c34336 100644 --- a/SRC/claed7.f +++ b/SRC/claed7.f @@ -29,9 +29,9 @@ * eigenvalues and optionally eigenvectors of a dense or banded * Hermitian matrix that has been reduced to tridiagonal form. * -* T = Q(in) ( D(in) + RHO * Z*Z' ) Q'(in) = Q(out) * D(out) * Q'(out) +* T = Q(in) ( D(in) + RHO * Z*Z**H ) Q**H(in) = Q(out) * D(out) * Q**H(out) * -* where Z = Q'u, u is a vector of length N with ones in the +* where Z = Q**Hu, u is a vector of length N with ones in the * CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. * * The eigenvectors of the original matrix are stored in Q, and the diff --git a/SRC/claein.f b/SRC/claein.f index b036e9e6..75b5c5ea 100644 --- a/SRC/claein.f +++ b/SRC/claein.f @@ -223,7 +223,7 @@ DO 110 ITS = 1, N * * Solve U*x = scale*v for a right eigenvector -* or U'*x = scale*v for a left eigenvector, +* or U**H *x = scale*v for a left eigenvector, * overwriting x on v. * CALL CLATRS( 'Upper', TRANS, 'Nonunit', NORMIN, N, B, LDB, V, diff --git a/SRC/clags2.f b/SRC/clags2.f index 508d3ea7..4b035d3f 100644 --- a/SRC/clags2.f +++ b/SRC/clags2.f @@ -18,28 +18,26 @@ * CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such * that if ( UPPER ) then * -* U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) -* ( 0 A3 ) ( x x ) +* U**H *A*Q = U**H *( A1 A2 )*Q = ( x 0 ) +* ( 0 A3 ) ( x x ) * and -* V'*B*Q = V'*( B1 B2 )*Q = ( x 0 ) -* ( 0 B3 ) ( x x ) +* V**H*B*Q = V**H *( B1 B2 )*Q = ( x 0 ) +* ( 0 B3 ) ( x x ) * * or if ( .NOT.UPPER ) then * -* U'*A*Q = U'*( A1 0 )*Q = ( x x ) -* ( A2 A3 ) ( 0 x ) +* U**H *A*Q = U**H *( A1 0 )*Q = ( x x ) +* ( A2 A3 ) ( 0 x ) * and -* V'*B*Q = V'*( B1 0 )*Q = ( x x ) -* ( B2 B3 ) ( 0 x ) +* V**H *B*Q = V**H *( B1 0 )*Q = ( x x ) +* ( B2 B3 ) ( 0 x ) * where * -* U = ( CSU SNU ), V = ( CSV SNV ), -* ( -CONJG(SNU) CSU ) ( -CONJG(SNV) CSV ) +* U = ( CSU SNU ), V = ( CSV SNV ), +* ( -SNU**H CSU ) ( -SNV**H CSV ) * -* Q = ( CSQ SNQ ) -* ( -CONJG(SNQ) CSQ ) -* -* Z' denotes the conjugate transpose of Z. +* Q = ( CSQ SNQ ) +* ( -SNQ**H CSQ ) * * The rows of the transformed A and B are parallel. Moreover, if the * input 2-by-2 matrix A is not zero, then the transformed (1,1) entry @@ -135,8 +133,8 @@ IF( ABS( CSL ).GE.ABS( SNL ) .OR. ABS( CSR ).GE.ABS( SNR ) ) $ THEN * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**H *A and V**H *B, +* and (1,2) element of |U|**H *|A| and |V|**H *|B|. * UA11R = CSL*A1 UA12 = CSL*A2 + D1*SNL*A3 @@ -147,7 +145,7 @@ AUA12 = ABS( CSL )*ABS1( A2 ) + ABS( SNL )*ABS( A3 ) AVB12 = ABS( CSR )*ABS1( B2 ) + ABS( SNR )*ABS( B3 ) * -* zero (1,2) elements of U'*A and V'*B +* zero (1,2) elements of U**H *A and V**H *B * IF( ( ABS( UA11R )+ABS1( UA12 ) ).EQ.ZERO ) THEN CALL CLARTG( -CMPLX( VB11R ), CONJG( VB12 ), CSQ, SNQ, @@ -171,8 +169,8 @@ * ELSE * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**H *A and V**H *B, +* and (2,2) element of |U|**H *|A| and |V|**H *|B|. * UA21 = -CONJG( D1 )*SNL*A1 UA22 = -CONJG( D1 )*SNL*A2 + CSL*A3 @@ -183,7 +181,7 @@ AUA22 = ABS( SNL )*ABS1( A2 ) + ABS( CSL )*ABS( A3 ) AVB22 = ABS( SNR )*ABS1( B2 ) + ABS( CSR )*ABS( B3 ) * -* zero (2,2) elements of U'*A and V'*B, and then swap. +* zero (2,2) elements of U**H *A and V**H *B, and then swap. * IF( ( ABS1( UA21 )+ABS1( UA22 ) ).EQ.ZERO ) THEN CALL CLARTG( -CONJG( VB21 ), CONJG( VB22 ), CSQ, SNQ, R ) @@ -232,8 +230,8 @@ IF( ABS( CSR ).GE.ABS( SNR ) .OR. ABS( CSL ).GE.ABS( SNL ) ) $ THEN * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**H *A and V**H *B, +* and (2,1) element of |U|**H *|A| and |V|**H *|B|. * UA21 = -D1*SNR*A1 + CSR*A2 UA22R = CSR*A3 @@ -244,7 +242,7 @@ AUA21 = ABS( SNR )*ABS( A1 ) + ABS( CSR )*ABS1( A2 ) AVB21 = ABS( SNL )*ABS( B1 ) + ABS( CSL )*ABS1( B2 ) * -* zero (2,1) elements of U'*A and V'*B. +* zero (2,1) elements of U**H *A and V**H *B. * IF( ( ABS1( UA21 )+ABS( UA22R ) ).EQ.ZERO ) THEN CALL CLARTG( CMPLX( VB22R ), VB21, CSQ, SNQ, R ) @@ -264,8 +262,8 @@ * ELSE * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**H *A and V**H *B, +* and (1,1) element of |U|**H *|A| and |V|**H *|B|. * UA11 = CSR*A1 + CONJG( D1 )*SNR*A2 UA12 = CONJG( D1 )*SNR*A3 @@ -276,7 +274,7 @@ AUA11 = ABS( CSR )*ABS( A1 ) + ABS( SNR )*ABS1( A2 ) AVB11 = ABS( CSL )*ABS( B1 ) + ABS( SNL )*ABS1( B2 ) * -* zero (1,1) elements of U'*A and V'*B, and then swap. +* zero (1,1) elements of U**H *A and V**H *B, and then swap. * IF( ( ABS1( UA11 )+ABS1( UA12 ) ).EQ.ZERO ) THEN CALL CLARTG( VB12, VB11, CSQ, SNQ, R ) diff --git a/SRC/clagtm.f b/SRC/clagtm.f index 990f406a..c0cfae9b 100644 --- a/SRC/clagtm.f +++ b/SRC/clagtm.f @@ -189,7 +189,7 @@ 120 CONTINUE ELSE IF( LSAME( TRANS, 'T' ) ) THEN * -* Compute B := B - A'*X +* Compute B := B - A**T*X * DO 140 J = 1, NRHS IF( N.EQ.1 ) THEN @@ -207,7 +207,7 @@ 140 CONTINUE ELSE IF( LSAME( TRANS, 'C' ) ) THEN * -* Compute B := B - A'*X +* Compute B := B - A**H*X * DO 160 J = 1, NRHS IF( N.EQ.1 ) THEN diff --git a/SRC/clahef.f b/SRC/clahef.f index 5527f202..3b30a2fc 100644 --- a/SRC/clahef.f +++ b/SRC/clahef.f @@ -21,15 +21,15 @@ * matrix A using the Bunch-Kaufman diagonal pivoting method. The * partial factorization has the form: * -* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: -* ( 0 U22 ) ( 0 D ) ( U12' U22' ) +* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: +* ( 0 U22 ) ( 0 D ) ( U12**H U22**H ) * -* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L' -* ( L21 I ) ( 0 A22 ) ( 0 I ) +* A = ( L11 0 ) ( D 0 ) ( L11**H L21**H ) if UPLO = 'L' +* ( L21 I ) ( 0 A22 ) ( 0 I ) * * where the order of D is at most NB. The actual order is returned in * the argument KB, and is either NB or NB-1, or N if N <= NB. -* Note that U' denotes the conjugate transpose of U. +* Note that U**H denotes the conjugate transpose of U. * * CLAHEF is an auxiliary routine called by CHETRF. It uses blocked code * (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or @@ -344,7 +344,7 @@ * * Update the upper triangle of A11 (= A(1:k,1:k)) as * -* A11 := A11 - U12*D*U12' = A11 - U12*W' +* A11 := A11 - U12*D*U12**H = A11 - U12*W**H * * computing blocks of NB columns at a time (note that conjg(W) is * actually stored) @@ -593,7 +593,7 @@ * * Update the lower triangle of A22 (= A(k:n,k:n)) as * -* A22 := A22 - L21*D*L21' = A22 - L21*W' +* A22 := A22 - L21*D*L21**H = A22 - L21*W**H * * computing blocks of NB columns at a time (note that conjg(W) is * actually stored) diff --git a/SRC/clahr2.f b/SRC/clahr2.f index ddf73b8b..9c002c2b 100644 --- a/SRC/clahr2.f +++ b/SRC/clahr2.f @@ -1,8 +1,9 @@ SUBROUTINE CLAHR2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY ) * * -- LAPACK auxiliary routine (version 3.2.1) -- -* -- LAPACK is a software package provided by Univ. of Tennessee, --* -- April 2009 -- +* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- +* -- April 2009 -- * * .. Scalar Arguments .. INTEGER K, LDA, LDT, LDY, N, NB @@ -18,8 +19,8 @@ * CLAHR2 reduces the first NB columns of A complex general n-BY-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by an unitary similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**H * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*v**H, and also the matrix Y = A * V * T. * * This is an auxiliary routine called by CGEHRD. * @@ -74,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -83,7 +84,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**H) * (A - Y*V**H). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -143,14 +144,14 @@ * * Update A(K+1:N,I) * -* Update I-th column of A - Y * V' +* Update I-th column of A - Y * V**H * CALL CLACGV( I-1, A( K+I-1, 1 ), LDA ) CALL CGEMV( 'NO TRANSPOSE', N-K, I-1, -ONE, Y(K+1,1), LDY, $ A( K+I-1, 1 ), LDA, ONE, A( K+1, I ), 1 ) CALL CLACGV( I-1, A( K+I-1, 1 ), LDA ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T' * V**H to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -165,13 +166,13 @@ $ I-1, A( K+1, 1 ), $ LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**H * b2 * CALL CGEMV( 'Conjugate transpose', N-K-I+1, I-1, $ ONE, A( K+I, 1 ), $ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 ) * -* w := T'*w +* w := T**H * w * CALL CTRMV( 'Upper', 'Conjugate transpose', 'NON-UNIT', $ I-1, T, LDT, diff --git a/SRC/clahrd.f b/SRC/clahrd.f index f7b97b62..ffabde38 100644 --- a/SRC/clahrd.f +++ b/SRC/clahrd.f @@ -19,8 +19,8 @@ * CLAHRD reduces the first NB columns of a complex general n-by-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by a unitary similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**H * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. * * This is an OBSOLETE auxiliary routine. * This routine will be 'deprecated' in a future release. @@ -76,7 +76,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -85,7 +85,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**H) * (A - Y*V**H). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -132,14 +132,14 @@ * * Update A(1:n,i) * -* Compute i-th column of A - Y * V' +* Compute i-th column of A - Y * V**H * CALL CLACGV( I-1, A( K+I-1, 1 ), LDA ) CALL CGEMV( 'No transpose', N, I-1, -ONE, Y, LDY, $ A( K+I-1, 1 ), LDA, ONE, A( 1, I ), 1 ) CALL CLACGV( I-1, A( K+I-1, 1 ), LDA ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T**H * V**H to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -147,19 +147,19 @@ * * where V1 is unit lower triangular * -* w := V1' * b1 +* w := V1**H * b1 * CALL CCOPY( I-1, A( K+1, I ), 1, T( 1, NB ), 1 ) CALL CTRMV( 'Lower', 'Conjugate transpose', 'Unit', I-1, $ A( K+1, 1 ), LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**H *b2 * CALL CGEMV( 'Conjugate transpose', N-K-I+1, I-1, ONE, $ A( K+I, 1 ), LDA, A( K+I, I ), 1, ONE, $ T( 1, NB ), 1 ) * -* w := T'*w +* w := T**H *w * CALL CTRMV( 'Upper', 'Conjugate transpose', 'Non-unit', I-1, $ T, LDT, T( 1, NB ), 1 ) diff --git a/SRC/claic1.f b/SRC/claic1.f index 37877d6c..f17c2b61 100644 --- a/SRC/claic1.f +++ b/SRC/claic1.f @@ -41,7 +41,7 @@ * diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] * [ conjg(gamma) ] * -* where alpha = conjg(x)'*w. +* where alpha = x**H*w. * * Arguments * ========= diff --git a/SRC/clalsd.f b/SRC/clalsd.f index a670b0c1..da84ca19 100644 --- a/SRC/clalsd.f +++ b/SRC/clalsd.f @@ -243,7 +243,7 @@ END IF * * In the real version, B is passed to SLASDQ and multiplied -* internally by Q'. Here B is complex and that product is +* internally by Q**H. Here B is complex and that product is * computed below in two steps (real and imaginary parts). * J = IRWB - 1 @@ -427,7 +427,7 @@ END IF * * In the real version, B is passed to SLASDQ and multiplied -* internally by Q'. Here B is complex and that product is +* internally by Q**H. Here B is complex and that product is * computed below in two steps (real and imaginary parts). * J = IRWB - 1 diff --git a/SRC/claqhb.f b/SRC/claqhb.f index 199a9028..c648dd2d 100644 --- a/SRC/claqhb.f +++ b/SRC/claqhb.f @@ -46,7 +46,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**H *U or A = L*L**H of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER diff --git a/SRC/claqp2.f b/SRC/claqp2.f index a96fa28a..61ec1bfe 100644 --- a/SRC/claqp2.f +++ b/SRC/claqp2.f @@ -136,7 +136,7 @@ * IF( I.LT.N ) THEN * -* Apply H(i)' to A(offset+i:m,i+1:n) from the left. +* Apply H(i)**H to A(offset+i:m,i+1:n) from the left. * AII = A( OFFPI, I ) A( OFFPI, I ) = CONE diff --git a/SRC/claqps.f b/SRC/claqps.f index acc4d472..ba4bf1c3 100644 --- a/SRC/claqps.f +++ b/SRC/claqps.f @@ -76,7 +76,7 @@ * Auxiliar vector. * * F (input/output) COMPLEX array, dimension (LDF,NB) -* Matrix F' = L*Y'*A. +* Matrix F**H = L * Y**H * A. * * LDF (input) INTEGER * The leading dimension of the array F. LDF >= max(1,N). @@ -146,7 +146,7 @@ END IF * * Apply previous Householder reflectors to column K: -* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)'. +* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)**H. * IF( K.GT.1 ) THEN DO 20 J = 1, K - 1 @@ -172,7 +172,7 @@ * * Compute Kth column of F: * -* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)'*A(RK:M,K). +* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)**H*A(RK:M,K). * IF( K.LT.N ) THEN CALL CGEMV( 'Conjugate transpose', M-RK+1, N-K, TAU( K ), @@ -187,7 +187,7 @@ 40 CONTINUE * * Incremental updating of F: -* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)' +* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)**H * *A(RK:M,K). * IF( K.GT.1 ) THEN @@ -200,7 +200,7 @@ END IF * * Update the current row of A: -* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)'. +* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)**H. * IF( K.LT.N ) THEN CALL CGEMM( 'No transpose', 'Conjugate transpose', 1, N-K, @@ -241,7 +241,7 @@ * * Apply the block reflector to the rest of the matrix: * A(OFFSET+KB+1:M,KB+1:N) := A(OFFSET+KB+1:M,KB+1:N) - -* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)'. +* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)**H. * IF( KB.LT.MIN( N, M-OFFSET ) ) THEN CALL CGEMM( 'No transpose', 'Conjugate transpose', M-RK, N-KB, diff --git a/SRC/claqsb.f b/SRC/claqsb.f index bcd97d62..8ea7adff 100644 --- a/SRC/claqsb.f +++ b/SRC/claqsb.f @@ -46,7 +46,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**T *U or A = L*L**T of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER diff --git a/SRC/clar1v.f b/SRC/clar1v.f index f27e46f3..9fff18c0 100644 --- a/SRC/clar1v.f +++ b/SRC/clar1v.f @@ -25,14 +25,14 @@ * * CLAR1V computes the (scaled) r-th column of the inverse of * the sumbmatrix in rows B1 through BN of the tridiagonal matrix -* L D L^T - sigma I. When sigma is close to an eigenvalue, the +* L D L**T - sigma I. When sigma is close to an eigenvalue, the * computed vector is an accurate eigenvector. Usually, r corresponds * to the index where the eigenvector is largest in magnitude. * The following steps accomplish this computation : -* (a) Stationary qd transform, L D L^T - sigma I = L(+) D(+) L(+)^T, -* (b) Progressive qd transform, L D L^T - sigma I = U(-) D(-) U(-)^T, +* (a) Stationary qd transform, L D L**T - sigma I = L(+) D(+) L(+)**T, +* (b) Progressive qd transform, L D L**T - sigma I = U(-) D(-) U(-)**T, * (c) Computation of the diagonal elements of the inverse of -* L D L^T - sigma I by combining the above transforms, and choosing +* L D L**T - sigma I by combining the above transforms, and choosing * r as the index where the diagonal of the inverse is (one of the) * largest in magnitude. * (d) Computation of the (scaled) r-th column of the inverse using the @@ -43,40 +43,40 @@ * ========= * * N (input) INTEGER -* The order of the matrix L D L^T. +* The order of the matrix L D L**T. * * B1 (input) INTEGER -* First index of the submatrix of L D L^T. +* First index of the submatrix of L D L**T. * * BN (input) INTEGER -* Last index of the submatrix of L D L^T. +* Last index of the submatrix of L D L**T. * -* LAMBDA (input) REAL +* LAMBDA (input) REAL * The shift. In order to compute an accurate eigenvector, * LAMBDA should be a good approximation to an eigenvalue -* of L D L^T. +* of L D L**T. * -* L (input) REAL array, dimension (N-1) +* L (input) REAL array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal matrix * L, in elements 1 to N-1. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The n diagonal elements of the diagonal matrix D. * -* LD (input) REAL array, dimension (N-1) +* LD (input) REAL array, dimension (N-1) * The n-1 elements L(i)*D(i). * -* LLD (input) REAL array, dimension (N-1) +* LLD (input) REAL array, dimension (N-1) * The n-1 elements L(i)*L(i)*D(i). * -* PIVMIN (input) REAL +* PIVMIN (input) REAL * The minimum pivot in the Sturm sequence. * -* GAPTOL (input) REAL +* GAPTOL (input) REAL * Tolerance that indicates when eigenvector entries are negligible * w.r.t. their contribution to the residual. * -* Z (input/output) COMPLEX array, dimension (N) +* Z (input/output) COMPLEX array, dimension (N) * On input, all entries of Z must be set to 0. * On output, Z contains the (scaled) r-th column of the * inverse. The scaling is such that Z(R) equals 1. @@ -86,20 +86,20 @@ * * NEGCNT (output) INTEGER * If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin -* in the matrix factorization L D L^T, and NEGCNT = -1 otherwise. +* in the matrix factorization L D L**T, and NEGCNT = -1 otherwise. * -* ZTZ (output) REAL +* ZTZ (output) REAL * The square of the 2-norm of Z. * -* MINGMA (output) REAL +* MINGMA (output) REAL * The reciprocal of the largest (in magnitude) diagonal -* element of the inverse of L D L^T - sigma I. +* element of the inverse of L D L**T - sigma I. * * R (input/output) INTEGER * The twist index for the twisted factorization used to * compute Z. * On input, 0 <= R <= N. If R is input as 0, R is set to -* the index where (L D L^T - sigma I)^{-1} is largest +* the index where (L D L**T - sigma I)^{-1} is largest * in magnitude. If 1 <= R <= N, R is unchanged. * On output, R contains the twist index used to compute Z. * Ideally, R designates the position of the maximum entry in the @@ -109,18 +109,18 @@ * The support of the vector in Z, i.e., the vector Z is * nonzero only in elements ISUPPZ(1) through ISUPPZ( 2 ). * -* NRMINV (output) REAL +* NRMINV (output) REAL * NRMINV = 1/SQRT( ZTZ ) * -* RESID (output) REAL +* RESID (output) REAL * The residual of the FP vector. * RESID = ABS( MINGMA )/SQRT( ZTZ ) * -* RQCORR (output) REAL +* RQCORR (output) REAL * The Rayleigh Quotient correction to LAMBDA. * RQCORR = MINGMA*TMP * -* WORK (workspace) REAL array, dimension (4*N) +* WORK (workspace) REAL array, dimension (4*N) * * Further Details * =============== diff --git a/SRC/clarf.f b/SRC/clarf.f index e4ee75ca..c9fd3ef0 100644 --- a/SRC/clarf.f +++ b/SRC/clarf.f @@ -22,13 +22,13 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar and v is a complex vector. * * If tau = 0, then H is taken to be the unit matrix. * -* To apply H' (the conjugate transpose of H), supply conjg(tau) instead +* To apply H**H (the conjugate transpose of H), supply conjg(tau) instead * tau. * * Arguments @@ -126,12 +126,12 @@ * IF( LASTV.GT.0 ) THEN * -* w(1:lastc,1) := C(1:lastv,1:lastc)' * v(1:lastv,1) +* w(1:lastc,1) := C(1:lastv,1:lastc)**H * v(1:lastv,1) * CALL CGEMV( 'Conjugate transpose', LASTV, LASTC, ONE, $ C, LDC, V, INCV, ZERO, WORK, 1 ) * -* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)' +* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)**H * CALL CGERC( LASTV, LASTC, -TAU, V, INCV, WORK, 1, C, LDC ) END IF @@ -146,7 +146,7 @@ CALL CGEMV( 'No transpose', LASTC, LASTV, ONE, C, LDC, $ V, INCV, ZERO, WORK, 1 ) * -* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)' +* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)**H * CALL CGERC( LASTC, LASTV, -TAU, WORK, 1, V, INCV, C, LDC ) END IF diff --git a/SRC/clarfb.f b/SRC/clarfb.f index 9fd89d67..c4980bd0 100644 --- a/SRC/clarfb.f +++ b/SRC/clarfb.f @@ -19,19 +19,19 @@ * Purpose * ======= * -* CLARFB applies a complex block reflector H or its transpose H' to a +* CLARFB applies a complex block reflector H or its transpose H**H to a * complex M-by-N matrix C, from either the left or the right. * * Arguments * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**H from the Left +* = 'R': apply H or H**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'C': apply H' (Conjugate transpose) +* = 'C': apply H**H (Conjugate transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -76,7 +76,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the M-by-N matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -157,13 +157,13 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILACLR( M, K, V, LDV ) ) LASTC = ILACLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C**H * V = (C1**H * V1 + C2**H * V2) (stored in WORK) * * W := C1' * @@ -178,35 +178,35 @@ $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2 +* W := W + C2**H *V2 * CALL CGEMM( 'Conjugate transpose', 'No transpose', $ LASTC, K, LASTV-K, ONE, C( K+1, 1 ), LDC, $ V( K+1, 1 ), LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL CTRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**H * IF( M.GT.K ) THEN * -* C2 := C2 - V2 * W' +* C2 := C2 - V2 * W**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', $ LASTV-K, LASTC, K, -ONE, V( K+1, 1 ), LDV, $ WORK, LDWORK, ONE, C( K+1, 1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**H * CALL CTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**H * DO 30 J = 1, K DO 20 I = 1, LASTC @@ -216,7 +216,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILACLR( N, K, V, LDV ) ) LASTC = ILACLR( M, LASTV, C, LDC ) @@ -243,16 +243,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL CTRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - W * V' +* C := C - W * V**H * IF( LASTV.GT.K ) THEN * -* C2 := C2 - W * V2' +* C2 := C2 - W * V2**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, LASTV-K, K, @@ -260,7 +260,7 @@ $ ONE, C( 1, K+1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**H * CALL CTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) @@ -282,15 +282,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILACLR( M, K, V, LDV ) ) LASTC = ILACLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C**H * V = (C1**H * V1 + C2**H * V2) (stored in WORK) * -* W := C2' +* W := C2**H * DO 70 J = 1, K CALL CCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, @@ -305,36 +305,36 @@ $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1 +* W := W + C1**H*V1 * CALL CGEMM( 'Conjugate transpose', 'No transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL CTRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**H * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1 * W' +* C1 := C1 - V1 * W**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', $ LASTV-K, LASTC, K, -ONE, V, LDV, WORK, LDWORK, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**H * CALL CTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**H * DO 90 J = 1, K DO 80 I = 1, LASTC @@ -345,7 +345,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILACLR( N, K, V, LDV ) ) LASTC = ILACLR( M, LASTV, C, LDC ) @@ -373,23 +373,23 @@ $ ONE, C, LDC, V, LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL CTRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - W * V' +* C := C - W * V**H * IF( LASTV.GT.K ) THEN * -* C1 := C1 - W * V1' +* C1 := C1 - W * V1**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, LASTV-K, K, -ONE, WORK, LDWORK, V, LDV, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**H * CALL CTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, @@ -415,28 +415,28 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILACLC( K, M, V, LDV ) ) LASTC = ILACLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**H * V**H = (C1**H * V1**H + C2**H * V2**H) (stored in WORK) * -* W := C1' +* W := C1**H * DO 130 J = 1, K CALL CCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) CALL CLACGV( LASTC, WORK( 1, J ), 1 ) 130 CONTINUE * -* W := W * V1' +* W := W * V1**H * CALL CTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2' +* W := W + C2**H*V2**H * CALL CGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTC, K, LASTV-K, @@ -444,16 +444,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL CTRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**H * W**H * IF( LASTV.GT.K ) THEN * -* C2 := C2 - V2' * W' +* C2 := C2 - V2**H * W**H * CALL CGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTV-K, LASTC, K, @@ -466,7 +466,7 @@ CALL CTRMM( 'Right', 'Upper', 'No transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**H * DO 150 J = 1, K DO 140 I = 1, LASTC @@ -476,12 +476,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILACLC( K, N, V, LDV ) ) LASTC = ILACLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**H = (C1*V1**H + C2*V2**H) (stored in WORK) * * W := C1 * @@ -489,20 +489,20 @@ CALL CCOPY( LASTC, C( 1, J ), 1, WORK( 1, J ), 1 ) 160 CONTINUE * -* W := W * V1' +* W := W * V1**H * CALL CTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2 * V2' +* W := W + C2 * V2**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, K, LASTV-K, ONE, C( 1, K+1 ), LDC, $ V( 1, K+1 ), LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL CTRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) @@ -541,15 +541,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILACLC( K, M, V, LDV ) ) LASTC = ILACLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**H * V**H = (C1**H * V1**H + C2**H * V2**H) (stored in WORK) * -* W := C2' +* W := C2**H * DO 190 J = 1, K CALL CCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, @@ -557,30 +557,30 @@ CALL CLACGV( LASTC, WORK( 1, J ), 1 ) 190 CONTINUE * -* W := W * V2' +* W := W * V2**H * CALL CTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1' +* W := W + C1**H * V1**H * CALL CGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTC, K, LASTV-K, $ ONE, C, LDC, V, LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL CTRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**H * W**H * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1' * W' +* C1 := C1 - V1**H * W**H * CALL CGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTV-K, LASTC, K, @@ -593,7 +593,7 @@ $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**H * DO 210 J = 1, K DO 200 I = 1, LASTC @@ -604,12 +604,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILACLC( K, N, V, LDV ) ) LASTC = ILACLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**H = (C1*V1**H + C2*V2**H) (stored in WORK) * * W := C2 * @@ -618,21 +618,21 @@ $ WORK( 1, J ), 1 ) 220 CONTINUE * -* W := W * V2' +* W := W * V2**H * CALL CTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1 * V1' +* W := W + C1 * V1**H * CALL CGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, ONE, $ WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL CTRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) diff --git a/SRC/clarfg.f b/SRC/clarfg.f index 786419c0..274b8993 100644 --- a/SRC/clarfg.f +++ b/SRC/clarfg.f @@ -19,13 +19,13 @@ * CLARFG generates a complex elementary reflector H of order n, such * that * -* H' * ( alpha ) = ( beta ), H' * H = I. -* ( x ) ( 0 ) +* H**H * ( alpha ) = ( beta ), H**H * H = I. +* ( x ) ( 0 ) * * where alpha and beta are scalars, with beta real, and x is an * (n-1)-element complex vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**H ) , * ( v ) * * where tau is a complex scalar and v is a complex (n-1)-element diff --git a/SRC/clarfgp.f b/SRC/clarfgp.f index 35b8a651..0e189ab1 100644 --- a/SRC/clarfgp.f +++ b/SRC/clarfgp.f @@ -19,13 +19,13 @@ * CLARFGP generates a complex elementary reflector H of order n, such * that * -* H' * ( alpha ) = ( beta ), H' * H = I. -* ( x ) ( 0 ) +* H**H * ( alpha ) = ( beta ), H**H * H = I. +* ( x ) ( 0 ) * * where alpha and beta are scalars, beta is real and non-negative, and * x is an (n-1)-element complex vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**H ) , * ( v ) * * where tau is a complex scalar and v is a complex (n-1)-element diff --git a/SRC/clarft.f b/SRC/clarft.f index 3b8b9976..d4eff11f 100644 --- a/SRC/clarft.f +++ b/SRC/clarft.f @@ -26,12 +26,12 @@ * If STOREV = 'C', the vector which defines the elementary reflector * H(i) is stored in the i-th column of the array V, and * -* H = I - V * T * V' +* H = I - V * T * V**H * * If STOREV = 'R', the vector which defines the elementary reflector * H(i) is stored in the i-th row of the array V, and * -* H = I - V' * T * V +* H = I - V**H * T * V * * Arguments * ========= @@ -150,7 +150,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)' * V(i:j,i) +* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)**H * V(i:j,i) * CALL CGEMV( 'Conjugate transpose', J-I+1, I-1, $ -TAU( I ), V( I, 1 ), LDV, V( I, I ), 1, @@ -162,7 +162,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)' +* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)**H * IF( I.LT.J ) $ CALL CLACGV( J-I, V( I, I+1 ), LDV ) @@ -211,7 +211,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(j:n-k+i,i+1:k)' * V(j:n-k+i,i) +* - tau(i) * V(j:n-k+i,i+1:k)**H * V(j:n-k+i,i) * CALL CGEMV( 'Conjugate transpose', N-K+I-J+1, K-I, $ -TAU( I ), V( J, I+1 ), LDV, V( J, I ), @@ -227,7 +227,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)' +* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)**H * CALL CLACGV( N-K+I-1-J+1, V( I, J ), LDV ) CALL CGEMV( 'No transpose', K-I, N-K+I-J+1, diff --git a/SRC/clarfx.f b/SRC/clarfx.f index 5b76e6e3..97e14f1c 100644 --- a/SRC/clarfx.f +++ b/SRC/clarfx.f @@ -22,7 +22,7 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar and v is a complex vector. * diff --git a/SRC/clarrv.f b/SRC/clarrv.f index 42d7d9aa..234fb209 100644 --- a/SRC/clarrv.f +++ b/SRC/clarrv.f @@ -25,7 +25,7 @@ * ======= * * CLARRV computes the eigenvectors of the tridiagonal matrix -* T = L D L^T given L, D and APPROXIMATIONS to the eigenvalues of L D L^T. +* T = L D L**T given L, D and APPROXIMATIONS to the eigenvalues of L D L**T. * The input eigenvalues should have been computed by SLARRE. * * Arguments diff --git a/SRC/clarz.f b/SRC/clarz.f index ead41fe0..33277039 100644 --- a/SRC/clarz.f +++ b/SRC/clarz.f @@ -21,13 +21,13 @@ * M-by-N matrix C, from either the left or the right. H is represented * in the form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar and v is a complex vector. * * If tau = 0, then H is taken to be the unit matrix. * -* To apply H' (the conjugate transpose of H), supply conjg(tau) instead +* To apply H**H (the conjugate transpose of H), supply conjg(tau) instead * tau. * * H is a product of k elementary reflectors as returned by CTZRZF. @@ -105,7 +105,7 @@ CALL CCOPY( N, C, LDC, WORK, 1 ) CALL CLACGV( N, WORK, 1 ) * -* w( 1:n ) = conjg( w( 1:n ) + C( m-l+1:m, 1:n )' * v( 1:l ) ) +* w( 1:n ) = conjg( w( 1:n ) + C( m-l+1:m, 1:n )**H * v( 1:l ) ) * CALL CGEMV( 'Conjugate transpose', L, N, ONE, C( M-L+1, 1 ), $ LDC, V, INCV, ONE, WORK, 1 ) @@ -116,7 +116,7 @@ CALL CAXPY( N, -TAU, WORK, 1, C, LDC ) * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* tau * v( 1:l ) * conjg( w( 1:n )' ) +* tau * v( 1:l ) * w( 1:n )**H * CALL CGERU( L, N, -TAU, V, INCV, WORK, 1, C( M-L+1, 1 ), $ LDC ) @@ -142,7 +142,7 @@ CALL CAXPY( M, -TAU, WORK, 1, C, 1 ) * * C( 1:m, n-l+1:n ) = C( 1:m, n-l+1:n ) - ... -* tau * w( 1:m ) * v( 1:l )' +* tau * w( 1:m ) * v( 1:l )**H * CALL CGERC( M, L, -TAU, WORK, 1, V, INCV, C( 1, N-L+1 ), $ LDC ) diff --git a/SRC/clarzb.f b/SRC/clarzb.f index 82a46c7d..099f846f 100644 --- a/SRC/clarzb.f +++ b/SRC/clarzb.f @@ -27,12 +27,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**H from the Left +* = 'R': apply H or H**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'C': apply H' (Conjugate transpose) +* = 'C': apply H**H (Conjugate transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -77,7 +77,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the M-by-N matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -140,28 +140,28 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C +* Form H * C or H**H * C * -* W( 1:n, 1:k ) = conjg( C( 1:k, 1:n )' ) +* W( 1:n, 1:k ) = C( 1:k, 1:n )**H * DO 10 J = 1, K CALL CCOPY( N, C( J, 1 ), LDC, WORK( 1, J ), 1 ) 10 CONTINUE * * W( 1:n, 1:k ) = W( 1:n, 1:k ) + ... -* conjg( C( m-l+1:m, 1:n )' ) * V( 1:k, 1:l )' +* C( m-l+1:m, 1:n )**H * V( 1:k, 1:l )**T * IF( L.GT.0 ) $ CALL CGEMM( 'Transpose', 'Conjugate transpose', N, K, L, $ ONE, C( M-L+1, 1 ), LDC, V, LDV, ONE, WORK, $ LDWORK ) * -* W( 1:n, 1:k ) = W( 1:n, 1:k ) * T' or W( 1:m, 1:k ) * T +* W( 1:n, 1:k ) = W( 1:n, 1:k ) * T**T or W( 1:m, 1:k ) * T * CALL CTRMM( 'Right', 'Lower', TRANST, 'Non-unit', N, K, ONE, T, $ LDT, WORK, LDWORK ) * -* C( 1:k, 1:n ) = C( 1:k, 1:n ) - conjg( W( 1:n, 1:k )' ) +* C( 1:k, 1:n ) = C( 1:k, 1:n ) - W( 1:n, 1:k )**H * DO 30 J = 1, N DO 20 I = 1, K @@ -170,7 +170,7 @@ 30 CONTINUE * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* conjg( V( 1:k, 1:l )' ) * conjg( W( 1:n, 1:k )' ) +* V( 1:k, 1:l )**H * W( 1:n, 1:k )**H * IF( L.GT.0 ) $ CALL CGEMM( 'Transpose', 'Transpose', L, N, K, -ONE, V, LDV, @@ -178,7 +178,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' +* Form C * H or C * H**H * * W( 1:m, 1:k ) = C( 1:m, 1:k ) * @@ -187,14 +187,14 @@ 40 CONTINUE * * W( 1:m, 1:k ) = W( 1:m, 1:k ) + ... -* C( 1:m, n-l+1:n ) * conjg( V( 1:k, 1:l )' ) +* C( 1:m, n-l+1:n ) * V( 1:k, 1:l )**H * IF( L.GT.0 ) $ CALL CGEMM( 'No transpose', 'Transpose', M, K, L, ONE, $ C( 1, N-L+1 ), LDC, V, LDV, ONE, WORK, LDWORK ) * * W( 1:m, 1:k ) = W( 1:m, 1:k ) * conjg( T ) or -* W( 1:m, 1:k ) * conjg( T' ) +* W( 1:m, 1:k ) * T**H * DO 50 J = 1, K CALL CLACGV( K-J+1, T( J, J ), 1 ) diff --git a/SRC/clarzt.f b/SRC/clarzt.f index 8d807ab3..3abd29b0 100644 --- a/SRC/clarzt.f +++ b/SRC/clarzt.f @@ -164,7 +164,7 @@ * IF( I.LT.K ) THEN * -* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)' +* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)**H * CALL CLACGV( N, V( I, 1 ), LDV ) CALL CGEMV( 'No transpose', K-I, N, -TAU( I ), diff --git a/SRC/clasyf.f b/SRC/clasyf.f index 136ef5e6..ea749f72 100644 --- a/SRC/clasyf.f +++ b/SRC/clasyf.f @@ -21,15 +21,15 @@ * A using the Bunch-Kaufman diagonal pivoting method. The partial * factorization has the form: * -* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: -* ( 0 U22 ) ( 0 D ) ( U12' U22' ) +* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: +* ( 0 U22 ) ( 0 D ) ( U12**T U22**T ) * -* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L' -* ( L21 I ) ( 0 A22 ) ( 0 I ) +* A = ( L11 0 ) ( D 0 ) ( L11**T L21**T ) if UPLO = 'L' +* ( L21 I ) ( 0 A22 ) ( 0 I ) * * where the order of D is at most NB. The actual order is returned in * the argument KB, and is either NB or NB-1, or N if N <= NB. -* Note that U' denotes the transpose of U. +* Note that U**T denotes the transpose of U. * * CLASYF is an auxiliary routine called by CSYTRF. It uses blocked code * (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or @@ -322,7 +322,7 @@ * * Update the upper triangle of A11 (= A(1:k,1:k)) as * -* A11 := A11 - U12*D*U12' = A11 - U12*W' +* A11 := A11 - U12*D*U12**T = A11 - U12*W**T * * computing blocks of NB columns at a time * @@ -546,7 +546,7 @@ * * Update the lower triangle of A22 (= A(k:n,k:n)) as * -* A22 := A22 - L21*D*L21' = A22 - L21*W' +* A22 := A22 - L21*D*L21**T = A22 - L21*W**T * * computing blocks of NB columns at a time * diff --git a/SRC/clatrd.f b/SRC/clatrd.f index 24b3ba40..6d736a39 100644 --- a/SRC/clatrd.f +++ b/SRC/clatrd.f @@ -19,7 +19,7 @@ * * CLATRD reduces NB rows and columns of a complex Hermitian matrix A to * Hermitian tridiagonal form by a unitary similarity -* transformation Q' * A * Q, and returns the matrices V and W which are +* transformation Q**H * A * Q, and returns the matrices V and W which are * needed to apply the transformation to the unreduced part of A. * * If UPLO = 'U', CLATRD reduces the last NB rows and columns of a @@ -96,7 +96,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i), @@ -109,7 +109,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -118,7 +118,7 @@ * The elements of the vectors v together form the n-by-nb matrix V * which is needed, with W, to apply the transformation to the unreduced * part of the matrix, using a Hermitian rank-2k update of the form: -* A := A - V*W' - W*V'. +* A := A - V*W**H - W*V**H. * * The contents of A on exit are illustrated by the following examples * with n = 5 and nb = 2: diff --git a/SRC/clatrz.f b/SRC/clatrz.f index 048892b8..a572b8ce 100644 --- a/SRC/clatrz.f +++ b/SRC/clatrz.f @@ -64,7 +64,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/clatzm.f b/SRC/clatzm.f index 87ec6835..ed410441 100644 --- a/SRC/clatzm.f +++ b/SRC/clatzm.f @@ -21,8 +21,8 @@ * * CLATZM applies a Householder matrix generated by CTZRQF to a matrix. * -* Let P = I - tau*u*u', u = ( 1 ), -* ( v ) +* Let P = I - tau*u*u**H, u = ( 1 ), +* ( v ) * where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if * SIDE = 'R'. * @@ -112,14 +112,14 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* w := conjg( C1 + v' * C2 ) +* w := ( C1 + v**H * C2 )**H * CALL CCOPY( N, C1, LDC, WORK, 1 ) CALL CLACGV( N, WORK, 1 ) CALL CGEMV( 'Conjugate transpose', M-1, N, ONE, C2, LDC, V, $ INCV, ONE, WORK, 1 ) * -* [ C1 ] := [ C1 ] - tau* [ 1 ] * w' +* [ C1 ] := [ C1 ] - tau* [ 1 ] * w**H * [ C2 ] [ C2 ] [ v ] * CALL CLACGV( N, WORK, 1 ) @@ -134,7 +134,7 @@ CALL CGEMV( 'No transpose', M, N-1, ONE, C2, LDC, V, INCV, ONE, $ WORK, 1 ) * -* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v'] +* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v**H] * CALL CAXPY( M, -TAU, WORK, 1, C1, 1 ) CALL CGERC( M, N-1, -TAU, WORK, 1, V, INCV, C2, LDC ) diff --git a/SRC/clauu2.f b/SRC/clauu2.f index ccfecec9..732f420b 100644 --- a/SRC/clauu2.f +++ b/SRC/clauu2.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* CLAUU2 computes the product U * U' or L' * L, where the triangular +* CLAUU2 computes the product U * U**H or L**H * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) COMPLEX array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**H; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**H * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -100,7 +100,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**H. * DO 10 I = 1, N AII = A( I, I ) @@ -119,7 +119,7 @@ * ELSE * -* Compute the product L' * L. +* Compute the product L**H * L. * DO 20 I = 1, N AII = A( I, I ) diff --git a/SRC/clauum.f b/SRC/clauum.f index 498ae80a..01e5d4c6 100644 --- a/SRC/clauum.f +++ b/SRC/clauum.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* CLAUUM computes the product U * U' or L' * L, where the triangular +* CLAUUM computes the product U * U**H or L**H * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) COMPLEX array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**H; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**H * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -114,7 +114,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**H. * DO 10 I = 1, N, NB IB = MIN( NB, N-I+1 ) @@ -134,7 +134,7 @@ 10 CONTINUE ELSE * -* Compute the product L' * L. +* Compute the product L**H * L. * DO 20 I = 1, N, NB IB = MIN( NB, N-I+1 ) diff --git a/SRC/cpbcon.f b/SRC/cpbcon.f index a3f4a891..cb2238aa 100644 --- a/SRC/cpbcon.f +++ b/SRC/cpbcon.f @@ -147,7 +147,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL CLATBS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, KD, AB, LDAB, WORK, SCALEL, RWORK, @@ -166,7 +166,7 @@ $ KD, AB, LDAB, WORK, SCALEL, RWORK, INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL CLATBS( 'Lower', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, KD, AB, LDAB, WORK, SCALEU, RWORK, diff --git a/SRC/cpbsv.f b/SRC/cpbsv.f index e14b5d9f..9b23f182 100644 --- a/SRC/cpbsv.f +++ b/SRC/cpbsv.f @@ -135,7 +135,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H*U or A = L*L**H. * CALL CPBTRF( UPLO, N, KD, AB, LDAB, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/cpbsvx.f b/SRC/cpbsvx.f index 9407a07e..cea2d80b 100644 --- a/SRC/cpbsvx.f +++ b/SRC/cpbsvx.f @@ -351,7 +351,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * IF( UPPER ) THEN DO 40 J = 1, N diff --git a/SRC/cpbtf2.f b/SRC/cpbtf2.f index 4a6bb91e..62547f9a 100644 --- a/SRC/cpbtf2.f +++ b/SRC/cpbtf2.f @@ -20,9 +20,9 @@ * positive definite band matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', -* where U is an upper triangular matrix, U' is the conjugate transpose +* A = U**H * U , if UPLO = 'U', or +* A = L * L**H, if UPLO = 'L', +* where U is an upper triangular matrix, U**H is the conjugate transpose * of U, and L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -52,7 +52,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**H *U or A = L*L**H of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER @@ -137,7 +137,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H * U. * DO 10 J = 1, N * @@ -165,7 +165,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**H. * DO 20 J = 1, N * diff --git a/SRC/cpbtrs.f b/SRC/cpbtrs.f index 6db8cd7b..857e1281 100644 --- a/SRC/cpbtrs.f +++ b/SRC/cpbtrs.f @@ -107,11 +107,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**H *U. * DO 10 J = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**H *X = B, overwriting B with X. * CALL CTBSV( 'Upper', 'Conjugate transpose', 'Non-unit', N, $ KD, AB, LDAB, B( 1, J ), 1 ) @@ -123,7 +123,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**H. * DO 20 J = 1, NRHS * @@ -132,7 +132,7 @@ CALL CTBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**H *X = B, overwriting B with X. * CALL CTBSV( 'Lower', 'Conjugate transpose', 'Non-unit', N, $ KD, AB, LDAB, B( 1, J ), 1 ) diff --git a/SRC/cpocon.f b/SRC/cpocon.f index 9faf372d..526e4410 100644 --- a/SRC/cpocon.f +++ b/SRC/cpocon.f @@ -136,7 +136,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL CLATRS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, A, LDA, WORK, SCALEL, RWORK, INFO ) @@ -154,7 +154,7 @@ $ A, LDA, WORK, SCALEL, RWORK, INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL CLATRS( 'Lower', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, A, LDA, WORK, SCALEU, RWORK, INFO ) diff --git a/SRC/cposv.f b/SRC/cposv.f index a37afc63..1520561a 100644 --- a/SRC/cposv.f +++ b/SRC/cposv.f @@ -105,7 +105,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H*U or A = L*L**H. * CALL CPOTRF( UPLO, N, A, LDA, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/cposvx.f b/SRC/cposvx.f index 61563158..b829faf2 100644 --- a/SRC/cposvx.f +++ b/SRC/cposvx.f @@ -319,7 +319,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * CALL CLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL CPOTRF( UPLO, N, AF, LDAF, INFO ) diff --git a/SRC/cpotf2.f b/SRC/cpotf2.f index f15d8d04..49d31d89 100644 --- a/SRC/cpotf2.f +++ b/SRC/cpotf2.f @@ -20,8 +20,8 @@ * positive definite matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', +* A = U**H * U , if UPLO = 'U', or +* A = L * L**H, if UPLO = 'L', * where U is an upper triangular matrix and L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -48,7 +48,7 @@ * triangular part of A is not referenced. * * On exit, if INFO = 0, the factor U or L from the Cholesky -* factorization A = U'*U or A = L*L'. +* factorization A = U**H *U or A = L*L**H. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -109,7 +109,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H *U. * DO 10 J = 1, N * @@ -136,7 +136,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**H. * DO 20 J = 1, N * diff --git a/SRC/cpotrf.f b/SRC/cpotrf.f index 34f45412..174e582c 100644 --- a/SRC/cpotrf.f +++ b/SRC/cpotrf.f @@ -117,7 +117,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H *U. * DO 10 J = 1, N, NB * @@ -146,7 +146,7 @@ * ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**H. * DO 20 J = 1, N, NB * diff --git a/SRC/cpotri.f b/SRC/cpotri.f index 041b0802..1d8ff3b7 100644 --- a/SRC/cpotri.f +++ b/SRC/cpotri.f @@ -86,7 +86,7 @@ IF( INFO.GT.0 ) $ RETURN * -* Form inv(U)*inv(U)' or inv(L)'*inv(L). +* Form inv(U) * inv(U)**H or inv(L)**H * inv(L). * CALL CLAUUM( UPLO, N, A, LDA, INFO ) * diff --git a/SRC/cpotrs.f b/SRC/cpotrs.f index 6020d33d..fe5e8300 100644 --- a/SRC/cpotrs.f +++ b/SRC/cpotrs.f @@ -100,9 +100,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**H *U. * -* Solve U'*X = B, overwriting B with X. +* Solve U**H *X = B, overwriting B with X. * CALL CTRSM( 'Left', 'Upper', 'Conjugate transpose', 'Non-unit', $ N, NRHS, ONE, A, LDA, B, LDB ) @@ -113,14 +113,14 @@ $ NRHS, ONE, A, LDA, B, LDB ) ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**H. * * Solve L*X = B, overwriting B with X. * CALL CTRSM( 'Left', 'Lower', 'No transpose', 'Non-unit', N, $ NRHS, ONE, A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**H *X = B, overwriting B with X. * CALL CTRSM( 'Left', 'Lower', 'Conjugate transpose', 'Non-unit', $ N, NRHS, ONE, A, LDA, B, LDB ) diff --git a/SRC/cppcon.f b/SRC/cppcon.f index 10ff4772..7b67efc0 100644 --- a/SRC/cppcon.f +++ b/SRC/cppcon.f @@ -135,7 +135,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL CLATPS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, AP, WORK, SCALEL, RWORK, INFO ) @@ -153,7 +153,7 @@ $ AP, WORK, SCALEL, RWORK, INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL CLATPS( 'Lower', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, AP, WORK, SCALEU, RWORK, INFO ) diff --git a/SRC/cppsv.f b/SRC/cppsv.f index 0e437b73..f697442f 100644 --- a/SRC/cppsv.f +++ b/SRC/cppsv.f @@ -22,7 +22,7 @@ * packed format and X and B are N-by-NRHS matrices. * * The Cholesky decomposition is used to factor A as -* A = U**H* U, if UPLO = 'U', or +* A = U**H * U, if UPLO = 'U', or * A = L * L**H, if UPLO = 'L', * where U is an upper triangular matrix and L is a lower triangular * matrix. The factored form of A is then used to solve the system of @@ -49,7 +49,7 @@ * 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. -* See below for further details. +* See below for further details. * * On exit, if INFO = 0, the factor U or L from the Cholesky * factorization A = U**H*U or A = L*L**H, in the same storage @@ -117,7 +117,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * CALL CPPTRF( UPLO, N, AP, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/cppsvx.f b/SRC/cppsvx.f index 43522997..0997cdef 100644 --- a/SRC/cppsvx.f +++ b/SRC/cppsvx.f @@ -43,8 +43,8 @@ * * 2. If FACT = 'N' or 'E', the Cholesky decomposition is used to * factor the matrix A (after equilibration if FACT = 'E') as -* A = U'* U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', +* A = U**H * U , if UPLO = 'U', or +* A = L * L**H, if UPLO = 'L', * where U is an upper triangular matrix, L is a lower triangular * matrix, and ' indicates conjugate transpose. * @@ -117,7 +117,7 @@ * * If FACT = 'N', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the original +* factorization A = U**H * U or A = L * L**H of the original * matrix A. * * If FACT = 'E', then AFP is an output argument and on exit @@ -324,7 +324,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H * U or A = L * L**H. * CALL CCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL CPPTRF( UPLO, N, AFP, INFO ) diff --git a/SRC/cpptrf.f b/SRC/cpptrf.f index bf214eb7..d3080090 100644 --- a/SRC/cpptrf.f +++ b/SRC/cpptrf.f @@ -115,7 +115,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H * U. * JJ = 0 DO 10 J = 1, N @@ -140,7 +140,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L * L**H. * JJ = 1 DO 20 J = 1, N diff --git a/SRC/cpptri.f b/SRC/cpptri.f index bcab4542..753331a9 100644 --- a/SRC/cpptri.f +++ b/SRC/cpptri.f @@ -97,7 +97,7 @@ $ RETURN IF( UPPER ) THEN * -* Compute the product inv(U) * inv(U)'. +* Compute the product inv(U) * inv(U)**H. * JJ = 0 DO 10 J = 1, N @@ -111,7 +111,7 @@ * ELSE * -* Compute the product inv(L)' * inv(L). +* Compute the product inv(L)**H * inv(L). * JJ = 1 DO 20 J = 1, N diff --git a/SRC/cpptrs.f b/SRC/cpptrs.f index f9d2c2fd..dc06efaf 100644 --- a/SRC/cpptrs.f +++ b/SRC/cpptrs.f @@ -96,11 +96,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**H * U. * DO 10 I = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**H *X = B, overwriting B with X. * CALL CTPSV( 'Upper', 'Conjugate transpose', 'Non-unit', N, $ AP, B( 1, I ), 1 ) @@ -112,7 +112,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L * L**H. * DO 20 I = 1, NRHS * @@ -121,7 +121,7 @@ CALL CTPSV( 'Lower', 'No transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) * -* Solve L'*X = Y, overwriting B with X. +* Solve L**H *X = Y, overwriting B with X. * CALL CTPSV( 'Lower', 'Conjugate transpose', 'Non-unit', N, $ AP, B( 1, I ), 1 ) diff --git a/SRC/cptcon.f b/SRC/cptcon.f index 6ed1103f..e60b41b2 100644 --- a/SRC/cptcon.f +++ b/SRC/cptcon.f @@ -118,7 +118,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**H. * * Solve M(L) * x = e. * @@ -127,7 +127,7 @@ RWORK( I ) = ONE + RWORK( I-1 )*ABS( E( I-1 ) ) 20 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**H * x = b. * RWORK( N ) = RWORK( N ) / D( N ) DO 30 I = N - 1, 1, -1 diff --git a/SRC/cptrfs.f b/SRC/cptrfs.f index 0e4e9dd3..88e64504 100644 --- a/SRC/cptrfs.f +++ b/SRC/cptrfs.f @@ -327,7 +327,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**H. * * Solve M(L) * x = e. * @@ -336,7 +336,7 @@ RWORK( I ) = ONE + RWORK( I-1 )*ABS( EF( I-1 ) ) 70 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**H * x = b. * RWORK( N ) = RWORK( N ) / DF( N ) DO 80 I = N - 1, 1, -1 diff --git a/SRC/cptsv.f b/SRC/cptsv.f index 98032219..bd263cc4 100644 --- a/SRC/cptsv.f +++ b/SRC/cptsv.f @@ -85,7 +85,7 @@ RETURN END IF * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**H (or U**H*D*U) factorization of A. * CALL CPTTRF( N, D, E, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/cptsvx.f b/SRC/cptsvx.f index 23361c70..6b98480d 100644 --- a/SRC/cptsvx.f +++ b/SRC/cptsvx.f @@ -191,7 +191,7 @@ * IF( NOFACT ) THEN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**H (or U**H*D*U) factorization of A. * CALL SCOPY( N, D, 1, DF, 1 ) IF( N.GT.1 ) diff --git a/SRC/cpttrf.f b/SRC/cpttrf.f index d3509013..91d20d36 100644 --- a/SRC/cpttrf.f +++ b/SRC/cpttrf.f @@ -16,9 +16,9 @@ * Purpose * ======= * -* CPTTRF computes the L*D*L' factorization of a complex Hermitian +* CPTTRF computes the L*D*L**H factorization of a complex Hermitian * positive definite tridiagonal matrix A. The factorization may also -* be regarded as having the form A = U'*D*U. +* be regarded as having the form A = U**H *D*U. * * Arguments * ========= @@ -29,14 +29,14 @@ * D (input/output) REAL array, dimension (N) * On entry, the n diagonal elements of the tridiagonal matrix * A. On exit, the n diagonal elements of the diagonal matrix -* D from the L*D*L' factorization of A. +* D from the L*D*L**H factorization of A. * * E (input/output) COMPLEX array, dimension (N-1) * On entry, the (n-1) subdiagonal elements of the tridiagonal * matrix A. On exit, the (n-1) subdiagonal elements of the -* unit bidiagonal factor L from the L*D*L' factorization of A. +* unit bidiagonal factor L from the L*D*L**H factorization of A. * E can also be regarded as the superdiagonal of the unit -* bidiagonal factor U from the U'*D*U factorization of A. +* bidiagonal factor U from the U**H *D*U factorization of A. * * INFO (output) INTEGER * = 0: successful exit @@ -78,7 +78,7 @@ IF( N.EQ.0 ) $ RETURN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**H (or U**H *D*U) factorization of A. * I4 = MOD( N-1, 4 ) DO 10 I = 1, I4 diff --git a/SRC/cpttrs.f b/SRC/cpttrs.f index ed6b5c45..0f5db516 100644 --- a/SRC/cpttrs.f +++ b/SRC/cpttrs.f @@ -19,7 +19,7 @@ * * CPTTRS solves a tridiagonal system of the form * A * X = B -* using the factorization A = U'*D*U or A = L*D*L' computed by CPTTRF. +* using the factorization A = U**H*D*U or A = L*D*L**H computed by CPTTRF. * D is a diagonal matrix specified in the vector D, U (or L) is a unit * bidiagonal matrix whose superdiagonal (subdiagonal) is specified in * the vector E, and X and B are N by NRHS matrices. @@ -31,8 +31,8 @@ * Specifies the form of the factorization and whether the * vector E is the superdiagonal of the upper bidiagonal factor * U or the subdiagonal of the lower bidiagonal factor L. -* = 'U': A = U'*D*U, E is the superdiagonal of U -* = 'L': A = L*D*L', E is the subdiagonal of L +* = 'U': A = U**H*D*U, E is the superdiagonal of U +* = 'L': A = L*D*L**H, E is the subdiagonal of L * * N (input) INTEGER * The order of the tridiagonal matrix A. N >= 0. @@ -43,13 +43,13 @@ * * D (input) REAL array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* factorization A = U'*D*U or A = L*D*L'. +* factorization A = U**H*D*U or A = L*D*L**H. * * E (input) COMPLEX array, dimension (N-1) * If UPLO = 'U', the (n-1) superdiagonal elements of the unit -* bidiagonal factor U from the factorization A = U'*D*U. +* bidiagonal factor U from the factorization A = U**H*D*U. * If UPLO = 'L', the (n-1) subdiagonal elements of the unit -* bidiagonal factor L from the factorization A = L*D*L'. +* bidiagonal factor L from the factorization A = L*D*L**H. * * B (input/output) REAL array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of diff --git a/SRC/cptts2.f b/SRC/cptts2.f index 46c5911d..6c2785f8 100644 --- a/SRC/cptts2.f +++ b/SRC/cptts2.f @@ -18,7 +18,7 @@ * * CPTTS2 solves a tridiagonal system of the form * A * X = B -* using the factorization A = U'*D*U or A = L*D*L' computed by CPTTRF. +* using the factorization A = U**H*D*U or A = L*D*L**H computed by CPTTRF. * D is a diagonal matrix specified in the vector D, U (or L) is a unit * bidiagonal matrix whose superdiagonal (subdiagonal) is specified in * the vector E, and X and B are N by NRHS matrices. @@ -30,8 +30,8 @@ * Specifies the form of the factorization and whether the * vector E is the superdiagonal of the upper bidiagonal factor * U or the subdiagonal of the lower bidiagonal factor L. -* = 1: A = U'*D*U, E is the superdiagonal of U -* = 0: A = L*D*L', E is the subdiagonal of L +* = 1: A = U**H *D*U, E is the superdiagonal of U +* = 0: A = L*D*L**H, E is the subdiagonal of L * * N (input) INTEGER * The order of the tridiagonal matrix A. N >= 0. @@ -42,13 +42,13 @@ * * D (input) REAL array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* factorization A = U'*D*U or A = L*D*L'. +* factorization A = U**H *D*U or A = L*D*L**H. * * E (input) COMPLEX array, dimension (N-1) * If IUPLO = 1, the (n-1) superdiagonal elements of the unit -* bidiagonal factor U from the factorization A = U'*D*U. +* bidiagonal factor U from the factorization A = U**H*D*U. * If IUPLO = 0, the (n-1) subdiagonal elements of the unit -* bidiagonal factor L from the factorization A = L*D*L'. +* bidiagonal factor L from the factorization A = L*D*L**H. * * B (input/output) REAL array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of @@ -81,14 +81,14 @@ * IF( IUPLO.EQ.1 ) THEN * -* Solve A * X = B using the factorization A = U'*D*U, +* Solve A * X = B using the factorization A = U**H *D*U, * overwriting each right hand side vector with its solution. * IF( NRHS.LE.2 ) THEN J = 1 5 CONTINUE * -* Solve U' * x = b. +* Solve U**H * x = b. * DO 10 I = 2, N B( I, J ) = B( I, J ) - B( I-1, J )*CONJG( E( I-1 ) ) @@ -109,7 +109,7 @@ ELSE DO 60 J = 1, NRHS * -* Solve U' * x = b. +* Solve U**H * x = b. * DO 40 I = 2, N B( I, J ) = B( I, J ) - B( I-1, J )*CONJG( E( I-1 ) ) @@ -125,7 +125,7 @@ END IF ELSE * -* Solve A * X = B using the factorization A = L*D*L', +* Solve A * X = B using the factorization A = L*D*L**H, * overwriting each right hand side vector with its solution. * IF( NRHS.LE.2 ) THEN @@ -138,7 +138,7 @@ B( I, J ) = B( I, J ) - B( I-1, J )*E( I-1 ) 70 CONTINUE * -* Solve D * L' * x = b. +* Solve D * L**H * x = b. * DO 80 I = 1, N B( I, J ) = B( I, J ) / D( I ) @@ -159,7 +159,7 @@ B( I, J ) = B( I, J ) - B( I-1, J )*E( I-1 ) 100 CONTINUE * -* Solve D * L' * x = b. +* Solve D * L**H * x = b. * B( N, J ) = B( N, J ) / D( N ) DO 110 I = N - 1, 1, -1 diff --git a/SRC/cspcon.f b/SRC/cspcon.f index c3ea45e9..e9074613 100644 --- a/SRC/cspcon.f +++ b/SRC/cspcon.f @@ -142,7 +142,7 @@ CALL CLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL CSPTRS( UPLO, N, 1, AP, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/cspsv.f b/SRC/cspsv.f index cbdbbfea..c26d2c4b 100644 --- a/SRC/cspsv.f +++ b/SRC/cspsv.f @@ -132,7 +132,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL CSPTRF( UPLO, N, AP, IPIV, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/cspsvx.f b/SRC/cspsvx.f index eb6304fb..6db4603e 100644 --- a/SRC/cspsvx.f +++ b/SRC/cspsvx.f @@ -234,7 +234,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL CCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL CSPTRF( UPLO, N, AFP, IPIV, INFO ) diff --git a/SRC/csptrf.f b/SRC/csptrf.f index bdd28572..9eac37f3 100644 --- a/SRC/csptrf.f +++ b/SRC/csptrf.f @@ -72,7 +72,7 @@ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -89,7 +89,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -162,7 +162,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -283,7 +283,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = CONE / AP( KC+K-1 ) CALL CSPR( UPLO, K-1, -R1, AP( KC ), 1, AP ) @@ -302,8 +302,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -348,7 +348,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -476,7 +476,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * R1 = CONE / AP( KC ) CALL CSPR( UPLO, N-K, -R1, AP( KC+1 ), 1, @@ -499,8 +499,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**T +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**T * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/csptri.f b/SRC/csptri.f index 07eeab15..81bf98da 100644 --- a/SRC/csptri.f +++ b/SRC/csptri.f @@ -128,7 +128,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -229,7 +229,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/csptrs.f b/SRC/csptrs.f index 753a0c36..bc71d28f 100644 --- a/SRC/csptrs.f +++ b/SRC/csptrs.f @@ -103,7 +103,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -177,7 +177,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T*X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL CGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -212,7 +212,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL CGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -234,7 +234,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -311,7 +311,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T*X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -330,7 +330,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -347,7 +347,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/csycon.f b/SRC/csycon.f index 5b40df5d..1aff138a 100644 --- a/SRC/csycon.f +++ b/SRC/csycon.f @@ -146,7 +146,7 @@ CALL CLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL CSYTRS( UPLO, N, 1, A, LDA, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/csysv.f b/SRC/csysv.f index faa99004..c54c41cc 100644 --- a/SRC/csysv.f +++ b/SRC/csysv.f @@ -158,7 +158,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL CSYTRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/csysvx.f b/SRC/csysvx.f index b73ad9a8..0194337f 100644 --- a/SRC/csysvx.f +++ b/SRC/csysvx.f @@ -255,7 +255,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL CLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL CSYTRF( UPLO, N, AF, LDAF, IPIV, WORK, LWORK, INFO ) diff --git a/SRC/csytf2.f b/SRC/csytf2.f index 64be1664..7534c7f9 100644 --- a/SRC/csytf2.f +++ b/SRC/csytf2.f @@ -20,10 +20,10 @@ * CSYTF2 computes the factorization of a complex symmetric matrix A * using the Bunch-Kaufman diagonal pivoting method: * -* A = U*D*U' or A = L*D*L' +* A = U*D*U**T or A = L*D*L**T * * where U (or L) is a product of permutation and unit upper (lower) -* triangular matrices, U' is the transpose of U, and D is symmetric and +* triangular matrices, U**T is the transpose of U, and D is symmetric and * block diagonal with 1-by-1 and 2-by-2 diagonal blocks. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -87,7 +87,7 @@ * 1-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -104,7 +104,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -178,7 +178,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -284,7 +284,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = CONE / A( K, K ) CALL CSYR( UPLO, K-1, -R1, A( 1, K ), 1, A, LDA ) @@ -303,8 +303,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -346,7 +346,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -455,7 +455,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * R1 = CONE / A( K, K ) CALL CSYR( UPLO, N-K, -R1, A( K+1, K ), 1, @@ -473,8 +473,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**T +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**T * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/csytrf.f b/SRC/csytrf.f index 2084d964..a3dac79f 100644 --- a/SRC/csytrf.f +++ b/SRC/csytrf.f @@ -87,7 +87,7 @@ * Further Details * =============== * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -104,7 +104,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -187,7 +187,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * KB, where KB is the number of columns factorized by CLASYF; @@ -227,7 +227,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * KB, where KB is the number of columns factorized by CLASYF; diff --git a/SRC/csytri.f b/SRC/csytri.f index 8b54abe9..d2de840c 100644 --- a/SRC/csytri.f +++ b/SRC/csytri.f @@ -128,7 +128,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -217,7 +217,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/csytri2x.f b/SRC/csytri2x.f index a10661ba..489bf452 100644 --- a/SRC/csytri2x.f +++ b/SRC/csytri2x.f @@ -154,7 +154,7 @@ IF( UPPER ) THEN * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL CTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -182,9 +182,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=N DO WHILE (CUT .GT. 0) @@ -309,7 +309,7 @@ * END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=1 DO WHILE ( I .LE. N ) @@ -331,7 +331,7 @@ * * LOWER... * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL CTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -359,9 +359,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=0 DO WHILE (CUT .LT. N) @@ -492,7 +492,7 @@ CUT=CUT+NNB END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=N DO WHILE ( I .GE. 1 ) diff --git a/SRC/csytrs.f b/SRC/csytrs.f index 4f230619..c4233a37 100644 --- a/SRC/csytrs.f +++ b/SRC/csytrs.f @@ -107,7 +107,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -178,7 +178,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL CGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -211,7 +211,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL CGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -232,7 +232,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -306,7 +306,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -323,7 +323,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -340,7 +340,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/csytrs2.f b/SRC/csytrs2.f index d90ff478..abe7079e 100644 --- a/SRC/csytrs2.f +++ b/SRC/csytrs2.f @@ -117,9 +117,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * -* P' * B +* P**T * B K=N DO WHILE ( K .GE. 1 ) IF( IPIV( K ).GT.0 ) THEN @@ -139,11 +139,11 @@ END IF END DO * -* Compute (U \P' * B) -> B [ (U \P' * B) ] +* Compute (U \P**T * B) -> B [ (U \P**T * B) ] * CALL CTRSM('L','U','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (U \P' * B) ] +* Compute D \ B -> B [ D \ (U \P**T * B) ] * I=N DO WHILE ( I .GE. 1 ) @@ -167,11 +167,11 @@ I = I - 1 END DO * -* Compute (U' \ B) -> B [ U' \ (D \ (U \P' * B) ) ] +* Compute (U**T \ B) -> B [ U**T \ (D \ (U \P**T * B) ) ] * CALL CTRSM('L','U','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (U' \ (D \ (U \P' * B) )) ] +* P * B [ P * (U**T \ (D \ (U \P**T * B) )) ] * K=1 DO WHILE ( K .LE. N ) @@ -194,9 +194,9 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * -* P' * B +* P**T * B K=1 DO WHILE ( K .LE. N ) IF( IPIV( K ).GT.0 ) THEN @@ -216,11 +216,11 @@ ENDIF END DO * -* Compute (L \P' * B) -> B [ (L \P' * B) ] +* Compute (L \P**T * B) -> B [ (L \P**T * B) ] * CALL CTRSM('L','L','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (L \P' * B) ] +* Compute D \ B -> B [ D \ (L \P**T * B) ] * I=1 DO WHILE ( I .LE. N ) @@ -242,11 +242,11 @@ I = I + 1 END DO * -* Compute (L' \ B) -> B [ L' \ (D \ (L \P' * B) ) ] +* Compute (L**T \ B) -> B [ L**T \ (D \ (L \P**T * B) ) ] * CALL CTRSM('L','L','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (L' \ (D \ (L \P' * B) )) ] +* P * B [ P * (L**T \ (D \ (L \P**T * B) )) ] * K=N DO WHILE ( K .GE. 1 ) diff --git a/SRC/ctgex2.f b/SRC/ctgex2.f index 8114b092..8008ea32 100644 --- a/SRC/ctgex2.f +++ b/SRC/ctgex2.f @@ -28,8 +28,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**H = Q(out) * A(out) * Z(out)**H +* Q(in) * B(in) * Z(in)**H = Q(out) * B(out) * Z(out)**H * * * Arguments @@ -213,7 +213,7 @@ IF( WANDS ) THEN * * Strong stability test: -* F-norm((A-QL'*S*QR, B-QL'*T*QR)) <= O(EPS*F-norm((A, B))) +* F-norm((A-QL**H*S*QR, B-QL**H*T*QR)) <= O(EPS*F-norm((A, B))) * CALL CLACPY( 'Full', M, M, S, LDST, WORK, M ) CALL CLACPY( 'Full', M, M, T, LDST, WORK( M*M+1 ), M ) diff --git a/SRC/ctgexc.f b/SRC/ctgexc.f index e0484355..06f3c7a5 100644 --- a/SRC/ctgexc.f +++ b/SRC/ctgexc.f @@ -29,8 +29,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**H = Q(out) * A(out) * Z(out)**H +* Q(in) * B(in) * Z(in)**H = Q(out) * B(out) * Z(out)**H * * Arguments * ========= diff --git a/SRC/ctgsen.f b/SRC/ctgsen.f index 8312f2f5..de9b77e6 100644 --- a/SRC/ctgsen.f +++ b/SRC/ctgsen.f @@ -28,7 +28,7 @@ * * CTGSEN reorders the generalized Schur decomposition of a complex * matrix pair (A, B) (in terms of an unitary equivalence trans- -* formation Q' * (A, B) * Z), so that a selected cluster of eigenvalues +* formation Q**H * (A, B) * Z), so that a selected cluster of eigenvalues * appears in the leading diagonal blocks of the pair (A,B). The leading * columns of Q and Z form unitary bases of the corresponding left and * right eigenspaces (deflating subspaces). (A, B) must be in @@ -197,11 +197,11 @@ * U and W that move them to the top left corner of (A, B). In other * words, the selected eigenvalues are the eigenvalues of (A11, B11) in * -* U'*(A, B)*W = (A11 A12) (B11 B12) n1 +* U**H*(A, B)*W = (A11 A12) (B11 B12) n1 * ( 0 A22),( 0 B22) n2 * n1 n2 n1 n2 * -* where N = n1+n2 and U' means the conjugate transpose of U. The first +* where N = n1+n2 and U**H means the conjugate transpose of U. The first * n1 columns of U and W span the specified pair of left and right * eigenspaces (deflating subspaces) of (A, B). * @@ -209,7 +209,7 @@ * decomposition of a matrix pair (C, D) = Q*(A, B)*Z', then the * reordered generalized Schur form of (C, D) is given by * -* (C, D) = (Q*U)*(U'*(A, B)*W)*(Z*W)', +* (C, D) = (Q*U)*(U**H *(A, B)*W)*(Z*W)**H, * * and the first n1 columns of Q*U and Z*W span the corresponding * deflating subspaces of (C, D) (Q and Z store Q*U and Z*W, resp.). diff --git a/SRC/ctgsja.f b/SRC/ctgsja.f index 9a14ff61..3f07b22b 100644 --- a/SRC/ctgsja.f +++ b/SRC/ctgsja.f @@ -48,10 +48,10 @@ * * On exit, * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ), +* U**H *A*Q = D1*( 0 R ), V**H *B*Q = D2*( 0 R ), * -* where U, V and Q are unitary matrices, Z' denotes the conjugate -* transpose of Z, R is a nonsingular upper triangular matrix, and D1 +* where U, V and Q are unitary matrices. +* R is a nonsingular upper triangular matrix, and D1 * and D2 are ``diagonal'' matrices, which are of the following * structures: * @@ -248,10 +248,10 @@ * min(L,M-K)-by-L triangular (or trapezoidal) matrix A23 and L-by-L * matrix B13 to the form: * -* U1'*A13*Q1 = C1*R1; V1'*B13*Q1 = S1*R1, +* U1**H *A13*Q1 = C1*R1; V1**H *B13*Q1 = S1*R1, * -* where U1, V1 and Q1 are unitary matrix, and Z' is the conjugate -* transpose of Z. C1 and S1 are diagonal matrices satisfying +* where U1, V1 and Q1 are unitary matrix. +* C1 and S1 are diagonal matrices satisfying * * C1**2 + S1**2 = I, * @@ -372,13 +372,13 @@ CALL CLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, $ CSV, SNV, CSQ, SNQ ) * -* Update (K+I)-th and (K+J)-th rows of matrix A: U'*A +* Update (K+I)-th and (K+J)-th rows of matrix A: U**H *A * IF( K+J.LE.M ) $ CALL CROT( L, A( K+J, N-L+1 ), LDA, A( K+I, N-L+1 ), $ LDA, CSU, CONJG( SNU ) ) * -* Update I-th and J-th rows of matrix B: V'*B +* Update I-th and J-th rows of matrix B: V**H *B * CALL CROT( L, B( J, N-L+1 ), LDB, B( I, N-L+1 ), LDB, $ CSV, CONJG( SNV ) ) diff --git a/SRC/ctgsna.f b/SRC/ctgsna.f index 37c11e31..1e832e4a 100644 --- a/SRC/ctgsna.f +++ b/SRC/ctgsna.f @@ -132,12 +132,12 @@ * The reciprocal of the condition number of the i-th generalized * eigenvalue w = (a, b) is defined as * -* S(I) = (|v'Au|**2 + |v'Bu|**2)**(1/2) / (norm(u)*norm(v)) +* S(I) = (|v**HAu|**2 + |v**HBu|**2)**(1/2) / (norm(u)*norm(v)) * * where u and v are the right and left eigenvectors of (A, B) * corresponding to w; |z| denotes the absolute value of the complex * number, and norm(u) denotes the 2-norm of the vector u. The pair -* (a, b) corresponds to an eigenvalue w = a/b (= v'Au/v'Bu) of the +* (a, b) corresponds to an eigenvalue w = a/b (= v**HAu/v**HBu) of the * matrix pair (A, B). If both a and b equal zero, then (A,B) is * singular and S(I) = -1 is returned. * @@ -166,7 +166,7 @@ * Zl = [ kron(a, In-1) -kron(1, A22) ] * [ kron(b, In-1) -kron(1, B22) ]. * -* Here In-1 is the identity matrix of size n-1 and X' is the conjugate +* Here In-1 is the identity matrix of size n-1 and X**H is the conjugate * transpose of X. kron(X, Y) is the Kronecker product between the * matrices X and Y. * diff --git a/SRC/ctgsy2.f b/SRC/ctgsy2.f index b762b234..a9fdf836 100644 --- a/SRC/ctgsy2.f +++ b/SRC/ctgsy2.f @@ -298,7 +298,7 @@ ELSE * * Solve transposed (I, J) - system: -* A(I, I)' * R(I, J) + D(I, I)' * L(J, J) = C(I, J) +* A(I, I)**H * R(I, J) + D(I, I)**H * L(J, J) = C(I, J) * R(I, I) * B(J, J) + L(I, J) * E(J, J) = -F(I, J) * for I = 1, 2, ..., M, J = N, N - 1, ..., 1 * diff --git a/SRC/ctgsyl.f b/SRC/ctgsyl.f index 333cbcea..2d3374ca 100644 --- a/SRC/ctgsyl.f +++ b/SRC/ctgsyl.f @@ -46,11 +46,11 @@ * transpose of X. Kron(X, Y) is the Kronecker product between the * matrices X and Y. * -* If TRANS = 'C', y in the conjugate transposed system Z'*y = scale*b +* If TRANS = 'C', y in the conjugate transposed system Z**H *y = scale*b * is solved for, which is equivalent to solve for R and L in * -* A' * R + D' * L = scale * C (3) -* R * B' + L * E' = scale * -F +* A**H * R + D**H * L = scale * C (3) +* R * B**H + L * E**H = scale * -F * * This case (TRANS = 'C') is used to compute an one-norm-based estimate * of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) @@ -490,7 +490,7 @@ ELSE * * Solve transposed (I, J)-subsystem -* A(I, I)' * R(I, J) + D(I, I)' * L(I, J) = C(I, J) +* A(I, I)**H * R(I, J) + D(I, I)**H * L(I, J) = C(I, J) * R(I, J) * B(J, J) + L(I, J) * E(J, J) = -F(I, J) * for I = 1,2,..., P; J = Q, Q-1,..., 1 * diff --git a/SRC/ctrevc.f b/SRC/ctrevc.f index 900248f0..9bfe2b93 100644 --- a/SRC/ctrevc.f +++ b/SRC/ctrevc.f @@ -332,7 +332,7 @@ 90 CONTINUE * * Solve the triangular system: -* (T(KI+1:N,KI+1:N) - T(KI,KI))'*X = SCALE*WORK. +* (T(KI+1:N,KI+1:N) - T(KI,KI))**H*X = SCALE*WORK. * DO 100 K = KI + 1, N T( K, K ) = T( K, K ) - T( KI, KI ) diff --git a/SRC/ctrsen.f b/SRC/ctrsen.f index 2b35ef3c..a5eb9d70 100644 --- a/SRC/ctrsen.f +++ b/SRC/ctrsen.f @@ -119,16 +119,16 @@ * transformation Z to move them to the top left corner of T. In other * words, the selected eigenvalues are the eigenvalues of T11 in: * -* Z'*T*Z = ( T11 T12 ) n1 +* Z**H * T * Z = ( T11 T12 ) n1 * ( 0 T22 ) n2 * n1 n2 * -* where N = n1+n2 and Z' means the conjugate transpose of Z. The first +* where N = n1+n2. The first * n1 columns of Z span the specified invariant subspace of T. * * If T has been obtained from the Schur factorization of a matrix -* A = Q*T*Q', then the reordered Schur factorization of A is given by -* A = (Q*Z)*(Z'*T*Z)*(Q*Z)', and the first n1 columns of Q*Z span the +* A = Q*T*Q**H, then the reordered Schur factorization of A is given by +* A = (Q*Z)*(Z**H*T*Z)*(Q*Z)**H, and the first n1 columns of Q*Z span the * corresponding invariant subspace of A. * * The reciprocal condition number of the average of the eigenvalues of @@ -331,7 +331,7 @@ $ IERR ) ELSE * -* Solve T11'*R - R*T22' = scale*X. +* Solve T11**H*R - R*T22**H = scale*X. * CALL CTRSYL( 'C', 'C', -1, N1, N2, T, LDT, $ T( N1+1, N1+1 ), LDT, WORK, N1, SCALE, diff --git a/SRC/ctrsna.f b/SRC/ctrsna.f index f538b7db..6ed7f961 100644 --- a/SRC/ctrsna.f +++ b/SRC/ctrsna.f @@ -124,10 +124,10 @@ * The reciprocal of the condition number of an eigenvalue lambda is * defined as * -* S(lambda) = |v'*u| / (norm(u)*norm(v)) +* S(lambda) = |v**H*u| / (norm(u)*norm(v)) * * where u and v are the right and left eigenvectors of T corresponding -* to lambda; v' denotes the conjugate transpose of v, and norm(u) +* to lambda; v**H denotes the conjugate transpose of v, and norm(u) * denotes the Euclidean norm. These reciprocal condition numbers always * lie between zero (very badly conditioned) and one (very well * conditioned). If n = 1, S(lambda) is defined to be 1. @@ -303,7 +303,7 @@ WORK( I, I ) = WORK( I, I ) - WORK( 1, 1 ) 20 CONTINUE * -* Estimate a lower bound for the 1-norm of inv(C'). The 1st +* Estimate a lower bound for the 1-norm of inv(C**H). The 1st * and (N+1)th columns of WORK are used to store work vectors. * SEP( KS ) = ZERO @@ -316,7 +316,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Solve C'*x = scale*b +* Solve C**H*x = scale*b * CALL CLATRS( 'Upper', 'Conjugate transpose', $ 'Nonunit', NORMIN, N-1, WORK( 2, 2 ), diff --git a/SRC/ctrsyl.f b/SRC/ctrsyl.f index 721c5849..28c930c3 100644 --- a/SRC/ctrsyl.f +++ b/SRC/ctrsyl.f @@ -209,17 +209,17 @@ * ELSE IF( .NOT.NOTRNA .AND. NOTRNB ) THEN * -* Solve A' *X + ISGN*X*B = scale*C. +* Solve A**H *X + ISGN*X*B = scale*C. * * The (K,L)th block of X is determined starting from * upper-left corner column by column by * -* A'(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) +* A**H(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) * * Where -* K-1 L-1 -* R(K,L) = SUM [A'(I,K)*X(I,L)] + ISGN*SUM [X(K,J)*B(J,L)] -* I=1 J=1 +* K-1 L-1 +* R(K,L) = SUM [A**H(I,K)*X(I,L)] + ISGN*SUM [X(K,J)*B(J,L)] +* I=1 J=1 * DO 60 L = 1, N DO 50 K = 1, M @@ -257,19 +257,19 @@ * ELSE IF( .NOT.NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A'*X + ISGN*X*B' = C. +* Solve A**H*X + ISGN*X*B**H = C. * * The (K,L)th block of X is determined starting from * upper-right corner column by column by * -* A'(K,K)*X(K,L) + ISGN*X(K,L)*B'(L,L) = C(K,L) - R(K,L) +* A**H(K,K)*X(K,L) + ISGN*X(K,L)*B**H(L,L) = C(K,L) - R(K,L) * * Where * K-1 -* R(K,L) = SUM [A'(I,K)*X(I,L)] + +* R(K,L) = SUM [A**H(I,K)*X(I,L)] + * I=1 * N -* ISGN*SUM [X(K,J)*B'(L,J)]. +* ISGN*SUM [X(K,J)*B**H(L,J)]. * J=L+1 * DO 90 L = N, 1, -1 @@ -309,16 +309,16 @@ * ELSE IF( NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A*X + ISGN*X*B' = C. +* Solve A*X + ISGN*X*B**H = C. * * The (K,L)th block of X is determined starting from * bottom-left corner column by column by * -* A(K,K)*X(K,L) + ISGN*X(K,L)*B'(L,L) = C(K,L) - R(K,L) +* A(K,K)*X(K,L) + ISGN*X(K,L)*B**H(L,L) = C(K,L) - R(K,L) * * Where * M N -* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B'(L,J)] +* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B**H(L,J)] * I=K+1 J=L+1 * DO 120 L = N, 1, -1 diff --git a/SRC/ctzrqf.f b/SRC/ctzrqf.f index a98aebd3..3e90546d 100644 --- a/SRC/ctzrqf.f +++ b/SRC/ctzrqf.f @@ -66,9 +66,9 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), -* ( 0 ) -* ( z( k ) ) +* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), +* ( 0 ) +* ( z( k ) ) * * tau is a scalar and z( k ) is an ( n - m ) element vector. * tau and z( k ) are chosen to annihilate the elements of the kth row @@ -142,7 +142,7 @@ * IF( TAU( K ).NE.CZERO .AND. K.GT.1 ) THEN * -* We now perform the operation A := A*P( k )'. +* We now perform the operation A := A*P( k )**H. * * Use the first ( k - 1 ) elements of TAU to store a( k ), * where a( k ) consists of the first ( k - 1 ) elements of @@ -157,7 +157,7 @@ $ LDA, A( K, M1 ), LDA, CONE, TAU, 1 ) * * Now form a( k ) := a( k ) - conjg(tau)*w -* and B := B - conjg(tau)*w*z( k )'. +* and B := B - conjg(tau)*w*z( k )**H. * CALL CAXPY( K-1, -CONJG( TAU( K ) ), TAU, 1, A( 1, K ), $ 1 ) diff --git a/SRC/ctzrzf.f b/SRC/ctzrzf.f index bcdf4221..7afbbd22 100644 --- a/SRC/ctzrzf.f +++ b/SRC/ctzrzf.f @@ -81,7 +81,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/cungl2.f b/SRC/cungl2.f index daf16e04..03e2967e 100644 --- a/SRC/cungl2.f +++ b/SRC/cungl2.f @@ -19,7 +19,7 @@ * which is defined as the first m rows of a product of k elementary * reflectors of order n * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by CGELQF. * @@ -110,7 +110,7 @@ * DO 40 I = K, 1, -1 * -* Apply H(i)' to A(i:m,i:n) from the right +* Apply H(i)**H to A(i:m,i:n) from the right * IF( I.LT.N ) THEN CALL CLACGV( N-I, A( I, I+1 ), LDA ) diff --git a/SRC/cunglq.f b/SRC/cunglq.f index ef32e5c7..c1809407 100644 --- a/SRC/cunglq.f +++ b/SRC/cunglq.f @@ -19,7 +19,7 @@ * which is defined as the first M rows of a product of K elementary * reflectors of order N * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by CGELQF. * @@ -185,7 +185,7 @@ CALL CLARFT( 'Forward', 'Rowwise', N-I+1, IB, A( I, I ), $ LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i+ib:m,i:n) from the right +* Apply H**H to A(i+ib:m,i:n) from the right * CALL CLARFB( 'Right', 'Conjugate transpose', 'Forward', $ 'Rowwise', M-I-IB+1, N-I+1, IB, A( I, I ), @@ -193,7 +193,7 @@ $ WORK( IB+1 ), LDWORK ) END IF * -* Apply H' to columns i:n of current block +* Apply H**H to columns i:n of current block * CALL CUNGL2( IB, N-I+1, IB, A( I, I ), LDA, TAU( I ), WORK, $ IINFO ) diff --git a/SRC/cungr2.f b/SRC/cungr2.f index 4e75e51d..3f104be3 100644 --- a/SRC/cungr2.f +++ b/SRC/cungr2.f @@ -19,7 +19,7 @@ * which is defined as the last m rows of a product of k elementary * reflectors of order n * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by CGERQF. * @@ -112,7 +112,7 @@ DO 40 I = 1, K II = M - K + I * -* Apply H(i)' to A(1:m-k+i,1:n-k+i) from the right +* Apply H(i)**H to A(1:m-k+i,1:n-k+i) from the right * CALL CLACGV( N-M+II-1, A( II, 1 ), LDA ) A( II, N-M+II ) = ONE diff --git a/SRC/cungrq.f b/SRC/cungrq.f index bd9c416f..a09442c5 100644 --- a/SRC/cungrq.f +++ b/SRC/cungrq.f @@ -19,7 +19,7 @@ * which is defined as the last M rows of a product of K elementary * reflectors of order N * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by CGERQF. * @@ -193,7 +193,7 @@ CALL CLARFT( 'Backward', 'Rowwise', N-K+I+IB-1, IB, $ A( II, 1 ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i-1,1:n-k+i+ib-1) from the right +* Apply H**H to A(1:m-k+i-1,1:n-k+i+ib-1) from the right * CALL CLARFB( 'Right', 'Conjugate transpose', 'Backward', $ 'Rowwise', II-1, N-K+I+IB-1, IB, A( II, 1 ), @@ -201,7 +201,7 @@ $ LDWORK ) END IF * -* Apply H' to columns 1:n-k+i+ib-1 of current block +* Apply H**H to columns 1:n-k+i+ib-1 of current block * CALL CUNGR2( IB, N-K+I+IB-1, IB, A( II, 1 ), LDA, TAU( I ), $ WORK, IINFO ) diff --git a/SRC/cunm2l.f b/SRC/cunm2l.f index 06904231..6aebcaff 100644 --- a/SRC/cunm2l.f +++ b/SRC/cunm2l.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -168,17 +168,17 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(1:m-k+i,1:n) +* H(i) or H(i)**H is applied to C(1:m-k+i,1:n) * MI = M - K + I ELSE * -* H(i) or H(i)' is applied to C(1:m,1:n-k+i) +* H(i) or H(i)**H is applied to C(1:m,1:n-k+i) * NI = N - K + I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/cunm2r.f b/SRC/cunm2r.f index f710288f..69f22ae3 100644 --- a/SRC/cunm2r.f +++ b/SRC/cunm2r.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -170,19 +170,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/cunml2.f b/SRC/cunml2.f index e923d92e..191656d7 100644 --- a/SRC/cunml2.f +++ b/SRC/cunml2.f @@ -21,16 +21,16 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by CGELQF. Q is of order m if SIDE = 'L' and of order n * if SIDE = 'R'. @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -170,19 +170,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = CONJG( TAU( I ) ) diff --git a/SRC/cunmlq.f b/SRC/cunmlq.f index acc4c173..c700d856 100644 --- a/SRC/cunmlq.f +++ b/SRC/cunmlq.f @@ -27,7 +27,7 @@ * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by CGELQF. Q is of order M if SIDE = 'L' and of order N * if SIDE = 'R'. @@ -242,19 +242,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**H * CALL CLARFB( SIDE, TRANST, 'Forward', 'Rowwise', MI, NI, IB, $ A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, WORK, diff --git a/SRC/cunmql.f b/SRC/cunmql.f index 23128473..cf448bb3 100644 --- a/SRC/cunmql.f +++ b/SRC/cunmql.f @@ -238,17 +238,17 @@ $ A( 1, I ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**H is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**H is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**H * CALL CLARFB( SIDE, TRANS, 'Backward', 'Columnwise', MI, NI, $ IB, A( 1, I ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/cunmqr.f b/SRC/cunmqr.f index 0e7da561..0215f28b 100644 --- a/SRC/cunmqr.f +++ b/SRC/cunmqr.f @@ -235,19 +235,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**H * CALL CLARFB( SIDE, TRANS, 'Forward', 'Columnwise', MI, NI, $ IB, A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, diff --git a/SRC/cunmr2.f b/SRC/cunmr2.f index e1fc7f08..cea18732 100644 --- a/SRC/cunmr2.f +++ b/SRC/cunmr2.f @@ -21,16 +21,16 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by CGERQF. Q is of order m if SIDE = 'L' and of order n * if SIDE = 'R'. @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -168,17 +168,17 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(1:m-k+i,1:n) +* H(i) or H(i)**H is applied to C(1:m-k+i,1:n) * MI = M - K + I ELSE * -* H(i) or H(i)' is applied to C(1:m,1:n-k+i) +* H(i) or H(i)**H is applied to C(1:m,1:n-k+i) * NI = N - K + I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = CONJG( TAU( I ) ) diff --git a/SRC/cunmr3.f b/SRC/cunmr3.f index a9f6321f..ce440abd 100644 --- a/SRC/cunmr3.f +++ b/SRC/cunmr3.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -80,7 +80,7 @@ * * C (input/output) COMPLEX array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -182,19 +182,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/cunmrq.f b/SRC/cunmrq.f index 3ed1cbe1..54cea54c 100644 --- a/SRC/cunmrq.f +++ b/SRC/cunmrq.f @@ -27,7 +27,7 @@ * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by CGERQF. Q is of order M if SIDE = 'L' and of order N * if SIDE = 'R'. @@ -245,17 +245,17 @@ $ A( I, 1 ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**H is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**H is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**H * CALL CLARFB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, A( I, 1 ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/cunmrz.f b/SRC/cunmrz.f index 55b62623..26c224a6 100644 --- a/SRC/cunmrz.f +++ b/SRC/cunmrz.f @@ -268,19 +268,19 @@ * IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**H * CALL CLARZB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, L, A( I, JA ), LDA, T, LDT, C( IC, JC ), diff --git a/SRC/cupmtr.f b/SRC/cupmtr.f index 6d6e893c..c5ab2e9e 100644 --- a/SRC/cupmtr.f +++ b/SRC/cupmtr.f @@ -170,17 +170,17 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(1:i,1:n) +* H(i) or H(i)**H is applied to C(1:i,1:n) * MI = I ELSE * -* H(i) or H(i)' is applied to C(1:m,1:i) +* H(i) or H(i)**H is applied to C(1:m,1:i) * NI = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) @@ -231,19 +231,19 @@ AP( II ) = ONE IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i+1:m,1:n) +* H(i) or H(i)**H is applied to C(i+1:m,1:n) * MI = M - I IC = I + 1 ELSE * -* H(i) or H(i)' is applied to C(1:m,i+1:n) +* H(i) or H(i)**H is applied to C(1:m,i+1:n) * NI = N - I JC = I + 1 END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/dgbbrd.f b/SRC/dgbbrd.f index 5cefa7f1..12f0d8f8 100644 --- a/SRC/dgbbrd.f +++ b/SRC/dgbbrd.f @@ -19,20 +19,20 @@ * ======= * * DGBBRD reduces a real general m-by-n band matrix A to upper -* bidiagonal form B by an orthogonal transformation: Q' * A * P = B. +* bidiagonal form B by an orthogonal transformation: Q**T * A * P = B. * -* The routine computes B, and optionally forms Q or P', or computes -* Q'*C for a given matrix C. +* The routine computes B, and optionally forms Q or P**T, or computes +* Q**T*C for a given matrix C. * * Arguments * ========= * * VECT (input) CHARACTER*1 -* Specifies whether or not the matrices Q and P' are to be +* Specifies whether or not the matrices Q and P**T are to be * formed. -* = 'N': do not form Q or P'; +* = 'N': do not form Q or P**T; * = 'Q': form Q only; -* = 'P': form P' only; +* = 'P': form P**T only; * = 'B': form both. * * M (input) INTEGER @@ -85,7 +85,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,NCC) * On entry, an m-by-ncc matrix C. -* On exit, C is overwritten by Q'*C. +* On exit, C is overwritten by Q**T*C. * C is not referenced if NCC = 0. * * LDC (input) INTEGER @@ -157,7 +157,7 @@ RETURN END IF * -* Initialize Q and P' to the unit matrix, if needed +* Initialize Q and P**T to the unit matrix, if needed * IF( WANTQ ) $ CALL DLASET( 'Full', M, M, ZERO, ONE, Q, LDQ ) @@ -334,7 +334,7 @@ * IF( WANTPT ) THEN * -* accumulate product of plane rotations in P' +* accumulate product of plane rotations in P**T * DO 60 J = J1, J2, KB1 CALL DROT( N, PT( J+KUN-1, 1 ), LDPT, diff --git a/SRC/dgbcon.f b/SRC/dgbcon.f index 1e43d4da..7596cf5c 100644 --- a/SRC/dgbcon.f +++ b/SRC/dgbcon.f @@ -179,13 +179,13 @@ $ INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL DLATBS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, $ KL+KU, AB, LDAB, WORK, SCALE, WORK( 2*N+1 ), $ INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**T). * IF( LNOTI ) THEN DO 30 J = N - 1, 1, -1 diff --git a/SRC/dgebd2.f b/SRC/dgebd2.f index df13baaa..5807773b 100644 --- a/SRC/dgebd2.f +++ b/SRC/dgebd2.f @@ -87,7 +87,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in A(i+1:m,i); @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); diff --git a/SRC/dgebrd.f b/SRC/dgebrd.f index eb6b6f5d..737d85c5 100644 --- a/SRC/dgebrd.f +++ b/SRC/dgebrd.f @@ -99,7 +99,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in A(i+1:m,i); @@ -112,7 +112,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); @@ -232,7 +232,7 @@ $ WORK( LDWRKX*NB+1 ), LDWRKY ) * * Update the trailing submatrix A(i+nb:m,i+nb:n), using an update -* of the form A := A - V*Y' - X*U' +* of the form A := A - V*Y**T - X*U**T * CALL DGEMM( 'No transpose', 'Transpose', M-I-NB+1, N-I-NB+1, $ NB, -ONE, A( I+NB, I ), LDA, diff --git a/SRC/dgecon.f b/SRC/dgecon.f index b49a91f6..207ca98e 100644 --- a/SRC/dgecon.f +++ b/SRC/dgecon.f @@ -149,12 +149,12 @@ $ A, LDA, WORK, SU, WORK( 3*N+1 ), INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL DLATRS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, A, $ LDA, WORK, SU, WORK( 3*N+1 ), INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL DLATRS( 'Lower', 'Transpose', 'Unit', NORMIN, N, A, $ LDA, WORK, SL, WORK( 2*N+1 ), INFO ) diff --git a/SRC/dgeev.f b/SRC/dgeev.f index 8f8d0b82..98cae6de 100644 --- a/SRC/dgeev.f +++ b/SRC/dgeev.f @@ -25,8 +25,8 @@ * A * v(j) = lambda(j) * v(j) * where lambda(j) is its eigenvalue. * The left eigenvector u(j) of A satisfies -* u(j)**H * A = lambda(j) * u(j)**H -* where u(j)**H denotes the conjugate transpose of u(j). +* u(j)**T * A = lambda(j) * u(j)**T +* where u(j)**T denotes the transpose of u(j). * * The computed eigenvectors are normalized to have Euclidean norm * equal to 1 and largest component real. diff --git a/SRC/dgeevx.f b/SRC/dgeevx.f index 2f914fa9..0632f0a6 100644 --- a/SRC/dgeevx.f +++ b/SRC/dgeevx.f @@ -35,8 +35,8 @@ * A * v(j) = lambda(j) * v(j) * where lambda(j) is its eigenvalue. * The left eigenvector u(j) of A satisfies -* u(j)**H * A = lambda(j) * u(j)**H -* where u(j)**H denotes the conjugate transpose of u(j). +* u(j)**T * A = lambda(j) * u(j)**T +* where u(j)**T denotes the transpose of u(j). * * The computed eigenvectors are normalized to have Euclidean norm * equal to 1 and largest component real. diff --git a/SRC/dgehd2.f b/SRC/dgehd2.f index 8853657c..e182e5f9 100644 --- a/SRC/dgehd2.f +++ b/SRC/dgehd2.f @@ -16,7 +16,7 @@ * ======= * * DGEHD2 reduces a real general matrix A to upper Hessenberg form H by -* an orthogonal similarity transformation: Q' * A * Q = H . +* an orthogonal similarity transformation: Q**T * A * Q = H . * * Arguments * ========= @@ -63,7 +63,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on diff --git a/SRC/dgehrd.f b/SRC/dgehrd.f index 0cdfdd06..f3dc4505 100644 --- a/SRC/dgehrd.f +++ b/SRC/dgehrd.f @@ -16,7 +16,7 @@ * ======= * * DGEHRD reduces a real general matrix A to upper Hessenberg form H by -* an orthogonal similarity transformation: Q' * A * Q = H . +* an orthogonal similarity transformation: Q**T * A * Q = H . * * Arguments * ========= @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on @@ -223,14 +223,14 @@ IB = MIN( NB, IHI-I ) * * Reduce columns i:i+ib-1 to Hessenberg form, returning the -* matrices V and T of the block reflector H = I - V*T*V' +* matrices V and T of the block reflector H = I - V*T*V**T * which performs the reduction, and also the matrix Y = A*V*T * CALL DLAHR2( IHI, I, IB, A( 1, I ), LDA, TAU( I ), T, LDT, $ WORK, LDWORK ) * * Apply the block reflector H to A(1:ihi,i+ib:ihi) from the -* right, computing A := A - Y * V'. V(i+ib,ib-1) must be set +* right, computing A := A - Y * V**T. V(i+ib,ib-1) must be set * to 1 * EI = A( I+IB, I+IB-1 ) diff --git a/SRC/dgelq2.f b/SRC/dgelq2.f index 823dc16c..8ca127e3 100644 --- a/SRC/dgelq2.f +++ b/SRC/dgelq2.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i,i+1:n), diff --git a/SRC/dgelqf.f b/SRC/dgelqf.f index 6e67d40a..14590518 100644 --- a/SRC/dgelqf.f +++ b/SRC/dgelqf.f @@ -68,7 +68,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i,i+1:n), diff --git a/SRC/dgels.f b/SRC/dgels.f index dc9a92fb..53d3fc6b 100644 --- a/SRC/dgels.f +++ b/SRC/dgels.f @@ -277,7 +277,7 @@ * * Least-Squares Problem min || A * X - B || * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) * CALL DORMQR( 'Left', 'Transpose', M, NRHS, N, A, LDA, $ WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, @@ -359,7 +359,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Q(1:N,:)' * B(1:M,1:NRHS) +* B(1:N,1:NRHS) := Q(1:N,:)**T * B(1:M,1:NRHS) * CALL DORMLQ( 'Left', 'Transpose', N, NRHS, M, A, LDA, $ WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, diff --git a/SRC/dgelsx.f b/SRC/dgelsx.f index e9194c81..da7b0ce8 100644 --- a/SRC/dgelsx.f +++ b/SRC/dgelsx.f @@ -44,8 +44,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**T [ inv(T11)*Q1**T*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * Arguments @@ -267,7 +267,7 @@ * * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) * CALL DORM2R( 'Left', 'Transpose', M, NRHS, MN, A, LDA, WORK( 1 ), $ B, LDB, WORK( 2*MN+1 ), INFO ) @@ -285,7 +285,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**T * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN DO 50 I = 1, RANK diff --git a/SRC/dgelsy.f b/SRC/dgelsy.f index 9b5a7844..4200e4d9 100644 --- a/SRC/dgelsy.f +++ b/SRC/dgelsy.f @@ -42,8 +42,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**T [ inv(T11)*Q1**T*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * This routine is basically identical to the original xGELSX except @@ -325,7 +325,7 @@ * workspace: 2*MN. * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) * CALL DORMQR( 'Left', 'Transpose', M, NRHS, MN, A, LDA, WORK( 1 ), $ B, LDB, WORK( 2*MN+1 ), LWORK-2*MN, INFO ) @@ -344,7 +344,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**T * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN CALL DORMRZ( 'Left', 'Transpose', N, NRHS, RANK, N-RANK, A, diff --git a/SRC/dgeql2.f b/SRC/dgeql2.f index f8037028..4e7e724a 100644 --- a/SRC/dgeql2.f +++ b/SRC/dgeql2.f @@ -59,7 +59,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in diff --git a/SRC/dgeqlf.f b/SRC/dgeqlf.f index 989468b6..9c5edc1c 100644 --- a/SRC/dgeqlf.f +++ b/SRC/dgeqlf.f @@ -71,7 +71,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in @@ -186,7 +186,7 @@ CALL DLARFT( 'Backward', 'Columnwise', M-K+I+IB-1, IB, $ A( 1, N-K+I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i+ib-1,1:n-k+i-1) from the left +* Apply H**T to A(1:m-k+i+ib-1,1:n-k+i-1) from the left * CALL DLARFB( 'Left', 'Transpose', 'Backward', $ 'Columnwise', M-K+I+IB-1, N-K+I-1, IB, diff --git a/SRC/dgeqp3.f b/SRC/dgeqp3.f index aa471606..fa65ffe5 100644 --- a/SRC/dgeqp3.f +++ b/SRC/dgeqp3.f @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real/complex scalar, and v is a real/complex vector * with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in diff --git a/SRC/dgeqpf.f b/SRC/dgeqpf.f index e704d43e..3809cf41 100644 --- a/SRC/dgeqpf.f +++ b/SRC/dgeqpf.f @@ -66,7 +66,7 @@ * * Each H(i) has the form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i). diff --git a/SRC/dgeqr2.f b/SRC/dgeqr2.f index f21bb799..aa18f8f9 100644 --- a/SRC/dgeqr2.f +++ b/SRC/dgeqr2.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), diff --git a/SRC/dgeqr2p.f b/SRC/dgeqr2p.f index b1bd36c9..767ea3a0 100644 --- a/SRC/dgeqr2p.f +++ b/SRC/dgeqr2p.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), diff --git a/SRC/dgeqrf.f b/SRC/dgeqrf.f index c6bd63fc..3d1392de 100644 --- a/SRC/dgeqrf.f +++ b/SRC/dgeqrf.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL DLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**T to A(i:m,i+ib:n) from the left * CALL DLARFB( 'Left', 'Transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/dgeqrfp.f b/SRC/dgeqrfp.f index 862de903..1960972f 100644 --- a/SRC/dgeqrfp.f +++ b/SRC/dgeqrfp.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL DLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**T to A(i:m,i+ib:n) from the left * CALL DLARFB( 'Left', 'Transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/dgerq2.f b/SRC/dgerq2.f index d7917508..aff63eec 100644 --- a/SRC/dgerq2.f +++ b/SRC/dgerq2.f @@ -59,7 +59,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in diff --git a/SRC/dgerqf.f b/SRC/dgerqf.f index 062638a9..67f1192c 100644 --- a/SRC/dgerqf.f +++ b/SRC/dgerqf.f @@ -71,7 +71,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in diff --git a/SRC/dgetrs.f b/SRC/dgetrs.f index 927d25cb..89e13dc5 100644 --- a/SRC/dgetrs.f +++ b/SRC/dgetrs.f @@ -18,7 +18,7 @@ * ======= * * DGETRS solves a system of linear equations -* A * X = B or A' * X = B +* A * X = B or A**T * X = B * with a general N-by-N matrix A using the LU factorization computed * by DGETRF. * @@ -28,8 +28,8 @@ * TRANS (input) 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) +* = 'T': A**T* X = B (Transpose) +* = 'C': A**T* X = B (Conjugate transpose = Transpose) * * N (input) INTEGER * The order of the matrix A. N >= 0. @@ -126,14 +126,14 @@ $ NRHS, ONE, A, LDA, B, LDB ) ELSE * -* Solve A' * X = B. +* Solve A**T * X = B. * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL DTRSM( 'Left', 'Upper', 'Transpose', 'Non-unit', N, NRHS, $ ONE, A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, overwriting B with X. * CALL DTRSM( 'Left', 'Lower', 'Transpose', 'Unit', N, NRHS, ONE, $ A, LDA, B, LDB ) diff --git a/SRC/dggglm.f b/SRC/dggglm.f index 12a8208b..b75e9af6 100644 --- a/SRC/dggglm.f +++ b/SRC/dggglm.f @@ -186,9 +186,9 @@ * * Compute the GQR factorization of matrices A and B: * -* Q'*A = ( R11 ) M, Q'*B*Z' = ( T11 T12 ) M -* ( 0 ) N-M ( 0 T22 ) N-M -* M M+P-N N-M +* Q**T*A = ( R11 ) M, Q**T*B*Z**T = ( T11 T12 ) M +* ( 0 ) N-M ( 0 T22 ) N-M +* M M+P-N N-M * * where R11 and T22 are upper triangular, and Q and Z are * orthogonal. @@ -197,8 +197,8 @@ $ WORK( M+NP+1 ), LWORK-M-NP, INFO ) LOPT = WORK( M+NP+1 ) * -* Update left-hand-side vector d = Q'*d = ( d1 ) M -* ( d2 ) N-M +* Update left-hand-side vector d = Q**T*d = ( d1 ) M +* ( d2 ) N-M * CALL DORMQR( 'Left', 'Transpose', N, 1, M, A, LDA, WORK, D, $ MAX( 1, N ), WORK( M+NP+1 ), LWORK-M-NP, INFO ) @@ -245,7 +245,7 @@ CALL DCOPY( M, D, 1, X, 1 ) END IF * -* Backward transformation y = Z'*y +* Backward transformation y = Z**T *y * CALL DORMRQ( 'Left', 'Transpose', P, 1, NP, $ B( MAX( 1, N-P+1 ), 1 ), LDB, WORK( M+1 ), Y, diff --git a/SRC/dgglse.f b/SRC/dgglse.f index 8b80ddeb..d10c75ad 100644 --- a/SRC/dgglse.f +++ b/SRC/dgglse.f @@ -183,9 +183,9 @@ * * Compute the GRQ factorization of matrices B and A: * -* B*Q' = ( 0 T12 ) P Z'*A*Q' = ( R11 R12 ) N-P -* N-P P ( 0 R22 ) M+P-N -* N-P P +* B*Q**T = ( 0 T12 ) P Z**T*A*Q**T = ( R11 R12 ) N-P +* N-P P ( 0 R22 ) M+P-N +* N-P P * * where T12 and R11 are upper triangular, and Q and Z are * orthogonal. @@ -194,8 +194,8 @@ $ WORK( P+MN+1 ), LWORK-P-MN, INFO ) LOPT = WORK( P+MN+1 ) * -* Update c = Z'*c = ( c1 ) N-P -* ( c2 ) M+P-N +* Update c = Z**T *c = ( c1 ) N-P +* ( c2 ) M+P-N * CALL DORMQR( 'Left', 'Transpose', M, 1, MN, A, LDA, WORK( P+1 ), $ C, MAX( 1, M ), WORK( P+MN+1 ), LWORK-P-MN, INFO ) @@ -254,7 +254,7 @@ CALL DAXPY( NR, -ONE, D, 1, C( N-P+1 ), 1 ) END IF * -* Backward transformation x = Q'*x +* Backward transformation x = Q**T*x * CALL DORMRQ( 'Left', 'Transpose', N, 1, P, B, LDB, WORK( 1 ), X, $ N, WORK( P+MN+1 ), LWORK-P-MN, INFO ) diff --git a/SRC/dggqrf.f b/SRC/dggqrf.f index edcdb6a7..c4660326 100644 --- a/SRC/dggqrf.f +++ b/SRC/dggqrf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GQR factorization * of A and B implicitly gives the QR factorization of inv(B)*A: * -* inv(B)*A = Z'*(inv(T)*R) +* inv(B)*A = Z**T*(inv(T)*R) * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**T denotes the * transpose of the matrix Z. * * Arguments @@ -119,7 +119,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**T * * where taua is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -133,7 +133,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**T * * where taub is a real scalar, and v is a real vector with * v(p-k+i+1:p) = 0 and v(p-k+i) = 1; v(1:p-k+i-1) is stored on exit in @@ -194,7 +194,7 @@ CALL DGEQRF( N, M, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := Q'*B. +* Update B := Q**T*B. * CALL DORMQR( 'Left', 'Transpose', N, P, MIN( N, M ), A, LDA, TAUA, $ B, LDB, WORK, LWORK, INFO ) diff --git a/SRC/dggrqf.f b/SRC/dggrqf.f index da8ce675..56d1fc97 100644 --- a/SRC/dggrqf.f +++ b/SRC/dggrqf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GRQ factorization * of A and B implicitly gives the RQ factorization of A*inv(B): * -* A*inv(B) = (R*inv(T))*Z' +* A*inv(B) = (R*inv(T))*Z**T * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**T denotes the * transpose of the matrix Z. * * Arguments @@ -118,7 +118,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**T * * where taua is a real scalar, and v is a real vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in @@ -132,7 +132,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**T * * where taub is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:p) is stored on exit in B(i+1:p,i), @@ -193,7 +193,7 @@ CALL DGERQF( M, N, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := B*Q' +* Update B := B*Q**T * CALL DORMRQ( 'Right', 'Transpose', P, N, MIN( M, N ), $ A( MAX( 1, M-N+1 ), 1 ), LDA, TAUA, B, LDB, WORK, diff --git a/SRC/dggsvd.f b/SRC/dggsvd.f index c03c4ca4..9b5bb017 100644 --- a/SRC/dggsvd.f +++ b/SRC/dggsvd.f @@ -24,10 +24,10 @@ * DGGSVD computes the generalized singular value decomposition (GSVD) * of an M-by-N real matrix A and P-by-N real matrix B: * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ) +* U**T*A*Q = D1*( 0 R ), V**T*B*Q = D2*( 0 R ) * -* where U, V and Q are orthogonal matrices, and Z' is the transpose -* of Z. Let K+L = the effective numerical rank of the matrix (A',B')', +* where U, V and Q are orthogonal matrices. +* Let K+L = the effective numerical rank of the matrix (A**T,B**T)**T, * then R is a K+L-by-K+L nonsingular upper triangular matrix, D1 and * D2 are M-by-(K+L) and P-by-(K+L) "diagonal" matrices and of the * following structures, respectively: @@ -86,13 +86,13 @@ * * In particular, if B is an N-by-N nonsingular matrix, then the GSVD of * A and B implicitly gives the SVD of A*inv(B): -* A*inv(B) = U*(D1*inv(D2))*V'. -* If ( A',B')' has orthonormal columns, then the GSVD of A and B is +* A*inv(B) = U*(D1*inv(D2))*V**T. +* If ( A**T,B**T)**T has orthonormal columns, then the GSVD of A and B is * also equal to the CS decomposition of A and B. Furthermore, the GSVD * can be used to derive the solution of the eigenvalue problem: -* A'*A x = lambda* B'*B x. +* A**T*A x = lambda* B**T*B x. * In some literature, the GSVD of A and B is presented in the form -* U'*A*X = ( 0 D1 ), V'*B*X = ( 0 D2 ) +* U**T*A*X = ( 0 D1 ), V**T*B*X = ( 0 D2 ) * where U and V are orthogonal and X is nonsingular, D1 and D2 are * ``diagonal''. The former GSVD form can be converted to the latter * form by taking the nonsingular matrix X as @@ -128,7 +128,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in the Purpose section. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A',B')**T. * * A (input/output) DOUBLE PRECISION array, dimension (LDA,N) * On entry, the M-by-N matrix A. @@ -209,7 +209,7 @@ * TOLA DOUBLE PRECISION * TOLB DOUBLE PRECISION * TOLA and TOLB are the thresholds to determine the effective -* rank of (A',B')'. Generally, they are set to +* rank of (A',B')**T. Generally, they are set to * TOLA = MAX(M,N)*norm(A)*MAZHEPS, * TOLB = MAX(P,N)*norm(B)*MAZHEPS. * The size of TOLA and TOLB may affect the size of backward diff --git a/SRC/dggsvp.f b/SRC/dggsvp.f index 89f1e098..ce717675 100644 --- a/SRC/dggsvp.f +++ b/SRC/dggsvp.f @@ -23,24 +23,23 @@ * * DGGSVP computes orthogonal matrices U, V and Q such that * -* N-K-L K L -* U'*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; -* L ( 0 0 A23 ) -* M-K-L ( 0 0 0 ) +* N-K-L K L +* U**T*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; +* L ( 0 0 A23 ) +* M-K-L ( 0 0 0 ) * * N-K-L K L * = K ( 0 A12 A13 ) if M-K-L < 0; * M-K ( 0 0 A23 ) * -* N-K-L K L -* V'*B*Q = L ( 0 0 B13 ) -* P-L ( 0 0 0 ) +* N-K-L K L +* V**T*B*Q = L ( 0 0 B13 ) +* P-L ( 0 0 0 ) * * where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular * upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0, * otherwise A23 is (M-K)-by-L upper trapezoidal. K+L = the effective -* numerical rank of the (M+P)-by-N matrix (A',B')'. Z' denotes the -* transpose of Z. +* numerical rank of the (M+P)-by-N matrix (A**T,B**T)**T. * * This decomposition is the preprocessing step for computing the * Generalized Singular Value Decomposition (GSVD), see subroutine @@ -99,8 +98,8 @@ * K (output) INTEGER * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks -* described in Purpose. -* K + L = effective numerical rank of (A',B')'. +* described in Purpose section. +* K + L = effective numerical rank of (A**T,B**T)**T. * * U (output) DOUBLE PRECISION array, dimension (LDU,M) * If JOBU = 'U', U contains the orthogonal matrix U. @@ -258,14 +257,14 @@ * CALL DGERQ2( L, N, B, LDB, TAU, WORK, INFO ) * -* Update A := A*Z' +* Update A := A*Z**T * CALL DORMR2( 'Right', 'Transpose', M, N, L, B, LDB, TAU, A, $ LDA, WORK, INFO ) * IF( WANTQ ) THEN * -* Update Q := Q*Z' +* Update Q := Q*Z**T * CALL DORMR2( 'Right', 'Transpose', N, N, L, B, LDB, TAU, Q, $ LDQ, WORK, INFO ) @@ -287,7 +286,7 @@ * * then the following does the complete QR decomposition of A11: * -* A11 = U*( 0 T12 )*P1' +* A11 = U*( 0 T12 )*P1**T * ( 0 0 ) * DO 70 I = 1, N - L @@ -303,7 +302,7 @@ $ K = K + 1 80 CONTINUE * -* Update A12 := U'*A12, where A12 = A( 1:M, N-L+1:N ) +* Update A12 := U**T*A12, where A12 = A( 1:M, N-L+1:N ) * CALL DORM2R( 'Left', 'Transpose', M, L, MIN( M, N-L ), A, LDA, $ TAU, A( 1, N-L+1 ), LDA, WORK, INFO ) @@ -345,7 +344,7 @@ * IF( WANTQ ) THEN * -* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1' +* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1**T * CALL DORMR2( 'Right', 'Transpose', N, N-L, K, A, LDA, TAU, $ Q, LDQ, WORK, INFO ) diff --git a/SRC/dgtcon.f b/SRC/dgtcon.f index 330a0c95..f90190ac 100644 --- a/SRC/dgtcon.f +++ b/SRC/dgtcon.f @@ -151,7 +151,7 @@ $ WORK, N, INFO ) ELSE * -* Multiply by inv(L')*inv(U'). +* Multiply by inv(L**T)*inv(U**T). * CALL DGTTRS( 'Transpose', N, 1, DL, D, DU, DU2, IPIV, WORK, $ N, INFO ) diff --git a/SRC/dgtsv.f b/SRC/dgtsv.f index ab6a9f5d..0d81a248 100644 --- a/SRC/dgtsv.f +++ b/SRC/dgtsv.f @@ -22,7 +22,7 @@ * where A is an n by n tridiagonal matrix, by Gaussian elimination with * partial pivoting. * -* Note that the equation A'*X = B may be solved by interchanging the +* Note that the equation A**T*X = B may be solved by interchanging the * order of the arguments DU and DL. * * Arguments diff --git a/SRC/dla_gbamv.f b/SRC/dla_gbamv.f index c0f246ab..85dc22d0 100644 --- a/SRC/dla_gbamv.f +++ b/SRC/dla_gbamv.f @@ -25,7 +25,7 @@ * DLA_GBAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -47,43 +47,43 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* KL (input) INTEGER +* KL (input) INTEGER * The number of subdiagonals within the band of A. KL >= 0. * -* KU (input) INTEGER +* KU (input) INTEGER * The number of superdiagonals within the band of A. KU >= 0. * -* ALPHA - DOUBLE PRECISION +* ALPHA (input) DOUBLE PRECISION * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ) -* Before entry, the leading m by n part of the array A must +* AB (input) DOUBLE PRECISION array of DIMENSION ( LDAB, n ) +* Before entry, the leading m by n part of the array AB must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER -* On entry, LDA specifies the first dimension of A as declared -* in the calling (sub) program. LDA must be at least +* LDAB (input) INTEGER +* On entry, LDA specifies the first dimension of AB as declared +* in the calling (sub) program. LDAB must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) DOUBLE PRECISION array, dimension +* X (input) DOUBLE PRECISION array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -91,17 +91,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION +* BETA (input) DOUBLE PRECISION * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y (input/output) DOUBLE PRECISION array, dimension +* Y (input/output) DOUBLE PRECISION array, dimension * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. @@ -109,7 +109,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. @@ -118,7 +118,7 @@ * Level 2 Blas routine. * * ===================================================================== - +* * .. Parameters .. DOUBLE PRECISION ONE, ZERO PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 ) diff --git a/SRC/dla_geamv.f b/SRC/dla_geamv.f index da11197f..37482b4d 100644 --- a/SRC/dla_geamv.f +++ b/SRC/dla_geamv.f @@ -25,7 +25,7 @@ * DLA_GEAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -47,37 +47,37 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* ALPHA - DOUBLE PRECISION +* ALPHA (input) DOUBLE PRECISION * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ) +* A (input) DOUBLE PRECISION array of DIMENSION ( LDA, n ) * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER +* LDA (input) INTEGER * On entry, LDA specifies the first dimension of A as declared * in the calling (sub) program. LDA must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) DOUBLE PRECISION array, dimension +* X (input) DOUBLE PRECISION array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -85,17 +85,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION +* BETA (input) DOUBLE PRECISION * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y - DOUBLE PRECISION +* Y (input/output) DOUBLE PRECISION * Array of DIMENSION at least * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least @@ -104,7 +104,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/dlabrd.f b/SRC/dlabrd.f index f48ee892..1793c992 100644 --- a/SRC/dlabrd.f +++ b/SRC/dlabrd.f @@ -19,7 +19,7 @@ * * DLABRD reduces the first NB rows and columns of a real general * m by n matrix A to upper or lower bidiagonal form by an orthogonal -* transformation Q' * A * P, and returns the matrices X and Y which +* transformation Q**T * A * P, and returns the matrices X and Y which * are needed to apply the transformation to the unreduced part of A. * * If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower @@ -81,14 +81,14 @@ * of A. * * LDX (input) INTEGER -* The leading dimension of the array X. LDX >= M. +* The leading dimension of the array X. LDX >= max(1,M). * * Y (output) DOUBLE PRECISION array, dimension (LDY,NB) * The n-by-nb matrix Y required to update the unreduced part * of A. * * LDY (input) INTEGER -* The leading dimension of the array Y. LDY >= N. +* The leading dimension of the array Y. LDY >= max(1,N). * * Further Details * =============== @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors. * @@ -113,9 +113,9 @@ * A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i). * * The elements of the vectors v and u together form the m-by-nb matrix -* V and the nb-by-n matrix U' which are needed, with X and Y, to apply +* V and the nb-by-n matrix U**T which are needed, with X and Y, to apply * the transformation to the unreduced part of the matrix, using a block -* update of the form: A := A - V*Y' - X*U'. +* update of the form: A := A - V*Y**T - X*U**T. * * The contents of A on exit are illustrated by the following examples * with nb = 2: diff --git a/SRC/dlaed7.f b/SRC/dlaed7.f index 72a52a43..015942bc 100644 --- a/SRC/dlaed7.f +++ b/SRC/dlaed7.f @@ -31,9 +31,9 @@ * the case in which all eigenvalues and eigenvectors of a symmetric * tridiagonal matrix are desired. * -* T = Q(in) ( D(in) + RHO * Z*Z' ) Q'(in) = Q(out) * D(out) * Q'(out) +* T = Q(in) ( D(in) + RHO * Z*Z**T ) Q**T(in) = Q(out) * D(out) * Q**T(out) * -* where Z = Q'u, u is a vector of length N with ones in the +* where Z = Q**Tu, u is a vector of length N with ones in the * CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. * * The eigenvectors of the original matrix are stored in Q, and the diff --git a/SRC/dlaein.f b/SRC/dlaein.f index 892df313..991b7f23 100644 --- a/SRC/dlaein.f +++ b/SRC/dlaein.f @@ -232,7 +232,7 @@ DO 110 ITS = 1, N * * Solve U*x = scale*v for a right eigenvector -* or U'*x = scale*v for a left eigenvector, +* or U**T*x = scale*v for a left eigenvector, * overwriting x on v. * CALL DLATRS( 'Upper', TRANS, 'Nonunit', NORMIN, N, B, LDB, diff --git a/SRC/dlags2.f b/SRC/dlags2.f index 2e1ccf00..d8541123 100644 --- a/SRC/dlags2.f +++ b/SRC/dlags2.f @@ -18,19 +18,19 @@ * DLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such * that if ( UPPER ) then * -* U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) -* ( 0 A3 ) ( x x ) +* U**T *A*Q = U**T *( A1 A2 )*Q = ( x 0 ) +* ( 0 A3 ) ( x x ) * and -* V'*B*Q = V'*( B1 B2 )*Q = ( x 0 ) -* ( 0 B3 ) ( x x ) +* V**T*B*Q = V**T *( B1 B2 )*Q = ( x 0 ) +* ( 0 B3 ) ( x x ) * * or if ( .NOT.UPPER ) then * -* U'*A*Q = U'*( A1 0 )*Q = ( x x ) -* ( A2 A3 ) ( 0 x ) +* U**T *A*Q = U**T *( A1 0 )*Q = ( x x ) +* ( A2 A3 ) ( 0 x ) * and -* V'*B*Q = V'*( B1 0 )*Q = ( x x ) -* ( B2 B3 ) ( 0 x ) +* V**T*B*Q = V**T*( B1 0 )*Q = ( x x ) +* ( B2 B3 ) ( 0 x ) * * The rows of the transformed A and B are parallel, where * @@ -112,8 +112,8 @@ IF( ABS( CSL ).GE.ABS( SNL ) .OR. ABS( CSR ).GE.ABS( SNR ) ) $ THEN * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**T *A and V**T *B, +* and (1,2) element of |U|**T *|A| and |V|**T *|B|. * UA11R = CSL*A1 UA12 = CSL*A2 + SNL*A3 @@ -124,7 +124,7 @@ AUA12 = ABS( CSL )*ABS( A2 ) + ABS( SNL )*ABS( A3 ) AVB12 = ABS( CSR )*ABS( B2 ) + ABS( SNR )*ABS( B3 ) * -* zero (1,2) elements of U'*A and V'*B +* zero (1,2) elements of U**T *A and V**T *B * IF( ( ABS( UA11R )+ABS( UA12 ) ).NE.ZERO ) THEN IF( AUA12 / ( ABS( UA11R )+ABS( UA12 ) ).LE.AVB12 / @@ -144,8 +144,8 @@ * ELSE * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**T *A and V**T *B, +* and (2,2) element of |U|**T *|A| and |V|**T *|B|. * UA21 = -SNL*A1 UA22 = -SNL*A2 + CSL*A3 @@ -156,7 +156,7 @@ AUA22 = ABS( SNL )*ABS( A2 ) + ABS( CSL )*ABS( A3 ) AVB22 = ABS( SNR )*ABS( B2 ) + ABS( CSR )*ABS( B3 ) * -* zero (2,2) elements of U'*A and V'*B, and then swap. +* zero (2,2) elements of U**T*A and V**T*B, and then swap. * IF( ( ABS( UA21 )+ABS( UA22 ) ).NE.ZERO ) THEN IF( AUA22 / ( ABS( UA21 )+ABS( UA22 ) ).LE.AVB22 / @@ -197,8 +197,8 @@ IF( ABS( CSR ).GE.ABS( SNR ) .OR. ABS( CSL ).GE.ABS( SNL ) ) $ THEN * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**T *A and V**T *B, +* and (2,1) element of |U|**T *|A| and |V|**T *|B|. * UA21 = -SNR*A1 + CSR*A2 UA22R = CSR*A3 @@ -209,7 +209,7 @@ AUA21 = ABS( SNR )*ABS( A1 ) + ABS( CSR )*ABS( A2 ) AVB21 = ABS( SNL )*ABS( B1 ) + ABS( CSL )*ABS( B2 ) * -* zero (2,1) elements of U'*A and V'*B. +* zero (2,1) elements of U**T *A and V**T *B. * IF( ( ABS( UA21 )+ABS( UA22R ) ).NE.ZERO ) THEN IF( AUA21 / ( ABS( UA21 )+ABS( UA22R ) ).LE.AVB21 / @@ -229,8 +229,8 @@ * ELSE * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**T *A and V**T *B, +* and (1,1) element of |U|**T *|A| and |V|**T *|B|. * UA11 = CSR*A1 + SNR*A2 UA12 = SNR*A3 @@ -241,7 +241,7 @@ AUA11 = ABS( CSR )*ABS( A1 ) + ABS( SNR )*ABS( A2 ) AVB11 = ABS( CSL )*ABS( B1 ) + ABS( SNL )*ABS( B2 ) * -* zero (1,1) elements of U'*A and V'*B, and then swap. +* zero (1,1) elements of U**T*A and V**T*B, and then swap. * IF( ( ABS( UA11 )+ABS( UA12 ) ).NE.ZERO ) THEN IF( AUA11 / ( ABS( UA11 )+ABS( UA12 ) ).LE.AVB11 / diff --git a/SRC/dlagtm.f b/SRC/dlagtm.f index 5c8ee6e8..4699e194 100644 --- a/SRC/dlagtm.f +++ b/SRC/dlagtm.f @@ -128,7 +128,7 @@ 60 CONTINUE ELSE * -* Compute B := B + A'*X +* Compute B := B + A**T*X * DO 80 J = 1, NRHS IF( N.EQ.1 ) THEN @@ -166,7 +166,7 @@ 100 CONTINUE ELSE * -* Compute B := B - A'*X +* Compute B := B - A**T*X * DO 120 J = 1, NRHS IF( N.EQ.1 ) THEN diff --git a/SRC/dlagts.f b/SRC/dlagts.f index be33157b..c31c7c5d 100644 --- a/SRC/dlagts.f +++ b/SRC/dlagts.f @@ -19,7 +19,7 @@ * * DLAGTS may be used to solve one of the systems of equations * -* (T - lambda*I)*x = y or (T - lambda*I)'*x = y, +* (T - lambda*I)*x = y or (T - lambda*I)**T*x = y, * * where T is an n by n tridiagonal matrix, for x, following the * factorization of (T - lambda*I) as @@ -42,9 +42,9 @@ * and, if overflow would otherwise occur, the diagonal * elements of U are to be perturbed. See argument TOL * below. -* = 2: The equations (T - lambda*I)'x = y are to be solved, +* = 2: The equations (T - lambda*I)**Tx = y are to be solved, * but diagonal elements of U are not to be perturbed. -* = -2: The equations (T - lambda*I)'x = y are to be solved +* = -2: The equations (T - lambda*I)**Tx = y are to be solved * and, if overflow would otherwise occur, the diagonal * elements of U are to be perturbed. See argument TOL * below. diff --git a/SRC/dlahr2.f b/SRC/dlahr2.f index c5363d4a..87bf4220 100644 --- a/SRC/dlahr2.f +++ b/SRC/dlahr2.f @@ -19,8 +19,8 @@ * DLAHR2 reduces the first NB columns of A real general n-BY-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by an orthogonal similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**T * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**T, and also the matrix Y = A * V * T. * * This is an auxiliary routine called by DGEHRD. * @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -84,7 +84,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**T) * (A - Y*V**T). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -144,12 +144,12 @@ * * Update A(K+1:N,I) * -* Update I-th column of A - Y * V' +* Update I-th column of A - Y * V**T * CALL DGEMV( 'NO TRANSPOSE', N-K, I-1, -ONE, Y(K+1,1), LDY, $ A( K+I-1, 1 ), LDA, ONE, A( K+1, I ), 1 ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T' * V**T to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -164,13 +164,13 @@ $ I-1, A( K+1, 1 ), $ LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**T * b2 * CALL DGEMV( 'Transpose', N-K-I+1, I-1, $ ONE, A( K+I, 1 ), $ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 ) * -* w := T'*w +* w := T**T * w * CALL DTRMV( 'Upper', 'Transpose', 'NON-UNIT', $ I-1, T, LDT, diff --git a/SRC/dlahrd.f b/SRC/dlahrd.f index 2e46e2fb..7fd4736b 100644 --- a/SRC/dlahrd.f +++ b/SRC/dlahrd.f @@ -19,8 +19,8 @@ * DLAHRD reduces the first NB columns of a real general n-by-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by an orthogonal similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**T * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**T, and also the matrix Y = A * V * T. * * This is an OBSOLETE auxiliary routine. * This routine will be 'deprecated' in a future release. @@ -76,7 +76,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -85,7 +85,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**T) * (A - Y*V**T). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -130,12 +130,12 @@ * * Update A(1:n,i) * -* Compute i-th column of A - Y * V' +* Compute i-th column of A - Y * V**T * CALL DGEMV( 'No transpose', N, I-1, -ONE, Y, LDY, $ A( K+I-1, 1 ), LDA, ONE, A( 1, I ), 1 ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T**T * V**T to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -143,18 +143,18 @@ * * where V1 is unit lower triangular * -* w := V1' * b1 +* w := V1**T * b1 * CALL DCOPY( I-1, A( K+1, I ), 1, T( 1, NB ), 1 ) CALL DTRMV( 'Lower', 'Transpose', 'Unit', I-1, A( K+1, 1 ), $ LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**T *b2 * CALL DGEMV( 'Transpose', N-K-I+1, I-1, ONE, A( K+I, 1 ), $ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 ) * -* w := T'*w +* w := T**T *w * CALL DTRMV( 'Upper', 'Transpose', 'Non-unit', I-1, T, LDT, $ T( 1, NB ), 1 ) diff --git a/SRC/dlaic1.f b/SRC/dlaic1.f index bcd4bd2e..b62a69d6 100644 --- a/SRC/dlaic1.f +++ b/SRC/dlaic1.f @@ -40,7 +40,7 @@ * diag(sest*sest, 0) + [alpha gamma] * [ alpha ] * [ gamma ] * -* where alpha = x'*w. +* where alpha = x**T*w. * * Arguments * ========= diff --git a/SRC/dlaqp2.f b/SRC/dlaqp2.f index eac307a4..2a677559 100644 --- a/SRC/dlaqp2.f +++ b/SRC/dlaqp2.f @@ -133,7 +133,7 @@ * IF( I.LE.N ) THEN * -* Apply H(i)' to A(offset+i:m,i+1:n) from the left. +* Apply H(i)**T to A(offset+i:m,i+1:n) from the left. * AII = A( OFFPI, I ) A( OFFPI, I ) = ONE diff --git a/SRC/dlaqps.f b/SRC/dlaqps.f index e1ba1221..150b0812 100644 --- a/SRC/dlaqps.f +++ b/SRC/dlaqps.f @@ -142,7 +142,7 @@ END IF * * Apply previous Householder reflectors to column K: -* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)'. +* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)**T. * IF( K.GT.1 ) THEN CALL DGEMV( 'No transpose', M-RK+1, K-1, -ONE, A( RK, 1 ), @@ -162,7 +162,7 @@ * * Compute Kth column of F: * -* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)'*A(RK:M,K). +* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)**T*A(RK:M,K). * IF( K.LT.N ) THEN CALL DGEMV( 'Transpose', M-RK+1, N-K, TAU( K ), @@ -177,7 +177,7 @@ 20 CONTINUE * * Incremental updating of F: -* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)' +* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)**T * *A(RK:M,K). * IF( K.GT.1 ) THEN @@ -189,7 +189,7 @@ END IF * * Update the current row of A: -* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)'. +* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)**T. * IF( K.LT.N ) THEN CALL DGEMV( 'No transpose', N-K, K, -ONE, F( K+1, 1 ), LDF, @@ -229,7 +229,7 @@ * * Apply the block reflector to the rest of the matrix: * A(OFFSET+KB+1:M,KB+1:N) := A(OFFSET+KB+1:M,KB+1:N) - -* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)'. +* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)**T. * IF( KB.LT.MIN( N, M-OFFSET ) ) THEN CALL DGEMM( 'No transpose', 'Transpose', M-RK, N-KB, KB, -ONE, diff --git a/SRC/dlaqsb.f b/SRC/dlaqsb.f index a57db191..84eb9f41 100644 --- a/SRC/dlaqsb.f +++ b/SRC/dlaqsb.f @@ -45,7 +45,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**T*U or A = L*L**T of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER diff --git a/SRC/dlaqtr.f b/SRC/dlaqtr.f index e56a1c23..18c42f46 100644 --- a/SRC/dlaqtr.f +++ b/SRC/dlaqtr.f @@ -51,7 +51,7 @@ * LTRAN (input) LOGICAL * On entry, LTRAN specifies the option of conjugate transpose: * = .FALSE., op(T+i*B) = T+i*B, -* = .TRUE., op(T+i*B) = (T+i*B)'. +* = .TRUE., op(T+i*B) = (T+i*B)**T. * * LREAL (input) LOGICAL * On entry, LREAL specifies the input matrix structure: @@ -532,7 +532,7 @@ * ELSE * -* Solve (T + iB)'*(p+iq) = c+id +* Solve (T + iB)**T*(p+iq) = c+id * JNEXT = 1 DO 80 J = 1, N diff --git a/SRC/dlar1v.f b/SRC/dlar1v.f index 7dfaabfe..43d6f5e8 100644 --- a/SRC/dlar1v.f +++ b/SRC/dlar1v.f @@ -25,14 +25,14 @@ * * DLAR1V computes the (scaled) r-th column of the inverse of * the sumbmatrix in rows B1 through BN of the tridiagonal matrix -* L D L^T - sigma I. When sigma is close to an eigenvalue, the +* L D L**T - sigma I. When sigma is close to an eigenvalue, the * computed vector is an accurate eigenvector. Usually, r corresponds * to the index where the eigenvector is largest in magnitude. * The following steps accomplish this computation : -* (a) Stationary qd transform, L D L^T - sigma I = L(+) D(+) L(+)^T, -* (b) Progressive qd transform, L D L^T - sigma I = U(-) D(-) U(-)^T, +* (a) Stationary qd transform, L D L**T - sigma I = L(+) D(+) L(+)**T, +* (b) Progressive qd transform, L D L**T - sigma I = U(-) D(-) U(-)**T, * (c) Computation of the diagonal elements of the inverse of -* L D L^T - sigma I by combining the above transforms, and choosing +* L D L**T - sigma I by combining the above transforms, and choosing * r as the index where the diagonal of the inverse is (one of the) * largest in magnitude. * (d) Computation of the (scaled) r-th column of the inverse using the @@ -43,18 +43,18 @@ * ========= * * N (input) INTEGER -* The order of the matrix L D L^T. +* The order of the matrix L D L**T. * * B1 (input) INTEGER -* First index of the submatrix of L D L^T. +* First index of the submatrix of L D L**T. * * BN (input) INTEGER -* Last index of the submatrix of L D L^T. +* Last index of the submatrix of L D L**T. * * LAMBDA (input) DOUBLE PRECISION * The shift. In order to compute an accurate eigenvector, * LAMBDA should be a good approximation to an eigenvalue -* of L D L^T. +* of L D L**T. * * L (input) DOUBLE PRECISION array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal matrix @@ -86,20 +86,20 @@ * * NEGCNT (output) INTEGER * If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin -* in the matrix factorization L D L^T, and NEGCNT = -1 otherwise. +* in the matrix factorization L D L**T, and NEGCNT = -1 otherwise. * * ZTZ (output) DOUBLE PRECISION * The square of the 2-norm of Z. * * MINGMA (output) DOUBLE PRECISION * The reciprocal of the largest (in magnitude) diagonal -* element of the inverse of L D L^T - sigma I. +* element of the inverse of L D L**T - sigma I. * * R (input/output) INTEGER * The twist index for the twisted factorization used to * compute Z. * On input, 0 <= R <= N. If R is input as 0, R is set to -* the index where (L D L^T - sigma I)^{-1} is largest +* the index where (L D L**T - sigma I)^{-1} is largest * in magnitude. If 1 <= R <= N, R is unchanged. * On output, R contains the twist index used to compute Z. * Ideally, R designates the position of the maximum entry in the diff --git a/SRC/dlarf.f b/SRC/dlarf.f index 2223d71b..ebc6877d 100644 --- a/SRC/dlarf.f +++ b/SRC/dlarf.f @@ -21,7 +21,7 @@ * DLARF applies a real elementary reflector H to a real m by n matrix * C, from either the left or the right. H is represented in the form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar and v is a real vector. * @@ -121,12 +121,12 @@ * IF( LASTV.GT.0 ) THEN * -* w(1:lastc,1) := C(1:lastv,1:lastc)' * v(1:lastv,1) +* w(1:lastc,1) := C(1:lastv,1:lastc)**T * v(1:lastv,1) * CALL DGEMV( 'Transpose', LASTV, LASTC, ONE, C, LDC, V, INCV, $ ZERO, WORK, 1 ) * -* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)' +* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)**T * CALL DGER( LASTV, LASTC, -TAU, V, INCV, WORK, 1, C, LDC ) END IF @@ -141,7 +141,7 @@ CALL DGEMV( 'No transpose', LASTC, LASTV, ONE, C, LDC, $ V, INCV, ZERO, WORK, 1 ) * -* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)' +* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)**T * CALL DGER( LASTC, LASTV, -TAU, WORK, 1, V, INCV, C, LDC ) END IF diff --git a/SRC/dlarfb.f b/SRC/dlarfb.f index 3c5cb4eb..024a0b46 100644 --- a/SRC/dlarfb.f +++ b/SRC/dlarfb.f @@ -19,19 +19,19 @@ * Purpose * ======= * -* DLARFB applies a real block reflector H or its transpose H' to a +* DLARFB applies a real block reflector H or its transpose H**T to a * real m by n matrix C, from either the left or the right. * * Arguments * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**T from the Left +* = 'R': apply H or H**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'T': apply H' (Transpose) +* = 'T': apply H**T (Transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -76,10 +76,10 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**T*C or C*H or C*H**T. * * LDC (input) INTEGER -* The leading dimension of the array C. LDA >= max(1,M). +* The leading dimension of the array C. LDC >= max(1,M). * * WORK (workspace) DOUBLE PRECISION array, dimension (LDWORK,K) * @@ -154,15 +154,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILADLR( M, K, V, LDV ) ) LASTC = ILADLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) * -* W := C1' +* W := C1**T * DO 10 J = 1, K CALL DCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) @@ -174,7 +174,7 @@ $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2 +* W := W + C2**T *V2 * CALL DGEMM( 'Transpose', 'No transpose', $ LASTC, K, LASTV-K, @@ -182,16 +182,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL DTRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**T * IF( LASTV.GT.K ) THEN * -* C2 := C2 - V2 * W' +* C2 := C2 - V2 * W**T * CALL DGEMM( 'No transpose', 'Transpose', $ LASTV-K, LASTC, K, @@ -199,12 +199,12 @@ $ C( K+1, 1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**T * CALL DTRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**T * DO 30 J = 1, K DO 20 I = 1, LASTC @@ -214,7 +214,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILADLR( N, K, V, LDV ) ) LASTC = ILADLR( M, LASTV, C, LDC ) @@ -241,16 +241,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL DTRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - W * V' +* C := C - W * V**T * IF( LASTV.GT.K ) THEN * -* C2 := C2 - W * V2' +* C2 := C2 - W * V2**T * CALL DGEMM( 'No transpose', 'Transpose', $ LASTC, LASTV-K, K, @@ -258,7 +258,7 @@ $ C( 1, K+1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**T * CALL DTRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) @@ -280,15 +280,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILADLR( M, K, V, LDV ) ) LASTC = ILADLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C' * V = (C1**T * V1 + C2**T * V2) (stored in WORK) * -* W := C2' +* W := C2**T * DO 70 J = 1, K CALL DCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, @@ -302,36 +302,36 @@ $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1 +* W := W + C1**T*V1 * CALL DGEMM( 'Transpose', 'No transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL DTRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**T * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1 * W' +* C1 := C1 - V1 * W**T * CALL DGEMM( 'No transpose', 'Transpose', $ LASTV-K, LASTC, K, -ONE, V, LDV, WORK, LDWORK, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**T * CALL DTRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**T * DO 90 J = 1, K DO 80 I = 1, LASTC @@ -341,7 +341,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILADLR( N, K, V, LDV ) ) LASTC = ILADLR( M, LASTV, C, LDC ) @@ -368,7 +368,7 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL DTRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) @@ -377,14 +377,14 @@ * IF( LASTV.GT.K ) THEN * -* C1 := C1 - W * V1' +* C1 := C1 - W * V1**T * CALL DGEMM( 'No transpose', 'Transpose', $ LASTC, LASTV-K, K, -ONE, WORK, LDWORK, V, LDV, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**T * CALL DTRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, @@ -409,27 +409,27 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILADLC( K, M, V, LDV ) ) LASTC = ILADLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) * -* W := C1' +* W := C1**T * DO 130 J = 1, K CALL DCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) 130 CONTINUE * -* W := W * V1' +* W := W * V1**T * CALL DTRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2' +* W := W + C2**T*V2**T * CALL DGEMM( 'Transpose', 'Transpose', $ LASTC, K, LASTV-K, @@ -437,16 +437,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL DTRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**T * W**T * IF( LASTV.GT.K ) THEN * -* C2 := C2 - V2' * W' +* C2 := C2 - V2**T * W**T * CALL DGEMM( 'Transpose', 'Transpose', $ LASTV-K, LASTC, K, @@ -459,7 +459,7 @@ CALL DTRMM( 'Right', 'Upper', 'No transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**T * DO 150 J = 1, K DO 140 I = 1, LASTC @@ -469,12 +469,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILADLC( K, N, V, LDV ) ) LASTC = ILADLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) * * W := C1 * @@ -482,13 +482,13 @@ CALL DCOPY( LASTC, C( 1, J ), 1, WORK( 1, J ), 1 ) 160 CONTINUE * -* W := W * V1' +* W := W * V1**T * CALL DTRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2 * V2' +* W := W + C2 * V2**T * CALL DGEMM( 'No transpose', 'Transpose', $ LASTC, K, LASTV-K, @@ -496,7 +496,7 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL DTRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) @@ -535,45 +535,45 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILADLC( K, M, V, LDV ) ) LASTC = ILADLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) * -* W := C2' +* W := C2**T * DO 190 J = 1, K CALL DCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, $ WORK( 1, J ), 1 ) 190 CONTINUE * -* W := W * V2' +* W := W * V2**T * CALL DTRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1' +* W := W + C1**T * V1**T * CALL DGEMM( 'Transpose', 'Transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL DTRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**T * W**T * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1' * W' +* C1 := C1 - V1**T * W**T * CALL DGEMM( 'Transpose', 'Transpose', $ LASTV-K, LASTC, K, -ONE, V, LDV, WORK, LDWORK, @@ -586,7 +586,7 @@ $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**T * DO 210 J = 1, K DO 200 I = 1, LASTC @@ -596,12 +596,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILADLC( K, N, V, LDV ) ) LASTC = ILADLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) * * W := C2 * @@ -610,21 +610,21 @@ $ WORK( 1, J ), 1 ) 220 CONTINUE * -* W := W * V2' +* W := W * V2**T * CALL DTRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1 * V1' +* W := W + C1 * V1**T * CALL DGEMM( 'No transpose', 'Transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL DTRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) diff --git a/SRC/dlarfg.f b/SRC/dlarfg.f index 36e5d89e..e8190d51 100644 --- a/SRC/dlarfg.f +++ b/SRC/dlarfg.f @@ -19,13 +19,13 @@ * DLARFG generates a real elementary reflector H of order n, such * that * -* H * ( alpha ) = ( beta ), H' * H = I. +* H * ( alpha ) = ( beta ), H**T * H = I. * ( x ) ( 0 ) * * where alpha and beta are scalars, and x is an (n-1)-element real * vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**T ) , * ( v ) * * where tau is a real scalar and v is a real (n-1)-element diff --git a/SRC/dlarfgp.f b/SRC/dlarfgp.f index e65bf47d..3c5819f6 100644 --- a/SRC/dlarfgp.f +++ b/SRC/dlarfgp.f @@ -19,13 +19,13 @@ * DLARFGP generates a real elementary reflector H of order n, such * that * -* H * ( alpha ) = ( beta ), H' * H = I. +* H * ( alpha ) = ( beta ), H**T * H = I. * ( x ) ( 0 ) * * where alpha and beta are scalars, beta is non-negative, and x is * an (n-1)-element real vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**T ) , * ( v ) * * where tau is a real scalar and v is a real (n-1)-element diff --git a/SRC/dlarft.f b/SRC/dlarft.f index 9b05e869..fde95a06 100644 --- a/SRC/dlarft.f +++ b/SRC/dlarft.f @@ -27,12 +27,12 @@ * If STOREV = 'C', the vector which defines the elementary reflector * H(i) is stored in the i-th column of the array V, and * -* H = I - V * T * V' +* H = I - V * T * V**T * * If STOREV = 'R', the vector which defines the elementary reflector * H(i) is stored in the i-th row of the array V, and * -* H = I - V' * T * V +* H = I - V**T * T * V * * Arguments * ========= @@ -150,7 +150,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)' * V(i:j,i) +* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)**T * V(i:j,i) * CALL DGEMV( 'Transpose', J-I+1, I-1, -TAU( I ), $ V( I, 1 ), LDV, V( I, I ), 1, ZERO, @@ -162,7 +162,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)' +* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)**T * CALL DGEMV( 'No transpose', I-1, J-I+1, -TAU( I ), $ V( 1, I ), LDV, V( I, I ), LDV, ZERO, @@ -207,7 +207,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(j:n-k+i,i+1:k)' * V(j:n-k+i,i) +* - tau(i) * V(j:n-k+i,i+1:k)**T * V(j:n-k+i,i) * CALL DGEMV( 'Transpose', N-K+I-J+1, K-I, -TAU( I ), $ V( J, I+1 ), LDV, V( J, I ), 1, ZERO, @@ -223,7 +223,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)' +* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)**T * CALL DGEMV( 'No transpose', K-I, N-K+I-J+1, $ -TAU( I ), V( I+1, J ), LDV, V( I, J ), LDV, diff --git a/SRC/dlarfx.f b/SRC/dlarfx.f index 6f056e13..24a02587 100644 --- a/SRC/dlarfx.f +++ b/SRC/dlarfx.f @@ -22,7 +22,7 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar and v is a real vector. * diff --git a/SRC/dlarrv.f b/SRC/dlarrv.f index 8adcd24f..e5bd2172 100644 --- a/SRC/dlarrv.f +++ b/SRC/dlarrv.f @@ -25,7 +25,7 @@ * ======= * * DLARRV computes the eigenvectors of the tridiagonal matrix -* T = L D L^T given L, D and APPROXIMATIONS to the eigenvalues of L D L^T. +* T = L D L**T given L, D and APPROXIMATIONS to the eigenvalues of L D L**T. * The input eigenvalues should have been computed by DLARRE. * * Arguments diff --git a/SRC/dlarz.f b/SRC/dlarz.f index 1b6570fa..0200d893 100644 --- a/SRC/dlarz.f +++ b/SRC/dlarz.f @@ -21,7 +21,7 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar and v is a real vector. * @@ -101,7 +101,7 @@ * CALL DCOPY( N, C, LDC, WORK, 1 ) * -* w( 1:n ) = w( 1:n ) + C( m-l+1:m, 1:n )' * v( 1:l ) +* w( 1:n ) = w( 1:n ) + C( m-l+1:m, 1:n )**T * v( 1:l ) * CALL DGEMV( 'Transpose', L, N, ONE, C( M-L+1, 1 ), LDC, V, $ INCV, ONE, WORK, 1 ) @@ -111,7 +111,7 @@ CALL DAXPY( N, -TAU, WORK, 1, C, LDC ) * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* tau * v( 1:l ) * w( 1:n )' +* tau * v( 1:l ) * w( 1:n )**T * CALL DGER( L, N, -TAU, V, INCV, WORK, 1, C( M-L+1, 1 ), $ LDC ) @@ -137,7 +137,7 @@ CALL DAXPY( M, -TAU, WORK, 1, C, 1 ) * * C( 1:m, n-l+1:n ) = C( 1:m, n-l+1:n ) - ... -* tau * w( 1:m ) * v( 1:l )' +* tau * w( 1:m ) * v( 1:l )**T * CALL DGER( M, L, -TAU, WORK, 1, V, INCV, C( 1, N-L+1 ), $ LDC ) diff --git a/SRC/dlarzb.f b/SRC/dlarzb.f index 9fc839d4..fbe5a9a0 100644 --- a/SRC/dlarzb.f +++ b/SRC/dlarzb.f @@ -27,12 +27,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**T from the Left +* = 'R': apply H or H**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'C': apply H' (Transpose) +* = 'C': apply H**T (Transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -77,7 +77,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the M-by-N matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**T*C or C*H or C*H**T. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -140,16 +140,16 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C +* Form H * C or H**T * C * -* W( 1:n, 1:k ) = C( 1:k, 1:n )' +* W( 1:n, 1:k ) = C( 1:k, 1:n )**T * DO 10 J = 1, K CALL DCOPY( N, C( J, 1 ), LDC, WORK( 1, J ), 1 ) 10 CONTINUE * * W( 1:n, 1:k ) = W( 1:n, 1:k ) + ... -* C( m-l+1:m, 1:n )' * V( 1:k, 1:l )' +* C( m-l+1:m, 1:n )**T * V( 1:k, 1:l )**T * IF( L.GT.0 ) $ CALL DGEMM( 'Transpose', 'Transpose', N, K, L, ONE, @@ -160,7 +160,7 @@ CALL DTRMM( 'Right', 'Lower', TRANST, 'Non-unit', N, K, ONE, T, $ LDT, WORK, LDWORK ) * -* C( 1:k, 1:n ) = C( 1:k, 1:n ) - W( 1:n, 1:k )' +* C( 1:k, 1:n ) = C( 1:k, 1:n ) - W( 1:n, 1:k )**T * DO 30 J = 1, N DO 20 I = 1, K @@ -169,7 +169,7 @@ 30 CONTINUE * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* V( 1:k, 1:l )' * W( 1:n, 1:k )' +* V( 1:k, 1:l )**T * W( 1:n, 1:k )**T * IF( L.GT.0 ) $ CALL DGEMM( 'Transpose', 'Transpose', L, N, K, -ONE, V, LDV, @@ -177,7 +177,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' +* Form C * H or C * H**T * * W( 1:m, 1:k ) = C( 1:m, 1:k ) * @@ -186,13 +186,13 @@ 40 CONTINUE * * W( 1:m, 1:k ) = W( 1:m, 1:k ) + ... -* C( 1:m, n-l+1:n ) * V( 1:k, 1:l )' +* C( 1:m, n-l+1:n ) * V( 1:k, 1:l )**T * IF( L.GT.0 ) $ CALL DGEMM( 'No transpose', 'Transpose', M, K, L, ONE, $ C( 1, N-L+1 ), LDC, V, LDV, ONE, WORK, LDWORK ) * -* W( 1:m, 1:k ) = W( 1:m, 1:k ) * T or W( 1:m, 1:k ) * T' +* W( 1:m, 1:k ) = W( 1:m, 1:k ) * T or W( 1:m, 1:k ) * T**T * CALL DTRMM( 'Right', 'Lower', TRANS, 'Non-unit', M, K, ONE, T, $ LDT, WORK, LDWORK ) diff --git a/SRC/dlarzt.f b/SRC/dlarzt.f index 0f734754..dbbe29c7 100644 --- a/SRC/dlarzt.f +++ b/SRC/dlarzt.f @@ -164,7 +164,7 @@ * IF( I.LT.K ) THEN * -* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)' +* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)**T * CALL DGEMV( 'No transpose', K-I, N, -TAU( I ), $ V( I+1, 1 ), LDV, V( I, 1 ), LDV, ZERO, diff --git a/SRC/dlasd1.f b/SRC/dlasd1.f index f13a2abc..797cc0c0 100644 --- a/SRC/dlasd1.f +++ b/SRC/dlasd1.f @@ -98,8 +98,8 @@ * * VT (input/output) DOUBLE PRECISION array, dimension(LDVT,M) * where M = N + SQRE. -* On entry VT(1:NL+1, 1:NL+1)' contains the right singular -* vectors of the upper block; VT(NL+2:M, NL+2:M)' contains +* On entry VT(1:NL+1, 1:NL+1)**T contains the right singular +* vectors of the upper block; VT(NL+2:M, NL+2:M)**T contains * the right singular vectors of the lower block. On exit * VT' contains the right singular vectors of the * bidiagonal matrix. diff --git a/SRC/dlasyf.f b/SRC/dlasyf.f index 0e817cbf..cd69b1e0 100644 --- a/SRC/dlasyf.f +++ b/SRC/dlasyf.f @@ -21,11 +21,11 @@ * using the Bunch-Kaufman diagonal pivoting method. The partial * factorization has the form: * -* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: -* ( 0 U22 ) ( 0 D ) ( U12' U22' ) +* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: +* ( 0 U22 ) ( 0 D ) ( U12**T U22**T ) * -* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L' -* ( L21 I ) ( 0 A22 ) ( 0 I ) +* A = ( L11 0 ) ( D 0 ) ( L11**T L21**T ) if UPLO = 'L' +* ( L21 I ) ( 0 A22 ) ( 0 I ) * * where the order of D is at most NB. The actual order is returned in * the argument KB, and is either NB or NB-1, or N if N <= NB. @@ -313,7 +313,7 @@ * * Update the upper triangle of A11 (= A(1:k,1:k)) as * -* A11 := A11 - U12*D*U12' = A11 - U12*W' +* A11 := A11 - U12*D*U12**T = A11 - U12*W**T * * computing blocks of NB columns at a time * @@ -536,7 +536,7 @@ * * Update the lower triangle of A22 (= A(k:n,k:n)) as * -* A22 := A22 - L21*D*L21' = A22 - L21*W' +* A22 := A22 - L21*D*L21**T = A22 - L21*W**T * * computing blocks of NB columns at a time * diff --git a/SRC/dlatrd.f b/SRC/dlatrd.f index 1b5b603a..0c39a824 100644 --- a/SRC/dlatrd.f +++ b/SRC/dlatrd.f @@ -18,7 +18,7 @@ * * DLATRD reduces NB rows and columns of a real symmetric matrix A to * symmetric tridiagonal form by an orthogonal similarity -* transformation Q' * A * Q, and returns the matrices V and W which are +* transformation Q**T * A * Q, and returns the matrices V and W which are * needed to apply the transformation to the unreduced part of A. * * If UPLO = 'U', DLATRD reduces the last NB rows and columns of a @@ -95,7 +95,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i), @@ -108,7 +108,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -117,7 +117,7 @@ * The elements of the vectors v together form the n-by-nb matrix V * which is needed, with W, to apply the transformation to the unreduced * part of the matrix, using a symmetric rank-2k update of the form: -* A := A - V*W' - W*V'. +* A := A - V*W**T - W*V**T. * * The contents of A on exit are illustrated by the following examples * with n = 5 and nb = 2: diff --git a/SRC/dlatrz.f b/SRC/dlatrz.f index 07e581b9..2fac6e8f 100644 --- a/SRC/dlatrz.f +++ b/SRC/dlatrz.f @@ -64,7 +64,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**T, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/dlatzm.f b/SRC/dlatzm.f index 2d735fe3..f7a688ff 100644 --- a/SRC/dlatzm.f +++ b/SRC/dlatzm.f @@ -21,8 +21,8 @@ * * DLATZM applies a Householder matrix generated by DTZRQF to a matrix. * -* Let P = I - tau*u*u', u = ( 1 ), -* ( v ) +* Let P = I - tau*u*u**T, u = ( 1 ), +* ( v ) * where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if * SIDE = 'R'. * @@ -110,13 +110,13 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* w := C1 + v' * C2 +* w := (C1 + v**T * C2)**T * CALL DCOPY( N, C1, LDC, WORK, 1 ) CALL DGEMV( 'Transpose', M-1, N, ONE, C2, LDC, V, INCV, ONE, $ WORK, 1 ) * -* [ C1 ] := [ C1 ] - tau* [ 1 ] * w' +* [ C1 ] := [ C1 ] - tau* [ 1 ] * w**T * [ C2 ] [ C2 ] [ v ] * CALL DAXPY( N, -TAU, WORK, 1, C1, LDC ) @@ -130,7 +130,7 @@ CALL DGEMV( 'No transpose', M, N-1, ONE, C2, LDC, V, INCV, ONE, $ WORK, 1 ) * -* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v'] +* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v**T] * CALL DAXPY( M, -TAU, WORK, 1, C1, 1 ) CALL DGER( M, N-1, -TAU, WORK, 1, V, INCV, C2, LDC ) diff --git a/SRC/dlauu2.f b/SRC/dlauu2.f index 77bda092..1e6bdfec 100644 --- a/SRC/dlauu2.f +++ b/SRC/dlauu2.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* DLAUU2 computes the product U * U' or L' * L, where the triangular +* DLAUU2 computes the product U * U**T or L**T * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**T; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**T * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -100,7 +100,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**T. * DO 10 I = 1, N AII = A( I, I ) @@ -115,7 +115,7 @@ * ELSE * -* Compute the product L' * L. +* Compute the product L**T * L. * DO 20 I = 1, N AII = A( I, I ) diff --git a/SRC/dlauum.f b/SRC/dlauum.f index 21734b79..fb9fdb5f 100644 --- a/SRC/dlauum.f +++ b/SRC/dlauum.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* DLAUUM computes the product U * U' or L' * L, where the triangular +* DLAUUM computes the product U * U**T or L**T * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) DOUBLE PRECISION array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**T; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**T * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -112,7 +112,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**T. * DO 10 I = 1, N, NB IB = MIN( NB, N-I+1 ) @@ -131,7 +131,7 @@ 10 CONTINUE ELSE * -* Compute the product L' * L. +* Compute the product L**T * L. * DO 20 I = 1, N, NB IB = MIN( NB, N-I+1 ) diff --git a/SRC/dorglq.f b/SRC/dorglq.f index abe409c3..eb83f24f 100644 --- a/SRC/dorglq.f +++ b/SRC/dorglq.f @@ -185,7 +185,7 @@ CALL DLARFT( 'Forward', 'Rowwise', N-I+1, IB, A( I, I ), $ LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i+ib:m,i:n) from the right +* Apply H**T to A(i+ib:m,i:n) from the right * CALL DLARFB( 'Right', 'Transpose', 'Forward', 'Rowwise', $ M-I-IB+1, N-I+1, IB, A( I, I ), LDA, WORK, @@ -193,7 +193,7 @@ $ LDWORK ) END IF * -* Apply H' to columns i:n of current block +* Apply H**T to columns i:n of current block * CALL DORGL2( IB, N-I+1, IB, A( I, I ), LDA, TAU( I ), WORK, $ IINFO ) diff --git a/SRC/dorgrq.f b/SRC/dorgrq.f index c2e0a916..b4499c87 100644 --- a/SRC/dorgrq.f +++ b/SRC/dorgrq.f @@ -193,14 +193,14 @@ CALL DLARFT( 'Backward', 'Rowwise', N-K+I+IB-1, IB, $ A( II, 1 ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i-1,1:n-k+i+ib-1) from the right +* Apply H**T to A(1:m-k+i-1,1:n-k+i+ib-1) from the right * CALL DLARFB( 'Right', 'Transpose', 'Backward', 'Rowwise', $ II-1, N-K+I+IB-1, IB, A( II, 1 ), LDA, WORK, $ LDWORK, A, LDA, WORK( IB+1 ), LDWORK ) END IF * -* Apply H' to columns 1:n-k+i+ib-1 of current block +* Apply H**T to columns 1:n-k+i+ib-1 of current block * CALL DORGR2( IB, N-K+I+IB-1, IB, A( II, 1 ), LDA, TAU( I ), $ WORK, IINFO ) diff --git a/SRC/dorm2l.f b/SRC/dorm2l.f index 27489cbe..ac1990a3 100644 --- a/SRC/dorm2l.f +++ b/SRC/dorm2l.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T * C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/dorm2r.f b/SRC/dorm2r.f index 9959c330..6e847452 100644 --- a/SRC/dorm2r.f +++ b/SRC/dorm2r.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/dorml2.f b/SRC/dorml2.f index dca1bc8f..ab784bbc 100644 --- a/SRC/dorml2.f +++ b/SRC/dorml2.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/dormlq.f b/SRC/dormlq.f index aa1b8391..edb381fd 100644 --- a/SRC/dormlq.f +++ b/SRC/dormlq.f @@ -241,19 +241,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**T * CALL DLARFB( SIDE, TRANST, 'Forward', 'Rowwise', MI, NI, IB, $ A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, WORK, diff --git a/SRC/dormql.f b/SRC/dormql.f index 29affb67..f4e9dcff 100644 --- a/SRC/dormql.f +++ b/SRC/dormql.f @@ -237,17 +237,17 @@ $ A( 1, I ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**T is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**T is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**T * CALL DLARFB( SIDE, TRANS, 'Backward', 'Columnwise', MI, NI, $ IB, A( 1, I ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/dormqr.f b/SRC/dormqr.f index 1cf67e12..5cc54e19 100644 --- a/SRC/dormqr.f +++ b/SRC/dormqr.f @@ -234,19 +234,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**T * CALL DLARFB( SIDE, TRANS, 'Forward', 'Columnwise', MI, NI, $ IB, A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, diff --git a/SRC/dormr2.f b/SRC/dormr2.f index 9a8ce03d..8c1fcae7 100644 --- a/SRC/dormr2.f +++ b/SRC/dormr2.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,8 +39,8 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) @@ -75,7 +75,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/dormr3.f b/SRC/dormr3.f index 94b960fa..cf33553e 100644 --- a/SRC/dormr3.f +++ b/SRC/dormr3.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'C', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -80,7 +80,7 @@ * * C (input/output) DOUBLE PRECISION array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -181,19 +181,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**T * CALL DLARZ( SIDE, MI, NI, L, A( I, JA ), LDA, TAU( I ), $ C( IC, JC ), LDC, WORK ) diff --git a/SRC/dormrq.f b/SRC/dormrq.f index 097a1a02..07d54b80 100644 --- a/SRC/dormrq.f +++ b/SRC/dormrq.f @@ -244,17 +244,17 @@ $ A( I, 1 ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**T is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**T is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**T * CALL DLARFB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, A( I, 1 ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/dormrz.f b/SRC/dormrz.f index b9f775ac..a6c5f2aa 100644 --- a/SRC/dormrz.f +++ b/SRC/dormrz.f @@ -264,19 +264,19 @@ * IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**T * CALL DLARZB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, L, A( I, JA ), LDA, T, LDT, C( IC, JC ), diff --git a/SRC/dpbcon.f b/SRC/dpbcon.f index e474b6a9..297cc2af 100644 --- a/SRC/dpbcon.f +++ b/SRC/dpbcon.f @@ -139,7 +139,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL DLATBS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, $ KD, AB, LDAB, WORK, SCALEL, WORK( 2*N+1 ), @@ -160,7 +160,7 @@ $ INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL DLATBS( 'Lower', 'Transpose', 'Non-unit', NORMIN, N, $ KD, AB, LDAB, WORK, SCALEU, WORK( 2*N+1 ), diff --git a/SRC/dpbsv.f b/SRC/dpbsv.f index 0095f564..e4a89bcc 100644 --- a/SRC/dpbsv.f +++ b/SRC/dpbsv.f @@ -135,7 +135,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T*U or A = L*L**T. * CALL DPBTRF( UPLO, N, KD, AB, LDAB, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/dpbsvx.f b/SRC/dpbsvx.f index 6469b1e8..4986097b 100644 --- a/SRC/dpbsvx.f +++ b/SRC/dpbsvx.f @@ -352,7 +352,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T *U or A = L*L**T. * IF( UPPER ) THEN DO 40 J = 1, N diff --git a/SRC/dpbtf2.f b/SRC/dpbtf2.f index 1b6b1bf1..2296f8bf 100644 --- a/SRC/dpbtf2.f +++ b/SRC/dpbtf2.f @@ -20,9 +20,9 @@ * positive definite band matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', -* where U is an upper triangular matrix, U' is the transpose of U, and +* A = U**T * U , if UPLO = 'U', or +* A = L * L**T, if UPLO = 'L', +* where U is an upper triangular matrix, U**T is the transpose of U, and * L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -52,7 +52,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**T*U or A = L*L**T of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER @@ -137,7 +137,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T*U. * DO 10 J = 1, N * @@ -161,7 +161,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * DO 20 J = 1, N * diff --git a/SRC/dpbtrs.f b/SRC/dpbtrs.f index 951df583..eb1dcd72 100644 --- a/SRC/dpbtrs.f +++ b/SRC/dpbtrs.f @@ -107,11 +107,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**T *U. * DO 10 J = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL DTBSV( 'Upper', 'Transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) @@ -123,7 +123,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**T. * DO 20 J = 1, NRHS * @@ -132,7 +132,7 @@ CALL DTBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, overwriting B with X. * CALL DTBSV( 'Lower', 'Transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) diff --git a/SRC/dpocon.f b/SRC/dpocon.f index 6456e600..6e6a1085 100644 --- a/SRC/dpocon.f +++ b/SRC/dpocon.f @@ -129,7 +129,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL DLATRS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, A, $ LDA, WORK, SCALEL, WORK( 2*N+1 ), INFO ) @@ -147,7 +147,7 @@ $ A, LDA, WORK, SCALEL, WORK( 2*N+1 ), INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL DLATRS( 'Lower', 'Transpose', 'Non-unit', NORMIN, N, A, $ LDA, WORK, SCALEU, WORK( 2*N+1 ), INFO ) diff --git a/SRC/dposv.f b/SRC/dposv.f index 57a4682a..c93b9fd6 100644 --- a/SRC/dposv.f +++ b/SRC/dposv.f @@ -105,7 +105,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T*U or A = L*L**T. * CALL DPOTRF( UPLO, N, A, LDA, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/dposvx.f b/SRC/dposvx.f index c2744f7d..a9ce9272 100644 --- a/SRC/dposvx.f +++ b/SRC/dposvx.f @@ -320,7 +320,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T *U or A = L*L**T. * CALL DLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL DPOTRF( UPLO, N, AF, LDAF, INFO ) diff --git a/SRC/dpotf2.f b/SRC/dpotf2.f index feaa553a..6c7adae8 100644 --- a/SRC/dpotf2.f +++ b/SRC/dpotf2.f @@ -20,8 +20,8 @@ * positive definite matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', +* A = U**T * U , if UPLO = 'U', or +* A = L * L**T, if UPLO = 'L', * where U is an upper triangular matrix and L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -48,7 +48,7 @@ * triangular part of A is not referenced. * * On exit, if INFO = 0, the factor U or L from the Cholesky -* factorization A = U'*U or A = L*L'. +* factorization A = U**T *U or A = L*L**T. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -107,7 +107,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T *U. * DO 10 J = 1, N * @@ -131,7 +131,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * DO 20 J = 1, N * diff --git a/SRC/dpotrf.f b/SRC/dpotrf.f index 271e929c..e3d7bafa 100644 --- a/SRC/dpotrf.f +++ b/SRC/dpotrf.f @@ -116,7 +116,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T*U. * DO 10 J = 1, N, NB * @@ -144,7 +144,7 @@ * ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * DO 20 J = 1, N, NB * diff --git a/SRC/dpotri.f b/SRC/dpotri.f index b3d0eb44..e0c7a75d 100644 --- a/SRC/dpotri.f +++ b/SRC/dpotri.f @@ -86,7 +86,7 @@ IF( INFO.GT.0 ) $ RETURN * -* Form inv(U)*inv(U)' or inv(L)'*inv(L). +* Form inv(U) * inv(U)**T or inv(L)**T * inv(L). * CALL DLAUUM( UPLO, N, A, LDA, INFO ) * diff --git a/SRC/dpotrs.f b/SRC/dpotrs.f index 7b199d0e..6851fea2 100644 --- a/SRC/dpotrs.f +++ b/SRC/dpotrs.f @@ -100,9 +100,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**T *U. * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL DTRSM( 'Left', 'Upper', 'Transpose', 'Non-unit', N, NRHS, $ ONE, A, LDA, B, LDB ) @@ -113,14 +113,14 @@ $ NRHS, ONE, A, LDA, B, LDB ) ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**T. * * Solve L*X = B, overwriting B with X. * CALL DTRSM( 'Left', 'Lower', 'No transpose', 'Non-unit', N, $ NRHS, ONE, A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, overwriting B with X. * CALL DTRSM( 'Left', 'Lower', 'Transpose', 'Non-unit', N, NRHS, $ ONE, A, LDA, B, LDB ) diff --git a/SRC/dppcon.f b/SRC/dppcon.f index c0040aff..239fd8da 100644 --- a/SRC/dppcon.f +++ b/SRC/dppcon.f @@ -128,7 +128,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL DLATPS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, $ AP, WORK, SCALEL, WORK( 2*N+1 ), INFO ) @@ -146,7 +146,7 @@ $ AP, WORK, SCALEL, WORK( 2*N+1 ), INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL DLATPS( 'Lower', 'Transpose', 'Non-unit', NORMIN, N, $ AP, WORK, SCALEU, WORK( 2*N+1 ), INFO ) diff --git a/SRC/dppsv.f b/SRC/dppsv.f index 6eb40e21..a8a5fe8d 100644 --- a/SRC/dppsv.f +++ b/SRC/dppsv.f @@ -117,7 +117,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T*U or A = L*L**T. * CALL DPPTRF( UPLO, N, AP, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/dppsvx.f b/SRC/dppsvx.f index cb0cf4e7..76051de0 100644 --- a/SRC/dppsvx.f +++ b/SRC/dppsvx.f @@ -112,17 +112,18 @@ * (N*(N+1)/2) * If FACT = 'F', then AFP is an input argument and on entry * contains the triangular factor U or L from the Cholesky -* factorization A = U'*U or A = L*L', in the same storage +* factorization A = U**T*U or A = L*L**T, in the same storage * format as A. If EQUED .ne. 'N', then AFP is the factored * form of the equilibrated matrix A. * * If FACT = 'N', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U'*U or A = L*L' of the original matrix A. +* factorization A = U**T * U or A = L * L**T of the original +* matrix A. * * If FACT = 'E', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U'*U or A = L*L' of the equilibrated +* factorization A = U**T * U or A = L * L**T of the equilibrated * matrix A (see the description of AP for the form of the * equilibrated matrix). * @@ -324,7 +325,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T * U or A = L * L**T. * CALL DCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL DPPTRF( UPLO, N, AFP, INFO ) diff --git a/SRC/dpptrf.f b/SRC/dpptrf.f index 8efaa34a..99648e43 100644 --- a/SRC/dpptrf.f +++ b/SRC/dpptrf.f @@ -115,7 +115,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T*U. * JJ = 0 DO 10 J = 1, N @@ -139,7 +139,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * JJ = 1 DO 20 J = 1, N diff --git a/SRC/dpptri.f b/SRC/dpptri.f index 80a33f39..b5a317e3 100644 --- a/SRC/dpptri.f +++ b/SRC/dpptri.f @@ -95,7 +95,7 @@ * IF( UPPER ) THEN * -* Compute the product inv(U) * inv(U)'. +* Compute the product inv(U) * inv(U)**T. * JJ = 0 DO 10 J = 1, N @@ -109,7 +109,7 @@ * ELSE * -* Compute the product inv(L)' * inv(L). +* Compute the product inv(L)**T * inv(L). * JJ = 1 DO 20 J = 1, N diff --git a/SRC/dpptrs.f b/SRC/dpptrs.f index d3e93a05..de90cfaa 100644 --- a/SRC/dpptrs.f +++ b/SRC/dpptrs.f @@ -96,11 +96,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**T * U. * DO 10 I = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL DTPSV( 'Upper', 'Transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) @@ -112,7 +112,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L * L**T. * DO 20 I = 1, NRHS * @@ -121,7 +121,7 @@ CALL DTPSV( 'Lower', 'No transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) * -* Solve L'*X = Y, overwriting B with X. +* Solve L**T *X = Y, overwriting B with X. * CALL DTPSV( 'Lower', 'Transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) diff --git a/SRC/dptcon.f b/SRC/dptcon.f index 2b9979cf..a0d162c2 100644 --- a/SRC/dptcon.f +++ b/SRC/dptcon.f @@ -117,7 +117,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**T. * * Solve M(L) * x = e. * @@ -126,7 +126,7 @@ WORK( I ) = ONE + WORK( I-1 )*ABS( E( I-1 ) ) 20 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**T * x = b. * WORK( N ) = WORK( N ) / D( N ) DO 30 I = N - 1, 1, -1 diff --git a/SRC/dptrfs.f b/SRC/dptrfs.f index a1d822db..2f7dfd93 100644 --- a/SRC/dptrfs.f +++ b/SRC/dptrfs.f @@ -263,7 +263,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**T. * * Solve M(L) * x = e. * @@ -272,7 +272,7 @@ WORK( I ) = ONE + WORK( I-1 )*ABS( EF( I-1 ) ) 60 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**T * x = b. * WORK( N ) = WORK( N ) / DF( N ) DO 70 I = N - 1, 1, -1 diff --git a/SRC/dptsv.f b/SRC/dptsv.f index a7e0a282..c1975f21 100644 --- a/SRC/dptsv.f +++ b/SRC/dptsv.f @@ -84,7 +84,7 @@ RETURN END IF * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**T (or U**T*D*U) factorization of A. * CALL DPTTRF( N, D, E, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/dptsvx.f b/SRC/dptsvx.f index 6717ea51..9b4fd274 100644 --- a/SRC/dptsvx.f +++ b/SRC/dptsvx.f @@ -188,7 +188,7 @@ * IF( NOFACT ) THEN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**T (or U**T*D*U) factorization of A. * CALL DCOPY( N, D, 1, DF, 1 ) IF( N.GT.1 ) diff --git a/SRC/dpttrf.f b/SRC/dpttrf.f index dae49d23..adffa113 100644 --- a/SRC/dpttrf.f +++ b/SRC/dpttrf.f @@ -15,9 +15,9 @@ * Purpose * ======= * -* DPTTRF computes the L*D*L' factorization of a real symmetric +* DPTTRF computes the L*D*L**T factorization of a real symmetric * positive definite tridiagonal matrix A. The factorization may also -* be regarded as having the form A = U'*D*U. +* be regarded as having the form A = U**T*D*U. * * Arguments * ========= @@ -28,14 +28,14 @@ * D (input/output) DOUBLE PRECISION array, dimension (N) * On entry, the n diagonal elements of the tridiagonal matrix * A. On exit, the n diagonal elements of the diagonal matrix -* D from the L*D*L' factorization of A. +* D from the L*D*L**T factorization of A. * * E (input/output) DOUBLE PRECISION array, dimension (N-1) * On entry, the (n-1) subdiagonal elements of the tridiagonal * matrix A. On exit, the (n-1) subdiagonal elements of the -* unit bidiagonal factor L from the L*D*L' factorization of A. +* unit bidiagonal factor L from the L*D*L**T factorization of A. * E can also be regarded as the superdiagonal of the unit -* bidiagonal factor U from the U'*D*U factorization of A. +* bidiagonal factor U from the U**T*D*U factorization of A. * * INFO (output) INTEGER * = 0: successful exit @@ -77,7 +77,7 @@ IF( N.EQ.0 ) $ RETURN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**T (or U**T*D*U) factorization of A. * I4 = MOD( N-1, 4 ) DO 10 I = 1, I4 diff --git a/SRC/dpttrs.f b/SRC/dpttrs.f index b12a905c..d0ea407e 100644 --- a/SRC/dpttrs.f +++ b/SRC/dpttrs.f @@ -17,7 +17,7 @@ * * DPTTRS solves a tridiagonal system of the form * A * X = B -* using the L*D*L' factorization of A computed by DPTTRF. D is a +* using the L*D*L**T factorization of A computed by DPTTRF. D is a * diagonal matrix specified in the vector D, L is a unit bidiagonal * matrix whose subdiagonal is specified in the vector E, and X and B * are N by NRHS matrices. @@ -34,13 +34,13 @@ * * D (input) DOUBLE PRECISION array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* L*D*L' factorization of A. +* L*D*L**T factorization of A. * * E (input) DOUBLE PRECISION array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal factor -* L from the L*D*L' factorization of A. E can also be regarded +* L from the L*D*L**T factorization of A. E can also be regarded * as the superdiagonal of the unit bidiagonal factor U from the -* factorization A = U'*D*U. +* factorization A = U**T*D*U. * * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of diff --git a/SRC/dptts2.f b/SRC/dptts2.f index 17abc096..f5e1aa74 100644 --- a/SRC/dptts2.f +++ b/SRC/dptts2.f @@ -17,7 +17,7 @@ * * DPTTS2 solves a tridiagonal system of the form * A * X = B -* using the L*D*L' factorization of A computed by DPTTRF. D is a +* using the L*D*L**T factorization of A computed by DPTTRF. D is a * diagonal matrix specified in the vector D, L is a unit bidiagonal * matrix whose subdiagonal is specified in the vector E, and X and B * are N by NRHS matrices. @@ -34,13 +34,13 @@ * * D (input) DOUBLE PRECISION array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* L*D*L' factorization of A. +* L*D*L**T factorization of A. * * E (input) DOUBLE PRECISION array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal factor -* L from the L*D*L' factorization of A. E can also be regarded +* L from the L*D*L**T factorization of A. E can also be regarded * as the superdiagonal of the unit bidiagonal factor U from the -* factorization A = U'*D*U. +* factorization A = U**T*D*U. * * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of @@ -68,7 +68,7 @@ RETURN END IF * -* Solve A * X = B using the factorization A = L*D*L', +* Solve A * X = B using the factorization A = L*D*L**T, * overwriting each right hand side vector with its solution. * DO 30 J = 1, NRHS @@ -79,7 +79,7 @@ B( I, J ) = B( I, J ) - B( I-1, J )*E( I-1 ) 10 CONTINUE * -* Solve D * L' * x = b. +* Solve D * L**T * x = b. * B( N, J ) = B( N, J ) / D( N ) DO 20 I = N - 1, 1, -1 diff --git a/SRC/dspcon.f b/SRC/dspcon.f index c3467fea..f145711f 100644 --- a/SRC/dspcon.f +++ b/SRC/dspcon.f @@ -145,7 +145,7 @@ CALL DLACN2( N, WORK( N+1 ), WORK, IWORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL DSPTRS( UPLO, N, 1, AP, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/dspgst.f b/SRC/dspgst.f index d806c5d4..86729f6a 100644 --- a/SRC/dspgst.f +++ b/SRC/dspgst.f @@ -102,7 +102,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**T)*A*inv(U) * * J1 and JJ are the indices of A(1,j) and A(j,j) * @@ -124,7 +124,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**T) * * KK and K1K1 are the indices of A(k,k) and A(k+1,k+1) * @@ -154,7 +154,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**T * * K1 and KK are the indices of A(1,k) and A(k,k) * @@ -179,7 +179,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**T *A*L * * JJ and J1J1 are the indices of A(j,j) and A(j+1,j+1) * diff --git a/SRC/dspgv.f b/SRC/dspgv.f index 918d7efa..93692752 100644 --- a/SRC/dspgv.f +++ b/SRC/dspgv.f @@ -159,7 +159,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -175,7 +175,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/dspgvd.f b/SRC/dspgvd.f index 63ffad0c..323645a3 100644 --- a/SRC/dspgvd.f +++ b/SRC/dspgvd.f @@ -191,7 +191,6 @@ END IF WORK( 1 ) = LWMIN IWORK( 1 ) = LIWMIN -* IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN INFO = -11 ELSE IF( LIWORK.LT.LIWMIN .AND. .NOT.LQUERY ) THEN @@ -237,7 +236,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -253,7 +252,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T *y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/dspgvx.f b/SRC/dspgvx.f index 0747ff8a..11c88f5a 100644 --- a/SRC/dspgvx.f +++ b/SRC/dspgvx.f @@ -255,7 +255,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -271,7 +271,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/dspsv.f b/SRC/dspsv.f index 3c04c48e..7af58c4b 100644 --- a/SRC/dspsv.f +++ b/SRC/dspsv.f @@ -132,7 +132,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL DSPTRF( UPLO, N, AP, IPIV, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/dspsvx.f b/SRC/dspsvx.f index aa038943..6f1da4bf 100644 --- a/SRC/dspsvx.f +++ b/SRC/dspsvx.f @@ -234,7 +234,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL DCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL DSPTRF( UPLO, N, AFP, IPIV, INFO ) diff --git a/SRC/dsptrd.f b/SRC/dsptrd.f index f91adbdc..331dd2af 100644 --- a/SRC/dsptrd.f +++ b/SRC/dsptrd.f @@ -73,7 +73,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP, @@ -86,7 +86,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP, @@ -141,7 +141,7 @@ I1 = N*( N-1 ) / 2 + 1 DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(1:i-1,i+1) * CALL DLARFG( I, AP( I1+I-1 ), AP( I1 ), 1, TAUI ) @@ -158,13 +158,13 @@ CALL DSPMV( UPLO, I, TAUI, AP, AP( I1 ), 1, ZERO, TAU, $ 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**T *v) * v * ALPHA = -HALF*TAUI*DDOT( I, TAU, 1, AP( I1 ), 1 ) CALL DAXPY( I, ALPHA, AP( I1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**T - w * v**T * CALL DSPR2( UPLO, I, -ONE, AP( I1 ), 1, TAU, 1, AP ) * @@ -184,7 +184,7 @@ DO 20 I = 1, N - 1 I1I1 = II + N - I + 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(i+2:n,i) * CALL DLARFG( N-I, AP( II+1 ), AP( II+2 ), 1, TAUI ) @@ -201,14 +201,14 @@ CALL DSPMV( UPLO, N-I, TAUI, AP( I1I1 ), AP( II+1 ), 1, $ ZERO, TAU( I ), 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**T *v) * v * ALPHA = -HALF*TAUI*DDOT( N-I, TAU( I ), 1, AP( II+1 ), $ 1 ) CALL DAXPY( N-I, ALPHA, AP( II+1 ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**T * CALL DSPR2( UPLO, N-I, -ONE, AP( II+1 ), 1, TAU( I ), 1, $ AP( I1I1 ) ) diff --git a/SRC/dsptrf.f b/SRC/dsptrf.f index 58538915..889596b1 100644 --- a/SRC/dsptrf.f +++ b/SRC/dsptrf.f @@ -71,7 +71,7 @@ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -88,7 +88,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -153,7 +153,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -274,7 +274,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = ONE / AP( KC+K-1 ) CALL DSPR( UPLO, K-1, -R1, AP( KC ), 1, AP ) @@ -293,8 +293,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -340,7 +340,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -468,7 +468,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * R1 = ONE / AP( KC ) CALL DSPR( UPLO, N-K, -R1, AP( KC+1 ), 1, @@ -491,8 +491,11 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**T +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**T +* +* where L(k) and L(k+1) are the k-th and (k+1)-th +* columns of L * D21 = AP( K+1+( K-1 )*( 2*N-K ) / 2 ) D11 = AP( K+1+K*( 2*N-K-1 ) / 2 ) / D21 diff --git a/SRC/dsptri.f b/SRC/dsptri.f index bc69a179..48b0eb0a 100644 --- a/SRC/dsptri.f +++ b/SRC/dsptri.f @@ -127,7 +127,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -228,7 +228,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/dsptrs.f b/SRC/dsptrs.f index 1fd67b5e..26e6b955 100644 --- a/SRC/dsptrs.f +++ b/SRC/dsptrs.f @@ -103,7 +103,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -177,7 +177,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T*X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL DGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -212,7 +212,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL DGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -234,7 +234,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -311,7 +311,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T*X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -330,7 +330,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -347,7 +347,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/dsycon.f b/SRC/dsycon.f index 6326a1c8..209ea1c8 100644 --- a/SRC/dsycon.f +++ b/SRC/dsycon.f @@ -148,7 +148,7 @@ CALL DLACN2( N, WORK( N+1 ), WORK, IWORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL DSYTRS( UPLO, N, 1, A, LDA, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/dsygs2.f b/SRC/dsygs2.f index 7d0f87ca..100c99d3 100644 --- a/SRC/dsygs2.f +++ b/SRC/dsygs2.f @@ -20,19 +20,19 @@ * to standard form. * * If ITYPE = 1, the problem is A*x = lambda*B*x, -* and A is overwritten by inv(U')*A*inv(U) or inv(L)*A*inv(L') +* and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T) * * If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or -* B*A*x = lambda*x, and A is overwritten by U*A*U` or L'*A*L. +* B*A*x = lambda*x, and A is overwritten by U*A*U**T or L**T *A*L. * -* B must have been previously factorized as U'*U or L*L' by DPOTRF. +* B must have been previously factorized as U**T *U or L*L**T by DPOTRF. * * Arguments * ========= * * ITYPE (input) INTEGER -* = 1: compute inv(U')*A*inv(U) or inv(L)*A*inv(L'); -* = 2 or 3: compute U*A*U' or L'*A*L. +* = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T); +* = 2 or 3: compute U*A*U**T or L**T *A*L. * * UPLO (input) CHARACTER*1 * Specifies whether the upper or lower triangular part of the @@ -115,7 +115,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**T)*A*inv(U) * DO 10 K = 1, N * @@ -140,7 +140,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**T) * DO 20 K = 1, N * @@ -165,7 +165,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**T * DO 30 K = 1, N * @@ -185,7 +185,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**T *A*L * DO 40 K = 1, N * diff --git a/SRC/dsygst.f b/SRC/dsygst.f index c1b2a955..97ad94c2 100644 --- a/SRC/dsygst.f +++ b/SRC/dsygst.f @@ -133,7 +133,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**T)*A*inv(U) * DO 10 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -163,7 +163,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**T) * DO 20 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -195,7 +195,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**T * DO 30 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -219,7 +219,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**T*A*L * DO 40 K = 1, N, NB KB = MIN( N-K+1, NB ) diff --git a/SRC/dsygv.f b/SRC/dsygv.f index 43607d36..9fc2c250 100644 --- a/SRC/dsygv.f +++ b/SRC/dsygv.f @@ -195,7 +195,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -209,7 +209,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/dsygvd.f b/SRC/dsygvd.f index f123fa84..857abfd8 100644 --- a/SRC/dsygvd.f +++ b/SRC/dsygvd.f @@ -246,7 +246,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -260,7 +260,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/dsygvx.f b/SRC/dsygvx.f index b0108d96..e70009df 100644 --- a/SRC/dsygvx.f +++ b/SRC/dsygvx.f @@ -296,7 +296,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -310,7 +310,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/dsysv.f b/SRC/dsysv.f index 65ba671c..5979f38b 100644 --- a/SRC/dsysv.f +++ b/SRC/dsysv.f @@ -158,7 +158,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL DSYTRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/dsysvx.f b/SRC/dsysvx.f index 89ae68fe..3149606d 100644 --- a/SRC/dsysvx.f +++ b/SRC/dsysvx.f @@ -254,7 +254,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL DLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL DSYTRF( UPLO, N, AF, LDAF, IPIV, WORK, LWORK, INFO ) diff --git a/SRC/dsytd2.f b/SRC/dsytd2.f index f3e6f0a9..da799b95 100644 --- a/SRC/dsytd2.f +++ b/SRC/dsytd2.f @@ -17,7 +17,7 @@ * ======= * * DSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal -* form T by an orthogonal similarity transformation: Q' * A * Q = T. +* form T by an orthogonal similarity transformation: Q**T * A * Q = T. * * Arguments * ========= @@ -79,7 +79,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -92,7 +92,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -164,7 +164,7 @@ * DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(1:i-1,i+1) * CALL DLARFG( I, A( I, I+1 ), A( 1, I+1 ), 1, TAUI ) @@ -181,13 +181,13 @@ CALL DSYMV( UPLO, I, TAUI, A, LDA, A( 1, I+1 ), 1, ZERO, $ TAU, 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**T * v) * v * ALPHA = -HALF*TAUI*DDOT( I, TAU, 1, A( 1, I+1 ), 1 ) CALL DAXPY( I, ALPHA, A( 1, I+1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**T - w * v**T * CALL DSYR2( UPLO, I, -ONE, A( 1, I+1 ), 1, TAU, 1, A, $ LDA ) @@ -204,7 +204,7 @@ * DO 20 I = 1, N - 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(i+2:n,i) * CALL DLARFG( N-I, A( I+1, I ), A( MIN( I+2, N ), I ), 1, @@ -222,14 +222,14 @@ CALL DSYMV( UPLO, N-I, TAUI, A( I+1, I+1 ), LDA, $ A( I+1, I ), 1, ZERO, TAU( I ), 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**T * v) * v * ALPHA = -HALF*TAUI*DDOT( N-I, TAU( I ), 1, A( I+1, I ), $ 1 ) CALL DAXPY( N-I, ALPHA, A( I+1, I ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**T * CALL DSYR2( UPLO, N-I, -ONE, A( I+1, I ), 1, TAU( I ), 1, $ A( I+1, I+1 ), LDA ) diff --git a/SRC/dsytf2.f b/SRC/dsytf2.f index 261651fe..689ef119 100644 --- a/SRC/dsytf2.f +++ b/SRC/dsytf2.f @@ -20,10 +20,10 @@ * DSYTF2 computes the factorization of a real symmetric matrix A using * the Bunch-Kaufman diagonal pivoting method: * -* A = U*D*U' or A = L*D*L' +* A = U*D*U**T or A = L*D*L**T * * where U (or L) is a product of permutation and unit upper (lower) -* triangular matrices, U' is the transpose of U, and D is symmetric and +* triangular matrices, U**T is the transpose of U, and D is symmetric and * block diagonal with 1-by-1 and 2-by-2 diagonal blocks. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -90,7 +90,7 @@ * 1-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -107,7 +107,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -173,7 +173,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -279,7 +279,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = ONE / A( K, K ) CALL DSYR( UPLO, K-1, -R1, A( 1, K ), 1, A, LDA ) @@ -298,8 +298,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -341,7 +341,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -450,7 +450,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * D11 = ONE / A( K, K ) CALL DSYR( UPLO, N-K, -D11, A( K+1, K ), 1, @@ -468,7 +468,7 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( (A(k) A(k+1))*D(k)**(-1) ) * (A(k) A(k+1))' +* A := A - ( (A(k) A(k+1))*D(k)**(-1) ) * (A(k) A(k+1))**T * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/dsytrd.f b/SRC/dsytrd.f index befbee31..1bc8fec6 100644 --- a/SRC/dsytrd.f +++ b/SRC/dsytrd.f @@ -92,7 +92,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -105,7 +105,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -235,7 +235,7 @@ $ LDWORK ) * * Update the unreduced submatrix A(1:i-1,1:i-1), using an -* update of the form: A := A - V*W' - W*V' +* update of the form: A := A - V*W' - W*V**T * CALL DSYR2K( UPLO, 'No transpose', I-1, NB, -ONE, A( 1, I ), $ LDA, WORK, LDWORK, ONE, A, LDA ) @@ -266,7 +266,7 @@ $ TAU( I ), WORK, LDWORK ) * * Update the unreduced submatrix A(i+ib:n,i+ib:n), using -* an update of the form: A := A - V*W' - W*V' +* an update of the form: A := A - V*W' - W*V**T * CALL DSYR2K( UPLO, 'No transpose', N-I-NB+1, NB, -ONE, $ A( I+NB, I ), LDA, WORK( NB+1 ), LDWORK, ONE, diff --git a/SRC/dsytrf.f b/SRC/dsytrf.f index e0a1b191..377aa21d 100644 --- a/SRC/dsytrf.f +++ b/SRC/dsytrf.f @@ -87,7 +87,7 @@ * Further Details * =============== * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -104,7 +104,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -187,7 +187,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * KB, where KB is the number of columns factorized by DLASYF; @@ -228,7 +228,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * KB, where KB is the number of columns factorized by DLASYF; diff --git a/SRC/dsytri.f b/SRC/dsytri.f index 4cbc40ec..3e7d88e5 100644 --- a/SRC/dsytri.f +++ b/SRC/dsytri.f @@ -127,7 +127,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -216,7 +216,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/dsytri2x.f b/SRC/dsytri2x.f index d0481f56..52d99532 100644 --- a/SRC/dsytri2x.f +++ b/SRC/dsytri2x.f @@ -153,7 +153,7 @@ IF( UPPER ) THEN * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL DTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -181,9 +181,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=N DO WHILE (CUT .GT. 0) @@ -309,7 +309,7 @@ * END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=1 DO WHILE ( I .LE. N ) @@ -331,7 +331,7 @@ * * LOWER... * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL DTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -359,9 +359,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=0 DO WHILE (CUT .LT. N) @@ -495,7 +495,7 @@ CUT=CUT+NNB END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=N DO WHILE ( I .GE. 1 ) diff --git a/SRC/dsytrs.f b/SRC/dsytrs.f index 65cc7296..7a4a0f77 100644 --- a/SRC/dsytrs.f +++ b/SRC/dsytrs.f @@ -107,7 +107,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -178,7 +178,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL DGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -211,7 +211,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL DGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -232,7 +232,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -306,7 +306,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -323,7 +323,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -340,7 +340,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/dsytrs2.f b/SRC/dsytrs2.f index 3e2e6748..9e256d85 100644 --- a/SRC/dsytrs2.f +++ b/SRC/dsytrs2.f @@ -116,9 +116,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * -* P' * B +* P**T * B K=N DO WHILE ( K .GE. 1 ) IF( IPIV( K ).GT.0 ) THEN @@ -138,11 +138,11 @@ END IF END DO * -* Compute (U \P' * B) -> B [ (U \P' * B) ] +* Compute (U \P**T * B) -> B [ (U \P**T * B) ] * CALL DTRSM('L','U','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (U \P' * B) ] +* Compute D \ B -> B [ D \ (U \P**T * B) ] * I=N DO WHILE ( I .GE. 1 ) @@ -166,11 +166,11 @@ I = I - 1 END DO * -* Compute (U' \ B) -> B [ U' \ (D \ (U \P' * B) ) ] +* Compute (U**T \ B) -> B [ U**T \ (D \ (U \P**T * B) ) ] * CALL DTRSM('L','U','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (U' \ (D \ (U \P' * B) )) ] +* P * B [ P * (U**T \ (D \ (U \P**T * B) )) ] * K=1 DO WHILE ( K .LE. N ) @@ -193,9 +193,9 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * -* P' * B +* P**T * B K=1 DO WHILE ( K .LE. N ) IF( IPIV( K ).GT.0 ) THEN @@ -215,11 +215,11 @@ ENDIF END DO * -* Compute (L \P' * B) -> B [ (L \P' * B) ] +* Compute (L \P**T * B) -> B [ (L \P**T * B) ] * CALL DTRSM('L','L','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (L \P' * B) ] +* Compute D \ B -> B [ D \ (L \P**T * B) ] * I=1 DO WHILE ( I .LE. N ) @@ -241,11 +241,11 @@ I = I + 1 END DO * -* Compute (L' \ B) -> B [ L' \ (D \ (L \P' * B) ) ] +* Compute (L**T \ B) -> B [ L**T \ (D \ (L \P**T * B) ) ] * CALL DTRSM('L','L','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (L' \ (D \ (L \P' * B) )) ] +* P * B [ P * (L**T \ (D \ (L \P**T * B) )) ] * K=N DO WHILE ( K .GE. 1 ) diff --git a/SRC/dtbrfs.f b/SRC/dtbrfs.f index c15bf9ce..2c56acd0 100644 --- a/SRC/dtbrfs.f +++ b/SRC/dtbrfs.f @@ -348,7 +348,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Multiply by diag(W)*inv(op(A)'). +* Multiply by diag(W)*inv(op(A)**T). * CALL DTBSV( UPLO, TRANST, DIAG, N, KD, AB, LDAB, $ WORK( N+1 ), 1 ) diff --git a/SRC/dtgex2.f b/SRC/dtgex2.f index 9334ba82..9362fe21 100644 --- a/SRC/dtgex2.f +++ b/SRC/dtgex2.f @@ -29,8 +29,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**T = Q(out) * A(out) * Z(out)**T +* Q(in) * B(in) * Z(in)**T = Q(out) * B(out) * Z(out)**T * * * Arguments @@ -259,7 +259,7 @@ IF( WANDS ) THEN * * Strong stability test: -* F-norm((A-QL'*S*QR, B-QL'*T*QR)) <= O(EPS*F-norm((A,B))) +* F-norm((A-QL**T*S*QR, B-QL**T*T*QR)) <= O(EPS*F-norm((A,B))) * CALL DLACPY( 'Full', M, M, A( J1, J1 ), LDA, WORK( M*M+1 ), $ M ) @@ -334,8 +334,8 @@ * * Compute orthogonal matrix QL: * -* QL' * LI = [ TL ] -* [ 0 ] +* QL**T * LI = [ TL ] +* [ 0 ] * where * LI = [ -L ] * [ SCALE * identity(N2) ] @@ -353,7 +353,7 @@ * * Compute orthogonal matrix RQ: * -* IR * RQ' = [ 0 TR], +* IR * RQ**T = [ 0 TR], * * where IR = [ SCALE * identity(N1), R ] * @@ -448,7 +448,7 @@ IF( WANDS ) THEN * * Strong stability test: -* F-norm((A-QL*S*QR', B-QL*T*QR')) <= O(EPS*F-norm((A,B))) +* F-norm((A-QL*S*QR**T, B-QL*T*QR**T)) <= O(EPS*F-norm((A,B))) * CALL DLACPY( 'Full', M, M, A( J1, J1 ), LDA, WORK( M*M+1 ), $ M ) diff --git a/SRC/dtgexc.f b/SRC/dtgexc.f index 4262778f..56158d45 100644 --- a/SRC/dtgexc.f +++ b/SRC/dtgexc.f @@ -33,8 +33,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**T = Q(out) * A(out) * Z(out)**T +* Q(in) * B(in) * Z(in)**T = Q(out) * B(out) * Z(out)**T * * * Arguments diff --git a/SRC/dtgsen.f b/SRC/dtgsen.f index 5c269fd0..583d087f 100644 --- a/SRC/dtgsen.f +++ b/SRC/dtgsen.f @@ -28,7 +28,7 @@ * * DTGSEN reorders the generalized real Schur decomposition of a real * matrix pair (A, B) (in terms of an orthonormal equivalence trans- -* formation Q' * (A, B) * Z), so that a selected cluster of eigenvalues +* formation Q**T * (A, B) * Z), so that a selected cluster of eigenvalues * appears in the leading diagonal blocks of the upper quasi-triangular * matrix A and the upper triangular B. The leading columns of Q and * Z form orthonormal bases of the corresponding left and right eigen- @@ -208,7 +208,7 @@ * In other words, the selected eigenvalues are the eigenvalues of * (A11, B11) in: * -* U'*(A, B)*W = (A11 A12) (B11 B12) n1 +* U**T*(A, B)*W = (A11 A12) (B11 B12) n1 * ( 0 A22),( 0 B22) n2 * n1 n2 n1 n2 * @@ -217,10 +217,10 @@ * (deflating subspaces) of (A, B). * * If (A, B) has been obtained from the generalized real Schur -* decomposition of a matrix pair (C, D) = Q*(A, B)*Z', then the +* decomposition of a matrix pair (C, D) = Q*(A, B)*Z**T, then the * reordered generalized real Schur form of (C, D) is given by * -* (C, D) = (Q*U)*(U'*(A, B)*W)*(Z*W)', +* (C, D) = (Q*U)*(U**T*(A, B)*W)*(Z*W)**T, * * and the first n1 columns of Q*U and Z*W span the corresponding * deflating subspaces of (C, D) (Q and Z store Q*U and Z*W, resp.). @@ -242,10 +242,10 @@ * where sigma-min(Zu) is the smallest singular value of the * (2*n1*n2)-by-(2*n1*n2) matrix * -* Zu = [ kron(In2, A11) -kron(A22', In1) ] -* [ kron(In2, B11) -kron(B22', In1) ]. +* Zu = [ kron(In2, A11) -kron(A22**T, In1) ] +* [ kron(In2, B11) -kron(B22**T, In1) ]. * -* Here, Inx is the identity matrix of size nx and A22' is the +* Here, Inx is the identity matrix of size nx and A22**T is the * transpose of A22. kron(X, Y) is the Kronecker product between * the matrices X and Y. * diff --git a/SRC/dtgsja.f b/SRC/dtgsja.f index cd011e81..1cb3b244 100644 --- a/SRC/dtgsja.f +++ b/SRC/dtgsja.f @@ -48,10 +48,10 @@ * * On exit, * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ), +* U**T *A*Q = D1*( 0 R ), V**T *B*Q = D2*( 0 R ), * -* where U, V and Q are orthogonal matrices, Z' denotes the transpose -* of Z, R is a nonsingular upper triangular matrix, and D1 and D2 are +* where U, V and Q are orthogonal matrices. +* R is a nonsingular upper triangular matrix, and D1 and D2 are * ``diagonal'' matrices, which are of the following structures: * * If M-K-L >= 0, @@ -247,7 +247,7 @@ * min(L,M-K)-by-L triangular (or trapezoidal) matrix A23 and L-by-L * matrix B13 to the form: * -* U1'*A13*Q1 = C1*R1; V1'*B13*Q1 = S1*R1, +* U1**T *A13*Q1 = C1*R1; V1**T *B13*Q1 = S1*R1, * * where U1, V1 and Q1 are orthogonal matrix, and Z' is the transpose * of Z. C1 and S1 are diagonal matrices satisfying @@ -367,13 +367,13 @@ CALL DLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, $ CSV, SNV, CSQ, SNQ ) * -* Update (K+I)-th and (K+J)-th rows of matrix A: U'*A +* Update (K+I)-th and (K+J)-th rows of matrix A: U**T *A * IF( K+J.LE.M ) $ CALL DROT( L, A( K+J, N-L+1 ), LDA, A( K+I, N-L+1 ), $ LDA, CSU, SNU ) * -* Update I-th and J-th rows of matrix B: V'*B +* Update I-th and J-th rows of matrix B: V**T *B * CALL DROT( L, B( J, N-L+1 ), LDB, B( I, N-L+1 ), LDB, $ CSV, SNV ) diff --git a/SRC/dtgsna.f b/SRC/dtgsna.f index 2b2c4fea..4f3d1dc7 100644 --- a/SRC/dtgsna.f +++ b/SRC/dtgsna.f @@ -24,7 +24,7 @@ * DTGSNA estimates reciprocal condition numbers for specified * eigenvalues and/or eigenvectors of a matrix pair (A, B) in * generalized real Schur canonical form (or of any matrix pair -* (Q*A*Z', Q*B*Z') with orthogonal matrices Q and Z, where +* (Q*A*Z**T, Q*B*Z**T) with orthogonal matrices Q and Z, where * Z' denotes the transpose of Z. * * (A, B) must be in generalized real Schur form (as returned by DGGES), @@ -150,12 +150,12 @@ * The reciprocal of the condition number of a generalized eigenvalue * w = (a, b) is defined as * -* S(w) = (|u'Av|**2 + |u'Bv|**2)**(1/2) / (norm(u)*norm(v)) +* S(w) = (|u**TAv|**2 + |u**TBv|**2)**(1/2) / (norm(u)*norm(v)) * * where u and v are the left and right eigenvectors of (A, B) * corresponding to w; |z| denotes the absolute value of the complex * number, and norm(u) denotes the 2-norm of the vector u. -* The pair (a, b) corresponds to an eigenvalue w = a/b (= u'Av/u'Bv) +* The pair (a, b) corresponds to an eigenvalue w = a/b (= u**TAv/u**TBv) * of the matrix pair (A, B). If both a and b equal zero, then (A B) is * singular and S(I) = -1 is returned. * @@ -175,7 +175,7 @@ * * Suppose U and V are orthogonal transformations such that * -* U'*(A, B)*V = (S, T) = ( a * ) ( b * ) 1 +* U**T*(A, B)*V = (S, T) = ( a * ) ( b * ) 1 * ( 0 S22 ),( 0 T22 ) n-1 * 1 n-1 1 n-1 * @@ -201,7 +201,7 @@ * * Suppose U and V are orthogonal transformations such that * -* U'*(A, B)*V = (S, T) = ( S11 * ) ( T11 * ) 2 +* U**T*(A, B)*V = (S, T) = ( S11 * ) ( T11 * ) 2 * ( 0 S22 ),( 0 T22) n-2 * 2 n-2 2 n-2 * @@ -209,7 +209,7 @@ * pair (w, conjg(w)). There exist unitary matrices U1 and V1 such * that * -* U1'*S11*V1 = ( s11 s12 ) and U1'*T11*V1 = ( t11 t12 ) +* U1**T*S11*V1 = ( s11 s12 ) and U1**T*T11*V1 = ( t11 t12 ) * ( 0 s22 ) ( 0 t22 ) * * where the generalized eigenvalues w = s11/t11 and @@ -226,8 +226,8 @@ * [ t11 -t22 ], * * This is done by computing (using real arithmetic) the -* roots of the characteristical polynomial det(Z1' * Z1 - lambda I), -* where Z1' denotes the conjugate transpose of Z1 and det(X) denotes +* roots of the characteristical polynomial det(Z1**T * Z1 - lambda I), +* where Z1**T denotes the transpose of Z1 and det(X) denotes * the determinant of X. * * and d2 is an upper bound on Difl((S11, T11), (S22, T22)), i.e. an diff --git a/SRC/dtgsy2.f b/SRC/dtgsy2.f index c86a2351..72dcf698 100644 --- a/SRC/dtgsy2.f +++ b/SRC/dtgsy2.f @@ -628,7 +628,7 @@ ELSE * * Solve (I, J) - subsystem -* A(I, I)' * R(I, J) + D(I, I)' * L(J, J) = C(I, J) +* A(I, I)**T * R(I, J) + D(I, I)**T * L(J, J) = C(I, J) * R(I, I) * B(J, J) + L(I, J) * E(J, J) = -F(I, J) * for I = 1, 2, ..., P, J = Q, Q - 1, ..., 1 * diff --git a/SRC/dtgsyl.f b/SRC/dtgsyl.f index 3712c07f..1b82a5c9 100644 --- a/SRC/dtgsyl.f +++ b/SRC/dtgsyl.f @@ -46,11 +46,11 @@ * Here Ik is the identity matrix of size k and X' is the transpose of * X. kron(X, Y) is the Kronecker product between the matrices X and Y. * -* If TRANS = 'T', DTGSYL solves the transposed system Z'*y = scale*b, +* If TRANS = 'T', DTGSYL solves the transposed system Z**T*y = scale*b, * which is equivalent to solve for R and L in * -* A' * R + D' * L = scale * C (3) -* R * B' + L * E' = scale * (-F) +* A**T * R + D**T * L = scale * C (3) +* R * B**T + L * E**T = scale * -F * * This case (TRANS = 'T') is used to compute an one-norm-based estimate * of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) @@ -485,8 +485,8 @@ ELSE * * Solve transposed (I, J)-subsystem -* A(I, I)' * R(I, J) + D(I, I)' * L(I, J) = C(I, J) -* R(I, J) * B(J, J)' + L(I, J) * E(J, J)' = -F(I, J) +* A(I, I)**T * R(I, J) + D(I, I)**T * L(I, J) = C(I, J) +* R(I, J) * B(J, J)**T + L(I, J) * E(J, J)**T = -F(I, J) * for I = 1,2,..., P; J = Q, Q-1,..., 1 * SCALE = ONE diff --git a/SRC/dtprfs.f b/SRC/dtprfs.f index c5d1ee82..f0ac8d38 100644 --- a/SRC/dtprfs.f +++ b/SRC/dtprfs.f @@ -344,7 +344,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Multiply by diag(W)*inv(op(A)'). +* Multiply by diag(W)*inv(op(A)**T). * CALL DTPSV( UPLO, TRANST, DIAG, N, AP, WORK( N+1 ), 1 ) DO 220 I = 1, N diff --git a/SRC/dtrevc.f b/SRC/dtrevc.f index bbb2d456..a37e2264 100644 --- a/SRC/dtrevc.f +++ b/SRC/dtrevc.f @@ -27,9 +27,9 @@ * The right eigenvector x and the left eigenvector y of T corresponding * to an eigenvalue w are defined by: * -* T*x = w*x, (y**H)*T = w*(y**H) +* T*x = w*x, (y**T)*T = w*(y**T) * -* where y**H denotes the conjugate transpose of y. +* where y**T denotes the transpose of y. * The eigenvalues are not input to this routine, but are read directly * from the diagonal blocks of T. * @@ -651,7 +651,7 @@ 160 CONTINUE * * Solve the quasi-triangular system: -* (T(KI+1:N,KI+1:N) - WR)'*X = SCALE*WORK +* (T(KI+1:N,KI+1:N) - WR)**T*X = SCALE*WORK * VMAX = ONE VCRIT = BIGNUM @@ -688,7 +688,7 @@ $ DDOT( J-KI-1, T( KI+1, J ), 1, $ WORK( KI+1+N ), 1 ) * -* Solve (T(J,J)-WR)'*X = WORK +* Solve (T(J,J)-WR)**T*X = WORK * CALL DLALN2( .FALSE., 1, 1, SMIN, ONE, T( J, J ), $ LDT, ONE, ONE, WORK( J+N ), N, WR, @@ -778,7 +778,7 @@ * Complex left eigenvector. * * Initial solve: -* ((T(KI,KI) T(KI,KI+1) )' - (WR - I* WI))*X = 0. +* ((T(KI,KI) T(KI,KI+1) )**T - (WR - I* WI))*X = 0. * ((T(KI+1,KI) T(KI+1,KI+1)) ) * IF( ABS( T( KI, KI+1 ) ).GE.ABS( T( KI+1, KI ) ) ) THEN diff --git a/SRC/dtrrfs.f b/SRC/dtrrfs.f index 4ecf6fa1..49fedcc8 100644 --- a/SRC/dtrrfs.f +++ b/SRC/dtrrfs.f @@ -338,7 +338,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Multiply by diag(W)*inv(op(A)'). +* Multiply by diag(W)*inv(op(A)**T). * CALL DTRSV( UPLO, TRANST, DIAG, N, A, LDA, WORK( N+1 ), $ 1 ) diff --git a/SRC/dtrsen.f b/SRC/dtrsen.f index 28e62c62..ba5528ce 100644 --- a/SRC/dtrsen.f +++ b/SRC/dtrsen.f @@ -156,7 +156,7 @@ * In other words, the selected eigenvalues are the eigenvalues of T11 * in: * -* Z'*T*Z = ( T11 T12 ) n1 +* Z**T * T * Z = ( T11 T12 ) n1 * ( 0 T22 ) n2 * n1 n2 * @@ -164,8 +164,8 @@ * of Z span the specified invariant subspace of T. * * If T has been obtained from the real Schur factorization of a matrix -* A = Q*T*Q', then the reordered real Schur factorization of A is given -* by A = (Q*Z)*(Z'*T*Z)*(Q*Z)', and the first n1 columns of Q*Z span +* A = Q*T*Q**T, then the reordered real Schur factorization of A is given +* by A = (Q*Z)*(Z**T*T*Z)*(Q*Z)**T, and the first n1 columns of Q*Z span * the corresponding invariant subspace of A. * * The reciprocal condition number of the average of the eigenvalues of @@ -422,7 +422,7 @@ $ IERR ) ELSE * -* Solve T11'*R - R*T22' = scale*X. +* Solve T11**T*R - R*T22**T = scale*X. * CALL DTRSYL( 'T', 'T', -1, N1, N2, T, LDT, $ T( N1+1, N1+1 ), LDT, WORK, N1, SCALE, diff --git a/SRC/dtrsna.f b/SRC/dtrsna.f index 33e1d995..6595d877 100644 --- a/SRC/dtrsna.f +++ b/SRC/dtrsna.f @@ -140,10 +140,10 @@ * The reciprocal of the condition number of an eigenvalue lambda is * defined as * -* S(lambda) = |v'*u| / (norm(u)*norm(v)) +* S(lambda) = |v**T*u| / (norm(u)*norm(v)) * * where u and v are the right and left eigenvectors of T corresponding -* to lambda; v' denotes the conjugate-transpose of v, and norm(u) +* to lambda; v**T denotes the transpose of v, and norm(u) * denotes the Euclidean norm. These reciprocal condition numbers always * lie between zero (very badly conditioned) and one (very well * conditioned). If n = 1, S(lambda) is defined to be 1. @@ -403,12 +403,12 @@ * * Form * -* C' = WORK(2:N,2:N) + i*[rwork(1) ..... rwork(n-1) ] -* [ mu ] -* [ .. ] -* [ .. ] -* [ mu ] -* where C' is conjugate transpose of complex matrix C, +* C**T = WORK(2:N,2:N) + i*[rwork(1) ..... rwork(n-1) ] +* [ mu ] +* [ .. ] +* [ .. ] +* [ mu ] +* where C**T is transpose of matrix C, * and RWORK is stored starting in the N+1-st column of * WORK. * @@ -426,7 +426,7 @@ NN = 2*( N-1 ) END IF * -* Estimate norm(inv(C')) +* Estimate norm(inv(C**T)) * EST = ZERO KASE = 0 @@ -437,7 +437,7 @@ IF( KASE.EQ.1 ) THEN IF( N2.EQ.1 ) THEN * -* Real eigenvalue: solve C'*x = scale*c. +* Real eigenvalue: solve C**T*x = scale*c. * CALL DLAQTR( .TRUE., .TRUE., N-1, WORK( 2, 2 ), $ LDWORK, DUMMY, DUMM, SCALE, @@ -446,7 +446,7 @@ ELSE * * Complex eigenvalue: solve -* C'*(p+iq) = scale*(c+id) in real arithmetic. +* C**T*(p+iq) = scale*(c+id) in real arithmetic. * CALL DLAQTR( .TRUE., .FALSE., N-1, WORK( 2, 2 ), $ LDWORK, WORK( 1, N+1 ), MU, SCALE, diff --git a/SRC/dtrsyl.f b/SRC/dtrsyl.f index ec3e23d7..e63db3c5 100644 --- a/SRC/dtrsyl.f +++ b/SRC/dtrsyl.f @@ -355,17 +355,17 @@ * ELSE IF( .NOT.NOTRNA .AND. NOTRNB ) THEN * -* Solve A' *X + ISGN*X*B = scale*C. +* Solve A**T *X + ISGN*X*B = scale*C. * * The (K,L)th block of X is determined starting from * upper-left corner column by column by * -* A(K,K)'*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) +* A(K,K)**T*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) * * Where -* K-1 L-1 -* R(K,L) = SUM [A(I,K)'*X(I,L)] +ISGN*SUM [X(K,J)*B(J,L)] -* I=1 J=1 +* K-1 L-1 +* R(K,L) = SUM [A(I,K)**T*X(I,L)] +ISGN*SUM [X(K,J)*B(J,L)] +* I=1 J=1 * * Start column loop (index = L) * L1 (L2): column index of the first (last) row of X(K,L) @@ -530,17 +530,17 @@ * ELSE IF( .NOT.NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A'*X + ISGN*X*B' = scale*C. +* Solve A**T*X + ISGN*X*B**T = scale*C. * * The (K,L)th block of X is determined starting from * top-right corner column by column by * -* A(K,K)'*X(K,L) + ISGN*X(K,L)*B(L,L)' = C(K,L) - R(K,L) +* A(K,K)**T*X(K,L) + ISGN*X(K,L)*B(L,L)**T = C(K,L) - R(K,L) * * Where -* K-1 N -* R(K,L) = SUM [A(I,K)'*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)']. -* I=1 J=L+1 +* K-1 N +* R(K,L) = SUM [A(I,K)**T*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)**T]. +* I=1 J=L+1 * * Start column loop (index = L) * L1 (L2): column index of the first (last) row of X(K,L) @@ -714,16 +714,16 @@ * ELSE IF( NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A*X + ISGN*X*B' = scale*C. +* Solve A*X + ISGN*X*B**T = scale*C. * * The (K,L)th block of X is determined starting from * bottom-right corner column by column by * -* A(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L)' = C(K,L) - R(K,L) +* A(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L)**T = C(K,L) - R(K,L) * * Where * M N -* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)']. +* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)**T]. * I=K+1 J=L+1 * * Start column loop (index = L) diff --git a/SRC/dtzrqf.f b/SRC/dtzrqf.f index 5652be50..cbec29e8 100644 --- a/SRC/dtzrqf.f +++ b/SRC/dtzrqf.f @@ -66,9 +66,9 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), -* ( 0 ) -* ( z( k ) ) +* T( k ) = I - tau*u( k )*u( k )**T, u( k ) = ( 1 ), +* ( 0 ) +* ( z( k ) ) * * tau is a scalar and z( k ) is an ( n - m ) element vector. * tau and z( k ) are chosen to annihilate the elements of the kth row @@ -149,7 +149,7 @@ $ LDA, A( K, M1 ), LDA, ONE, TAU, 1 ) * * Now form a( k ) := a( k ) - tau*w -* and B := B - tau*w*z( k )'. +* and B := B - tau*w*z( k )**T. * CALL DAXPY( K-1, -TAU( K ), TAU, 1, A( 1, K ), 1 ) CALL DGER( K-1, N-M, -TAU( K ), TAU, 1, A( K, M1 ), LDA, diff --git a/SRC/dtzrzf.f b/SRC/dtzrzf.f index 1a4c307f..bf7135b6 100644 --- a/SRC/dtzrzf.f +++ b/SRC/dtzrzf.f @@ -81,7 +81,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**T, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/sgbbrd.f b/SRC/sgbbrd.f index ccf61e0c..b2193861 100644 --- a/SRC/sgbbrd.f +++ b/SRC/sgbbrd.f @@ -19,20 +19,20 @@ * ======= * * SGBBRD reduces a real general m-by-n band matrix A to upper -* bidiagonal form B by an orthogonal transformation: Q' * A * P = B. +* bidiagonal form B by an orthogonal transformation: Q**T * A * P = B. * -* The routine computes B, and optionally forms Q or P', or computes -* Q'*C for a given matrix C. +* The routine computes B, and optionally forms Q or P**T, or computes +* Q**T*C for a given matrix C. * * Arguments * ========= * * VECT (input) CHARACTER*1 -* Specifies whether or not the matrices Q and P' are to be +* Specifies whether or not the matrices Q and P**T are to be * formed. -* = 'N': do not form Q or P'; +* = 'N': do not form Q or P**T; * = 'Q': form Q only; -* = 'P': form P' only; +* = 'P': form P**T only; * = 'B': form both. * * M (input) INTEGER @@ -85,7 +85,7 @@ * * C (input/output) REAL array, dimension (LDC,NCC) * On entry, an m-by-ncc matrix C. -* On exit, C is overwritten by Q'*C. +* On exit, C is overwritten by Q**T*C. * C is not referenced if NCC = 0. * * LDC (input) INTEGER @@ -157,7 +157,7 @@ RETURN END IF * -* Initialize Q and P' to the unit matrix, if needed +* Initialize Q and P**T to the unit matrix, if needed * IF( WANTQ ) $ CALL SLASET( 'Full', M, M, ZERO, ONE, Q, LDQ ) @@ -334,7 +334,7 @@ * IF( WANTPT ) THEN * -* accumulate product of plane rotations in P' +* accumulate product of plane rotations in P**T * DO 60 J = J1, J2, KB1 CALL SROT( N, PT( J+KUN-1, 1 ), LDPT, diff --git a/SRC/sgbcon.f b/SRC/sgbcon.f index b4b3c689..473c4ebb 100644 --- a/SRC/sgbcon.f +++ b/SRC/sgbcon.f @@ -179,13 +179,13 @@ $ INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL SLATBS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, $ KL+KU, AB, LDAB, WORK, SCALE, WORK( 2*N+1 ), $ INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**T). * IF( LNOTI ) THEN DO 30 J = N - 1, 1, -1 diff --git a/SRC/sgebd2.f b/SRC/sgebd2.f index 86875f0c..4a782f72 100644 --- a/SRC/sgebd2.f +++ b/SRC/sgebd2.f @@ -87,7 +87,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in A(i+1:m,i); @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); diff --git a/SRC/sgebrd.f b/SRC/sgebrd.f index 47eb1e1d..9a49eac5 100644 --- a/SRC/sgebrd.f +++ b/SRC/sgebrd.f @@ -99,7 +99,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in A(i+1:m,i); @@ -112,7 +112,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors; * v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); @@ -232,7 +232,7 @@ $ WORK( LDWRKX*NB+1 ), LDWRKY ) * * Update the trailing submatrix A(i+nb:m,i+nb:n), using an update -* of the form A := A - V*Y' - X*U' +* of the form A := A - V*Y**T - X*U**T * CALL SGEMM( 'No transpose', 'Transpose', M-I-NB+1, N-I-NB+1, $ NB, -ONE, A( I+NB, I ), LDA, diff --git a/SRC/sgecon.f b/SRC/sgecon.f index a2a11126..56c30232 100644 --- a/SRC/sgecon.f +++ b/SRC/sgecon.f @@ -149,12 +149,12 @@ $ A, LDA, WORK, SU, WORK( 3*N+1 ), INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL SLATRS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, A, $ LDA, WORK, SU, WORK( 3*N+1 ), INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL SLATRS( 'Lower', 'Transpose', 'Unit', NORMIN, N, A, $ LDA, WORK, SL, WORK( 2*N+1 ), INFO ) diff --git a/SRC/sgeev.f b/SRC/sgeev.f index d74fe71e..87b9861f 100644 --- a/SRC/sgeev.f +++ b/SRC/sgeev.f @@ -25,8 +25,8 @@ * A * v(j) = lambda(j) * v(j) * where lambda(j) is its eigenvalue. * The left eigenvector u(j) of A satisfies -* u(j)**H * A = lambda(j) * u(j)**H -* where u(j)**H denotes the conjugate transpose of u(j). +* u(j)**T * A = lambda(j) * u(j)**T +* where u(j)**T denotes the transpose of u(j). * * The computed eigenvectors are normalized to have Euclidean norm * equal to 1 and largest component real. diff --git a/SRC/sgeevx.f b/SRC/sgeevx.f index b3124a79..483930fe 100644 --- a/SRC/sgeevx.f +++ b/SRC/sgeevx.f @@ -35,8 +35,8 @@ * A * v(j) = lambda(j) * v(j) * where lambda(j) is its eigenvalue. * The left eigenvector u(j) of A satisfies -* u(j)**H * A = lambda(j) * u(j)**H -* where u(j)**H denotes the conjugate transpose of u(j). +* u(j)**T * A = lambda(j) * u(j)**T +* where u(j)**T denotes the transpose of u(j). * * The computed eigenvectors are normalized to have Euclidean norm * equal to 1 and largest component real. diff --git a/SRC/sgehd2.f b/SRC/sgehd2.f index f8419d27..466fef45 100644 --- a/SRC/sgehd2.f +++ b/SRC/sgehd2.f @@ -16,7 +16,7 @@ * ======= * * SGEHD2 reduces a real general matrix A to upper Hessenberg form H by -* an orthogonal similarity transformation: Q' * A * Q = H . +* an orthogonal similarity transformation: Q**T * A * Q = H . * * Arguments * ========= @@ -63,7 +63,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on diff --git a/SRC/sgehrd.f b/SRC/sgehrd.f index 1a76c891..3ba78516 100644 --- a/SRC/sgehrd.f +++ b/SRC/sgehrd.f @@ -16,7 +16,7 @@ * ======= * * SGEHRD reduces a real general matrix A to upper Hessenberg form H by -* an orthogonal similarity transformation: Q' * A * Q = H . +* an orthogonal similarity transformation: Q**T * A * Q = H . * * Arguments * ========= @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on @@ -223,14 +223,14 @@ IB = MIN( NB, IHI-I ) * * Reduce columns i:i+ib-1 to Hessenberg form, returning the -* matrices V and T of the block reflector H = I - V*T*V' +* matrices V and T of the block reflector H = I - V*T*V**T * which performs the reduction, and also the matrix Y = A*V*T * CALL SLAHR2( IHI, I, IB, A( 1, I ), LDA, TAU( I ), T, LDT, $ WORK, LDWORK ) * * Apply the block reflector H to A(1:ihi,i+ib:ihi) from the -* right, computing A := A - Y * V'. V(i+ib,ib-1) must be set +* right, computing A := A - Y * V**T. V(i+ib,ib-1) must be set * to 1 * EI = A( I+IB, I+IB-1 ) diff --git a/SRC/sgelq2.f b/SRC/sgelq2.f index 45eee7d6..d7f5c105 100644 --- a/SRC/sgelq2.f +++ b/SRC/sgelq2.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i,i+1:n), diff --git a/SRC/sgelqf.f b/SRC/sgelqf.f index 8eac3023..40140ff4 100644 --- a/SRC/sgelqf.f +++ b/SRC/sgelqf.f @@ -68,7 +68,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i,i+1:n), diff --git a/SRC/sgels.f b/SRC/sgels.f index 0c34a0e5..d20e4f02 100644 --- a/SRC/sgels.f +++ b/SRC/sgels.f @@ -277,7 +277,7 @@ * * Least-Squares Problem min || A * X - B || * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) * CALL SORMQR( 'Left', 'Transpose', M, NRHS, N, A, LDA, $ WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, @@ -359,7 +359,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Q(1:N,:)' * B(1:M,1:NRHS) +* B(1:N,1:NRHS) := Q(1:N,:)**T * B(1:M,1:NRHS) * CALL SORMLQ( 'Left', 'Transpose', N, NRHS, M, A, LDA, $ WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, diff --git a/SRC/sgelsx.f b/SRC/sgelsx.f index 409ba1a9..b7ea0f1f 100644 --- a/SRC/sgelsx.f +++ b/SRC/sgelsx.f @@ -44,8 +44,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**T [ inv(T11)*Q1**T*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * Arguments @@ -267,7 +267,7 @@ * * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) * CALL SORM2R( 'Left', 'Transpose', M, NRHS, MN, A, LDA, WORK( 1 ), $ B, LDB, WORK( 2*MN+1 ), INFO ) @@ -285,7 +285,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**T * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN DO 50 I = 1, RANK diff --git a/SRC/sgelsy.f b/SRC/sgelsy.f index 3a7b84c8..9e7bcd1a 100644 --- a/SRC/sgelsy.f +++ b/SRC/sgelsy.f @@ -42,8 +42,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**T [ inv(T11)*Q1**T*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * This routine is basically identical to the original xGELSX except @@ -325,7 +325,7 @@ * workspace: 2*MN. * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**T * B(1:M,1:NRHS) * CALL SORMQR( 'Left', 'Transpose', M, NRHS, MN, A, LDA, WORK( 1 ), $ B, LDB, WORK( 2*MN+1 ), LWORK-2*MN, INFO ) @@ -344,7 +344,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**T * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN CALL SORMRZ( 'Left', 'Transpose', N, NRHS, RANK, N-RANK, A, diff --git a/SRC/sgeql2.f b/SRC/sgeql2.f index 35db4a29..91e1aa3b 100644 --- a/SRC/sgeql2.f +++ b/SRC/sgeql2.f @@ -59,7 +59,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in diff --git a/SRC/sgeqlf.f b/SRC/sgeqlf.f index 79914c29..65aa74a7 100644 --- a/SRC/sgeqlf.f +++ b/SRC/sgeqlf.f @@ -71,7 +71,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in @@ -186,7 +186,7 @@ CALL SLARFT( 'Backward', 'Columnwise', M-K+I+IB-1, IB, $ A( 1, N-K+I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i+ib-1,1:n-k+i-1) from the left +* Apply H**T to A(1:m-k+i+ib-1,1:n-k+i-1) from the left * CALL SLARFB( 'Left', 'Transpose', 'Backward', $ 'Columnwise', M-K+I+IB-1, N-K+I-1, IB, diff --git a/SRC/sgeqp3.f b/SRC/sgeqp3.f index fdd9170e..12bfb585 100644 --- a/SRC/sgeqp3.f +++ b/SRC/sgeqp3.f @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real/complex scalar, and v is a real/complex vector * with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in diff --git a/SRC/sgeqpf.f b/SRC/sgeqpf.f index 23124882..1c631413 100644 --- a/SRC/sgeqpf.f +++ b/SRC/sgeqpf.f @@ -66,7 +66,7 @@ * * Each H(i) has the form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i). diff --git a/SRC/sgeqr2.f b/SRC/sgeqr2.f index 666015ff..e5fce4a9 100644 --- a/SRC/sgeqr2.f +++ b/SRC/sgeqr2.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), diff --git a/SRC/sgeqr2p.f b/SRC/sgeqr2p.f index b2b91339..070e93b3 100644 --- a/SRC/sgeqr2p.f +++ b/SRC/sgeqr2p.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), diff --git a/SRC/sgeqrf.f b/SRC/sgeqrf.f index 203e7fb2..a2b71d80 100644 --- a/SRC/sgeqrf.f +++ b/SRC/sgeqrf.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL SLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**T to A(i:m,i+ib:n) from the left * CALL SLARFB( 'Left', 'Transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/sgeqrfp.f b/SRC/sgeqrfp.f index 08f2c89d..6c6493fa 100644 --- a/SRC/sgeqrfp.f +++ b/SRC/sgeqrfp.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL SLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**T to A(i:m,i+ib:n) from the left * CALL SLARFB( 'Left', 'Transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/sgerq2.f b/SRC/sgerq2.f index ea4a1af6..3f6e5720 100644 --- a/SRC/sgerq2.f +++ b/SRC/sgerq2.f @@ -59,7 +59,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in diff --git a/SRC/sgerqf.f b/SRC/sgerqf.f index 8f4a2686..639906ac 100644 --- a/SRC/sgerqf.f +++ b/SRC/sgerqf.f @@ -71,7 +71,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in diff --git a/SRC/sgetrs.f b/SRC/sgetrs.f index 558e6e80..5aae04df 100644 --- a/SRC/sgetrs.f +++ b/SRC/sgetrs.f @@ -18,7 +18,7 @@ * ======= * * SGETRS solves a system of linear equations -* A * X = B or A' * X = B +* A * X = B or A**T * X = B * with a general N-by-N matrix A using the LU factorization computed * by SGETRF. * @@ -28,8 +28,8 @@ * TRANS (input) 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) +* = 'T': A**T* X = B (Transpose) +* = 'C': A**T* X = B (Conjugate transpose = Transpose) * * N (input) INTEGER * The order of the matrix A. N >= 0. @@ -126,14 +126,14 @@ $ NRHS, ONE, A, LDA, B, LDB ) ELSE * -* Solve A' * X = B. +* Solve A**T * X = B. * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL STRSM( 'Left', 'Upper', 'Transpose', 'Non-unit', N, NRHS, $ ONE, A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, overwriting B with X. * CALL STRSM( 'Left', 'Lower', 'Transpose', 'Unit', N, NRHS, ONE, $ A, LDA, B, LDB ) diff --git a/SRC/sggglm.f b/SRC/sggglm.f index a2b107d5..4b5eac46 100644 --- a/SRC/sggglm.f +++ b/SRC/sggglm.f @@ -186,9 +186,9 @@ * * Compute the GQR factorization of matrices A and B: * -* Q'*A = ( R11 ) M, Q'*B*Z' = ( T11 T12 ) M -* ( 0 ) N-M ( 0 T22 ) N-M -* M M+P-N N-M +* Q**T*A = ( R11 ) M, Q**T*B*Z**T = ( T11 T12 ) M +* ( 0 ) N-M ( 0 T22 ) N-M +* M M+P-N N-M * * where R11 and T22 are upper triangular, and Q and Z are * orthogonal. @@ -197,8 +197,8 @@ $ WORK( M+NP+1 ), LWORK-M-NP, INFO ) LOPT = WORK( M+NP+1 ) * -* Update left-hand-side vector d = Q'*d = ( d1 ) M -* ( d2 ) N-M +* Update left-hand-side vector d = Q**T*d = ( d1 ) M +* ( d2 ) N-M * CALL SORMQR( 'Left', 'Transpose', N, 1, M, A, LDA, WORK, D, $ MAX( 1, N ), WORK( M+NP+1 ), LWORK-M-NP, INFO ) @@ -245,7 +245,7 @@ CALL SCOPY( M, D, 1, X, 1 ) END IF * -* Backward transformation y = Z'*y +* Backward transformation y = Z**T *y * CALL SORMRQ( 'Left', 'Transpose', P, 1, NP, $ B( MAX( 1, N-P+1 ), 1 ), LDB, WORK( M+1 ), Y, diff --git a/SRC/sgglse.f b/SRC/sgglse.f index e8e3b760..706853da 100644 --- a/SRC/sgglse.f +++ b/SRC/sgglse.f @@ -183,9 +183,9 @@ * * Compute the GRQ factorization of matrices B and A: * -* B*Q' = ( 0 T12 ) P Z'*A*Q' = ( R11 R12 ) N-P -* N-P P ( 0 R22 ) M+P-N -* N-P P +* B*Q**T = ( 0 T12 ) P Z**T*A*Q**T = ( R11 R12 ) N-P +* N-P P ( 0 R22 ) M+P-N +* N-P P * * where T12 and R11 are upper triangular, and Q and Z are * orthogonal. @@ -194,8 +194,8 @@ $ WORK( P+MN+1 ), LWORK-P-MN, INFO ) LOPT = WORK( P+MN+1 ) * -* Update c = Z'*c = ( c1 ) N-P -* ( c2 ) M+P-N +* Update c = Z**T *c = ( c1 ) N-P +* ( c2 ) M+P-N * CALL SORMQR( 'Left', 'Transpose', M, 1, MN, A, LDA, WORK( P+1 ), $ C, MAX( 1, M ), WORK( P+MN+1 ), LWORK-P-MN, INFO ) @@ -233,7 +233,7 @@ RETURN END IF * -* Put the solution in X +* Put the solutions in X * CALL SCOPY( N-P, C, 1, X, 1 ) END IF @@ -254,7 +254,7 @@ CALL SAXPY( NR, -ONE, D, 1, C( N-P+1 ), 1 ) END IF * -* Backward transformation x = Q'*x +* Backward transformation x = Q**T*x * CALL SORMRQ( 'Left', 'Transpose', N, 1, P, B, LDB, WORK( 1 ), X, $ N, WORK( P+MN+1 ), LWORK-P-MN, INFO ) diff --git a/SRC/sggqrf.f b/SRC/sggqrf.f index 6f76c508..bb4f50f0 100644 --- a/SRC/sggqrf.f +++ b/SRC/sggqrf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GQR factorization * of A and B implicitly gives the QR factorization of inv(B)*A: * -* inv(B)*A = Z'*(inv(T)*R) +* inv(B)*A = Z**T*(inv(T)*R) * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**T denotes the * transpose of the matrix Z. * * Arguments @@ -119,7 +119,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**T * * where taua is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -133,7 +133,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**T * * where taub is a real scalar, and v is a real vector with * v(p-k+i+1:p) = 0 and v(p-k+i) = 1; v(1:p-k+i-1) is stored on exit in @@ -194,7 +194,7 @@ CALL SGEQRF( N, M, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := Q'*B. +* Update B := Q**T*B. * CALL SORMQR( 'Left', 'Transpose', N, P, MIN( N, M ), A, LDA, TAUA, $ B, LDB, WORK, LWORK, INFO ) diff --git a/SRC/sggrqf.f b/SRC/sggrqf.f index c752c7b0..aed20ed8 100644 --- a/SRC/sggrqf.f +++ b/SRC/sggrqf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GRQ factorization * of A and B implicitly gives the RQ factorization of A*inv(B): * -* A*inv(B) = (R*inv(T))*Z' +* A*inv(B) = (R*inv(T))*Z**T * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**T denotes the * transpose of the matrix Z. * * Arguments @@ -118,7 +118,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**T * * where taua is a real scalar, and v is a real vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in @@ -132,7 +132,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**T * * where taub is a real scalar, and v is a real vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:p) is stored on exit in B(i+1:p,i), @@ -193,7 +193,7 @@ CALL SGERQF( M, N, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := B*Q' +* Update B := B*Q**T * CALL SORMRQ( 'Right', 'Transpose', P, N, MIN( M, N ), $ A( MAX( 1, M-N+1 ), 1 ), LDA, TAUA, B, LDB, WORK, diff --git a/SRC/sggsvd.f b/SRC/sggsvd.f index 65b0e7f9..61405d71 100644 --- a/SRC/sggsvd.f +++ b/SRC/sggsvd.f @@ -24,10 +24,10 @@ * SGGSVD computes the generalized singular value decomposition (GSVD) * of an M-by-N real matrix A and P-by-N real matrix B: * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ) +* U**T*A*Q = D1*( 0 R ), V**T*B*Q = D2*( 0 R ) * -* where U, V and Q are orthogonal matrices, and Z' is the transpose -* of Z. Let K+L = the effective numerical rank of the matrix (A',B')', +* where U, V and Q are orthogonal matrices. +* Let K+L = the effective numerical rank of the matrix (A**T,B**T)**T, * then R is a K+L-by-K+L nonsingular upper triangular matrix, D1 and * D2 are M-by-(K+L) and P-by-(K+L) "diagonal" matrices and of the * following structures, respectively: @@ -86,13 +86,13 @@ * * In particular, if B is an N-by-N nonsingular matrix, then the GSVD of * A and B implicitly gives the SVD of A*inv(B): -* A*inv(B) = U*(D1*inv(D2))*V'. -* If ( A',B')' has orthonormal columns, then the GSVD of A and B is +* A*inv(B) = U*(D1*inv(D2))*V**T. +* If ( A**T,B**T)**T has orthonormal columns, then the GSVD of A and B is * also equal to the CS decomposition of A and B. Furthermore, the GSVD * can be used to derive the solution of the eigenvalue problem: -* A'*A x = lambda* B'*B x. +* A**T*A x = lambda* B**T*B x. * In some literature, the GSVD of A and B is presented in the form -* U'*A*X = ( 0 D1 ), V'*B*X = ( 0 D2 ) +* U**T*A*X = ( 0 D1 ), V**T*B*X = ( 0 D2 ) * where U and V are orthogonal and X is nonsingular, D1 and D2 are * ``diagonal''. The former GSVD form can be converted to the latter * form by taking the nonsingular matrix X as @@ -128,7 +128,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in the Purpose section. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A',B')**T. * * A (input/output) REAL array, dimension (LDA,N) * On entry, the M-by-N matrix A. @@ -209,7 +209,7 @@ * TOLA REAL * TOLB REAL * TOLA and TOLB are the thresholds to determine the effective -* rank of (A',B')'. Generally, they are set to +* rank of (A',B')**T. Generally, they are set to * TOLA = MAX(M,N)*norm(A)*MACHEPS, * TOLB = MAX(P,N)*norm(B)*MACHEPS. * The size of TOLA and TOLB may affect the size of backward diff --git a/SRC/sggsvp.f b/SRC/sggsvp.f index a62fbea5..4b633f30 100644 --- a/SRC/sggsvp.f +++ b/SRC/sggsvp.f @@ -23,24 +23,23 @@ * * SGGSVP computes orthogonal matrices U, V and Q such that * -* N-K-L K L -* U'*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; -* L ( 0 0 A23 ) -* M-K-L ( 0 0 0 ) +* N-K-L K L +* U**T*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; +* L ( 0 0 A23 ) +* M-K-L ( 0 0 0 ) * * N-K-L K L * = K ( 0 A12 A13 ) if M-K-L < 0; * M-K ( 0 0 A23 ) * -* N-K-L K L -* V'*B*Q = L ( 0 0 B13 ) -* P-L ( 0 0 0 ) +* N-K-L K L +* V**T*B*Q = L ( 0 0 B13 ) +* P-L ( 0 0 0 ) * * where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular * upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0, * otherwise A23 is (M-K)-by-L upper trapezoidal. K+L = the effective -* numerical rank of the (M+P)-by-N matrix (A',B')'. Z' denotes the -* transpose of Z. +* numerical rank of the (M+P)-by-N matrix (A**T,B**T)**T. * * This decomposition is the preprocessing step for computing the * Generalized Singular Value Decomposition (GSVD), see subroutine @@ -99,8 +98,8 @@ * K (output) INTEGER * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks -* described in Purpose. -* K + L = effective numerical rank of (A',B')'. +* described in Purpose section. +* K + L = effective numerical rank of (A**T,B**T)**T. * * U (output) REAL array, dimension (LDU,M) * If JOBU = 'U', U contains the orthogonal matrix U. @@ -258,14 +257,14 @@ * CALL SGERQ2( L, N, B, LDB, TAU, WORK, INFO ) * -* Update A := A*Z' +* Update A := A*Z**T * CALL SORMR2( 'Right', 'Transpose', M, N, L, B, LDB, TAU, A, $ LDA, WORK, INFO ) * IF( WANTQ ) THEN * -* Update Q := Q*Z' +* Update Q := Q*Z**T * CALL SORMR2( 'Right', 'Transpose', N, N, L, B, LDB, TAU, Q, $ LDQ, WORK, INFO ) @@ -287,7 +286,7 @@ * * then the following does the complete QR decomposition of A11: * -* A11 = U*( 0 T12 )*P1' +* A11 = U*( 0 T12 )*P1**T * ( 0 0 ) * DO 70 I = 1, N - L @@ -303,7 +302,7 @@ $ K = K + 1 80 CONTINUE * -* Update A12 := U'*A12, where A12 = A( 1:M, N-L+1:N ) +* Update A12 := U**T*A12, where A12 = A( 1:M, N-L+1:N ) * CALL SORM2R( 'Left', 'Transpose', M, L, MIN( M, N-L ), A, LDA, $ TAU, A( 1, N-L+1 ), LDA, WORK, INFO ) @@ -345,7 +344,7 @@ * IF( WANTQ ) THEN * -* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1' +* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1**T * CALL SORMR2( 'Right', 'Transpose', N, N-L, K, A, LDA, TAU, $ Q, LDQ, WORK, INFO ) diff --git a/SRC/sgtcon.f b/SRC/sgtcon.f index 3d453942..53e8eb18 100644 --- a/SRC/sgtcon.f +++ b/SRC/sgtcon.f @@ -151,7 +151,7 @@ $ WORK, N, INFO ) ELSE * -* Multiply by inv(L')*inv(U'). +* Multiply by inv(L**T)*inv(U**T). * CALL SGTTRS( 'Transpose', N, 1, DL, D, DU, DU2, IPIV, WORK, $ N, INFO ) diff --git a/SRC/sgtsv.f b/SRC/sgtsv.f index a8d77383..b2de9760 100644 --- a/SRC/sgtsv.f +++ b/SRC/sgtsv.f @@ -22,7 +22,7 @@ * where A is an n by n tridiagonal matrix, by Gaussian elimination with * partial pivoting. * -* Note that the equation A'*X = B may be solved by interchanging the +* Note that the equation A**T*X = B may be solved by interchanging the * order of the arguments DU and DL. * * Arguments diff --git a/SRC/sla_gbamv.f b/SRC/sla_gbamv.f index f5fbfe1f..cab2aa11 100644 --- a/SRC/sla_gbamv.f +++ b/SRC/sla_gbamv.f @@ -25,7 +25,7 @@ * SLA_GBAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -47,43 +47,43 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* KL (input) INTEGER +* KL (input) INTEGER * The number of subdiagonals within the band of A. KL >= 0. * -* KU (input) INTEGER +* KU (input) INTEGER * The number of superdiagonals within the band of A. KU >= 0. * -* ALPHA (input) REAL +* ALPHA (input) REAL * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - REAL array of DIMENSION ( LDA, n ) -* Before entry, the leading m by n part of the array A must +* AB (input) REAL array of DIMENSION ( LDAB, n ) +* Before entry, the leading m by n part of the array AB must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER -* On entry, LDA specifies the first dimension of A as declared -* in the calling (sub) program. LDA must be at least +* LDAB (input) INTEGER +* On entry, LDA specifies the first dimension of AB as declared +* in the calling (sub) program. LDAB must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) REAL array, dimension +* X (input) REAL array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -91,17 +91,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA (input) REAL +* BETA (input) REAL * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y (input/output) REAL array, dimension +* Y (input/output) REAL array, dimension * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. @@ -109,7 +109,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/sla_geamv.f b/SRC/sla_geamv.f index ca9e1bad..29681994 100644 --- a/SRC/sla_geamv.f +++ b/SRC/sla_geamv.f @@ -25,7 +25,7 @@ * SLA_GEAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -47,37 +47,37 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* ALPHA (input) REAL +* ALPHA (input) REAL * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - REAL array of DIMENSION ( LDA, n ) +* A (input) REAL array of DIMENSION ( LDA, n ) * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER +* LDA (input) INTEGER * On entry, LDA specifies the first dimension of A as declared * in the calling (sub) program. LDA must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) REAL array, dimension +* X (input) REAL array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -85,17 +85,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA (input) REAL +* BETA (input) REAL * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y - REAL +* Y (input/output) REAL * Array of DIMENSION at least * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least @@ -104,7 +104,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/slabrd.f b/SRC/slabrd.f index 5a1b2225..a4e3a7ae 100644 --- a/SRC/slabrd.f +++ b/SRC/slabrd.f @@ -19,7 +19,7 @@ * * SLABRD reduces the first NB rows and columns of a real general * m by n matrix A to upper or lower bidiagonal form by an orthogonal -* transformation Q' * A * P, and returns the matrices X and Y which +* transformation Q**T * A * P, and returns the matrices X and Y which * are needed to apply the transformation to the unreduced part of A. * * If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower @@ -81,14 +81,14 @@ * of A. * * LDX (input) INTEGER -* The leading dimension of the array X. LDX >= M. +* The leading dimension of the array X. LDX >= max(1,M). * * Y (output) REAL array, dimension (LDY,NB) * The n-by-nb matrix Y required to update the unreduced part * of A. * * LDY (input) INTEGER -* The leading dimension of the array Y. LDY >= N. +* The leading dimension of the array Y. LDY >= max(1,N). * * Further Details * =============== @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**T and G(i) = I - taup * u * u**T * * where tauq and taup are real scalars, and v and u are real vectors. * @@ -113,9 +113,9 @@ * A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i). * * The elements of the vectors v and u together form the m-by-nb matrix -* V and the nb-by-n matrix U' which are needed, with X and Y, to apply +* V and the nb-by-n matrix U**T which are needed, with X and Y, to apply * the transformation to the unreduced part of the matrix, using a block -* update of the form: A := A - V*Y' - X*U'. +* update of the form: A := A - V*Y**T - X*U**T. * * The contents of A on exit are illustrated by the following examples * with nb = 2: diff --git a/SRC/slaed7.f b/SRC/slaed7.f index 98ca6813..b0fd20eb 100644 --- a/SRC/slaed7.f +++ b/SRC/slaed7.f @@ -31,9 +31,9 @@ * the case in which all eigenvalues and eigenvectors of a symmetric * tridiagonal matrix are desired. * -* T = Q(in) ( D(in) + RHO * Z*Z' ) Q'(in) = Q(out) * D(out) * Q'(out) +* T = Q(in) ( D(in) + RHO * Z*Z**T ) Q**T(in) = Q(out) * D(out) * Q**T(out) * -* where Z = Q'u, u is a vector of length N with ones in the +* where Z = Q**Tu, u is a vector of length N with ones in the * CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. * * The eigenvectors of the original matrix are stored in Q, and the diff --git a/SRC/slaein.f b/SRC/slaein.f index b43fed4f..557d20cb 100644 --- a/SRC/slaein.f +++ b/SRC/slaein.f @@ -232,7 +232,7 @@ DO 110 ITS = 1, N * * Solve U*x = scale*v for a right eigenvector -* or U'*x = scale*v for a left eigenvector, +* or U**T*x = scale*v for a left eigenvector, * overwriting x on v. * CALL SLATRS( 'Upper', TRANS, 'Nonunit', NORMIN, N, B, LDB, diff --git a/SRC/slags2.f b/SRC/slags2.f index da34ecc6..e2b854c3 100644 --- a/SRC/slags2.f +++ b/SRC/slags2.f @@ -18,19 +18,19 @@ * SLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such * that if ( UPPER ) then * -* U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) -* ( 0 A3 ) ( x x ) +* U**T *A*Q = U**T *( A1 A2 )*Q = ( x 0 ) +* ( 0 A3 ) ( x x ) * and -* V'*B*Q = V'*( B1 B2 )*Q = ( x 0 ) -* ( 0 B3 ) ( x x ) +* V**T*B*Q = V**T *( B1 B2 )*Q = ( x 0 ) +* ( 0 B3 ) ( x x ) * * or if ( .NOT.UPPER ) then * -* U'*A*Q = U'*( A1 0 )*Q = ( x x ) -* ( A2 A3 ) ( 0 x ) +* U**T *A*Q = U**T *( A1 0 )*Q = ( x x ) +* ( A2 A3 ) ( 0 x ) * and -* V'*B*Q = V'*( B1 0 )*Q = ( x x ) -* ( B2 B3 ) ( 0 x ) +* V**T*B*Q = V**T*( B1 0 )*Q = ( x x ) +* ( B2 B3 ) ( 0 x ) * * The rows of the transformed A and B are parallel, where * @@ -112,8 +112,8 @@ IF( ABS( CSL ).GE.ABS( SNL ) .OR. ABS( CSR ).GE.ABS( SNR ) ) $ THEN * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**T *A and V**T *B, +* and (1,2) element of |U|**T *|A| and |V|**T *|B|. * UA11R = CSL*A1 UA12 = CSL*A2 + SNL*A3 @@ -124,7 +124,7 @@ AUA12 = ABS( CSL )*ABS( A2 ) + ABS( SNL )*ABS( A3 ) AVB12 = ABS( CSR )*ABS( B2 ) + ABS( SNR )*ABS( B3 ) * -* zero (1,2) elements of U'*A and V'*B +* zero (1,2) elements of U**T *A and V**T *B * IF( ( ABS( UA11R )+ABS( UA12 ) ).NE.ZERO ) THEN IF( AUA12 / ( ABS( UA11R )+ABS( UA12 ) ).LE.AVB12 / @@ -144,8 +144,8 @@ * ELSE * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**T *A and V**T *B, +* and (2,2) element of |U|**T *|A| and |V|**T *|B|. * UA21 = -SNL*A1 UA22 = -SNL*A2 + CSL*A3 @@ -156,7 +156,7 @@ AUA22 = ABS( SNL )*ABS( A2 ) + ABS( CSL )*ABS( A3 ) AVB22 = ABS( SNR )*ABS( B2 ) + ABS( CSR )*ABS( B3 ) * -* zero (2,2) elements of U'*A and V'*B, and then swap. +* zero (2,2) elements of U**T*A and V**T*B, and then swap. * IF( ( ABS( UA21 )+ABS( UA22 ) ).NE.ZERO ) THEN IF( AUA22 / ( ABS( UA21 )+ABS( UA22 ) ).LE.AVB22 / @@ -197,8 +197,8 @@ IF( ABS( CSR ).GE.ABS( SNR ) .OR. ABS( CSL ).GE.ABS( SNL ) ) $ THEN * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**T *A and V**T *B, +* and (2,1) element of |U|**T *|A| and |V|**T *|B|. * UA21 = -SNR*A1 + CSR*A2 UA22R = CSR*A3 @@ -209,7 +209,7 @@ AUA21 = ABS( SNR )*ABS( A1 ) + ABS( CSR )*ABS( A2 ) AVB21 = ABS( SNL )*ABS( B1 ) + ABS( CSL )*ABS( B2 ) * -* zero (2,1) elements of U'*A and V'*B. +* zero (2,1) elements of U**T *A and V**T *B. * IF( ( ABS( UA21 )+ABS( UA22R ) ).NE.ZERO ) THEN IF( AUA21 / ( ABS( UA21 )+ABS( UA22R ) ).LE.AVB21 / @@ -229,8 +229,8 @@ * ELSE * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**T *A and V**T *B, +* and (1,1) element of |U|**T *|A| and |V|**T *|B|. * UA11 = CSR*A1 + SNR*A2 UA12 = SNR*A3 @@ -241,7 +241,7 @@ AUA11 = ABS( CSR )*ABS( A1 ) + ABS( SNR )*ABS( A2 ) AVB11 = ABS( CSL )*ABS( B1 ) + ABS( SNL )*ABS( B2 ) * -* zero (1,1) elements of U'*A and V'*B, and then swap. +* zero (1,1) elements of U**T*A and V**T*B, and then swap. * IF( ( ABS( UA11 )+ABS( UA12 ) ).NE.ZERO ) THEN IF( AUA11 / ( ABS( UA11 )+ABS( UA12 ) ).LE.AVB11 / diff --git a/SRC/slagtm.f b/SRC/slagtm.f index a91fbdd8..fe96b309 100644 --- a/SRC/slagtm.f +++ b/SRC/slagtm.f @@ -128,7 +128,7 @@ 60 CONTINUE ELSE * -* Compute B := B + A'*X +* Compute B := B + A**T*X * DO 80 J = 1, NRHS IF( N.EQ.1 ) THEN @@ -166,7 +166,7 @@ 100 CONTINUE ELSE * -* Compute B := B - A'*X +* Compute B := B - A**T*X * DO 120 J = 1, NRHS IF( N.EQ.1 ) THEN diff --git a/SRC/slagts.f b/SRC/slagts.f index 619a4e2c..16e95380 100644 --- a/SRC/slagts.f +++ b/SRC/slagts.f @@ -19,7 +19,7 @@ * * SLAGTS may be used to solve one of the systems of equations * -* (T - lambda*I)*x = y or (T - lambda*I)'*x = y, +* (T - lambda*I)*x = y or (T - lambda*I)**T*x = y, * * where T is an n by n tridiagonal matrix, for x, following the * factorization of (T - lambda*I) as @@ -42,9 +42,9 @@ * and, if overflow would otherwise occur, the diagonal * elements of U are to be perturbed. See argument TOL * below. -* = 2: The equations (T - lambda*I)'x = y are to be solved, +* = 2: The equations (T - lambda*I)**Tx = y are to be solved, * but diagonal elements of U are not to be perturbed. -* = -2: The equations (T - lambda*I)'x = y are to be solved +* = -2: The equations (T - lambda*I)**Tx = y are to be solved * and, if overflow would otherwise occur, the diagonal * elements of U are to be perturbed. See argument TOL * below. diff --git a/SRC/slahr2.f b/SRC/slahr2.f index 2a9d2641..1d63053a 100644 --- a/SRC/slahr2.f +++ b/SRC/slahr2.f @@ -19,8 +19,8 @@ * SLAHR2 reduces the first NB columns of A real general n-BY-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by an orthogonal similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**T * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**T, and also the matrix Y = A * V * T. * * This is an auxiliary routine called by SGEHRD. * @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -84,7 +84,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**T) * (A - Y*V**T). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -144,12 +144,12 @@ * * Update A(K+1:N,I) * -* Update I-th column of A - Y * V' +* Update I-th column of A - Y * V**T * CALL SGEMV( 'NO TRANSPOSE', N-K, I-1, -ONE, Y(K+1,1), LDY, $ A( K+I-1, 1 ), LDA, ONE, A( K+1, I ), 1 ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T' * V**T to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -164,13 +164,13 @@ $ I-1, A( K+1, 1 ), $ LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**T * b2 * CALL SGEMV( 'Transpose', N-K-I+1, I-1, $ ONE, A( K+I, 1 ), $ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 ) * -* w := T'*w +* w := T**T * w * CALL STRMV( 'Upper', 'Transpose', 'NON-UNIT', $ I-1, T, LDT, diff --git a/SRC/slahrd.f b/SRC/slahrd.f index fc6d5a18..9c995463 100644 --- a/SRC/slahrd.f +++ b/SRC/slahrd.f @@ -19,8 +19,8 @@ * SLAHRD reduces the first NB columns of a real general n-by-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by an orthogonal similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**T * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**T, and also the matrix Y = A * V * T. * * This is an OBSOLETE auxiliary routine. * This routine will be 'deprecated' in a future release. @@ -76,7 +76,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -85,7 +85,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**T) * (A - Y*V**T). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -130,12 +130,12 @@ * * Update A(1:n,i) * -* Compute i-th column of A - Y * V' +* Compute i-th column of A - Y * V**T * CALL SGEMV( 'No transpose', N, I-1, -ONE, Y, LDY, $ A( K+I-1, 1 ), LDA, ONE, A( 1, I ), 1 ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T**T * V**T to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -143,18 +143,18 @@ * * where V1 is unit lower triangular * -* w := V1' * b1 +* w := V1**T * b1 * CALL SCOPY( I-1, A( K+1, I ), 1, T( 1, NB ), 1 ) CALL STRMV( 'Lower', 'Transpose', 'Unit', I-1, A( K+1, 1 ), $ LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**T *b2 * CALL SGEMV( 'Transpose', N-K-I+1, I-1, ONE, A( K+I, 1 ), $ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 ) * -* w := T'*w +* w := T**T *w * CALL STRMV( 'Upper', 'Transpose', 'Non-unit', I-1, T, LDT, $ T( 1, NB ), 1 ) diff --git a/SRC/slaic1.f b/SRC/slaic1.f index fb3a94e9..ab4680a8 100644 --- a/SRC/slaic1.f +++ b/SRC/slaic1.f @@ -40,7 +40,7 @@ * diag(sest*sest, 0) + [alpha gamma] * [ alpha ] * [ gamma ] * -* where alpha = x'*w. +* where alpha = x**T*w. * * Arguments * ========= diff --git a/SRC/slaqp2.f b/SRC/slaqp2.f index 337ddc69..d838c8fa 100644 --- a/SRC/slaqp2.f +++ b/SRC/slaqp2.f @@ -133,7 +133,7 @@ * IF( I.LT.N ) THEN * -* Apply H(i)' to A(offset+i:m,i+1:n) from the left. +* Apply H(i)**T to A(offset+i:m,i+1:n) from the left. * AII = A( OFFPI, I ) A( OFFPI, I ) = ONE diff --git a/SRC/slaqps.f b/SRC/slaqps.f index f251cabc..ed99d005 100644 --- a/SRC/slaqps.f +++ b/SRC/slaqps.f @@ -142,7 +142,7 @@ END IF * * Apply previous Householder reflectors to column K: -* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)'. +* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)**T. * IF( K.GT.1 ) THEN CALL SGEMV( 'No transpose', M-RK+1, K-1, -ONE, A( RK, 1 ), @@ -162,7 +162,7 @@ * * Compute Kth column of F: * -* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)'*A(RK:M,K). +* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)**T*A(RK:M,K). * IF( K.LT.N ) THEN CALL SGEMV( 'Transpose', M-RK+1, N-K, TAU( K ), @@ -177,7 +177,7 @@ 20 CONTINUE * * Incremental updating of F: -* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)' +* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)**T * *A(RK:M,K). * IF( K.GT.1 ) THEN @@ -189,7 +189,7 @@ END IF * * Update the current row of A: -* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)'. +* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)**T. * IF( K.LT.N ) THEN CALL SGEMV( 'No transpose', N-K, K, -ONE, F( K+1, 1 ), LDF, @@ -229,7 +229,7 @@ * * Apply the block reflector to the rest of the matrix: * A(OFFSET+KB+1:M,KB+1:N) := A(OFFSET+KB+1:M,KB+1:N) - -* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)'. +* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)**T. * IF( KB.LT.MIN( N, M-OFFSET ) ) THEN CALL SGEMM( 'No transpose', 'Transpose', M-RK, N-KB, KB, -ONE, diff --git a/SRC/slaqsb.f b/SRC/slaqsb.f index 14647a7b..d693fab9 100644 --- a/SRC/slaqsb.f +++ b/SRC/slaqsb.f @@ -45,7 +45,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**T*U or A = L*L**T of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER diff --git a/SRC/slaqtr.f b/SRC/slaqtr.f index 52a40270..46843f02 100644 --- a/SRC/slaqtr.f +++ b/SRC/slaqtr.f @@ -51,7 +51,7 @@ * LTRAN (input) LOGICAL * On entry, LTRAN specifies the option of conjugate transpose: * = .FALSE., op(T+i*B) = T+i*B, -* = .TRUE., op(T+i*B) = (T+i*B)'. +* = .TRUE., op(T+i*B) = (T+i*B)**T. * * LREAL (input) LOGICAL * On entry, LREAL specifies the input matrix structure: @@ -532,7 +532,7 @@ * ELSE * -* Solve (T + iB)'*(p+iq) = c+id +* Solve (T + iB)**T*(p+iq) = c+id * JNEXT = 1 DO 80 J = 1, N diff --git a/SRC/slar1v.f b/SRC/slar1v.f index 19287c6d..1c059ed0 100644 --- a/SRC/slar1v.f +++ b/SRC/slar1v.f @@ -25,14 +25,14 @@ * * SLAR1V computes the (scaled) r-th column of the inverse of * the sumbmatrix in rows B1 through BN of the tridiagonal matrix -* L D L^T - sigma I. When sigma is close to an eigenvalue, the +* L D L**T - sigma I. When sigma is close to an eigenvalue, the * computed vector is an accurate eigenvector. Usually, r corresponds * to the index where the eigenvector is largest in magnitude. * The following steps accomplish this computation : -* (a) Stationary qd transform, L D L^T - sigma I = L(+) D(+) L(+)^T, -* (b) Progressive qd transform, L D L^T - sigma I = U(-) D(-) U(-)^T, +* (a) Stationary qd transform, L D L**T - sigma I = L(+) D(+) L(+)**T, +* (b) Progressive qd transform, L D L**T - sigma I = U(-) D(-) U(-)**T, * (c) Computation of the diagonal elements of the inverse of -* L D L^T - sigma I by combining the above transforms, and choosing +* L D L**T - sigma I by combining the above transforms, and choosing * r as the index where the diagonal of the inverse is (one of the) * largest in magnitude. * (d) Computation of the (scaled) r-th column of the inverse using the @@ -43,40 +43,40 @@ * ========= * * N (input) INTEGER -* The order of the matrix L D L^T. +* The order of the matrix L D L**T. * * B1 (input) INTEGER -* First index of the submatrix of L D L^T. +* First index of the submatrix of L D L**T. * * BN (input) INTEGER -* Last index of the submatrix of L D L^T. +* Last index of the submatrix of L D L**T. * -* LAMBDA (input) REAL +* LAMBDA (input) REAL * The shift. In order to compute an accurate eigenvector, * LAMBDA should be a good approximation to an eigenvalue -* of L D L^T. +* of L D L**T. * -* L (input) REAL array, dimension (N-1) +* L (input) REAL array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal matrix * L, in elements 1 to N-1. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The n diagonal elements of the diagonal matrix D. * -* LD (input) REAL array, dimension (N-1) +* LD (input) REAL array, dimension (N-1) * The n-1 elements L(i)*D(i). * -* LLD (input) REAL array, dimension (N-1) +* LLD (input) REAL array, dimension (N-1) * The n-1 elements L(i)*L(i)*D(i). * -* PIVMIN (input) REAL +* PIVMIN (input) REAL * The minimum pivot in the Sturm sequence. * -* GAPTOL (input) REAL +* GAPTOL (input) REAL * Tolerance that indicates when eigenvector entries are negligible * w.r.t. their contribution to the residual. * -* Z (input/output) REAL array, dimension (N) +* Z (input/output) REAL array, dimension (N) * On input, all entries of Z must be set to 0. * On output, Z contains the (scaled) r-th column of the * inverse. The scaling is such that Z(R) equals 1. @@ -86,20 +86,20 @@ * * NEGCNT (output) INTEGER * If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin -* in the matrix factorization L D L^T, and NEGCNT = -1 otherwise. +* in the matrix factorization L D L**T, and NEGCNT = -1 otherwise. * -* ZTZ (output) REAL +* ZTZ (output) REAL * The square of the 2-norm of Z. * -* MINGMA (output) REAL +* MINGMA (output) REAL * The reciprocal of the largest (in magnitude) diagonal -* element of the inverse of L D L^T - sigma I. +* element of the inverse of L D L**T - sigma I. * * R (input/output) INTEGER * The twist index for the twisted factorization used to * compute Z. * On input, 0 <= R <= N. If R is input as 0, R is set to -* the index where (L D L^T - sigma I)^{-1} is largest +* the index where (L D L**T - sigma I)^{-1} is largest * in magnitude. If 1 <= R <= N, R is unchanged. * On output, R contains the twist index used to compute Z. * Ideally, R designates the position of the maximum entry in the @@ -109,18 +109,18 @@ * The support of the vector in Z, i.e., the vector Z is * nonzero only in elements ISUPPZ(1) through ISUPPZ( 2 ). * -* NRMINV (output) REAL +* NRMINV (output) REAL * NRMINV = 1/SQRT( ZTZ ) * -* RESID (output) REAL +* RESID (output) REAL * The residual of the FP vector. * RESID = ABS( MINGMA )/SQRT( ZTZ ) * -* RQCORR (output) REAL +* RQCORR (output) REAL * The Rayleigh Quotient correction to LAMBDA. * RQCORR = MINGMA*TMP * -* WORK (workspace) REAL array, dimension (4*N) +* WORK (workspace) REAL array, dimension (4*N) * * Further Details * =============== diff --git a/SRC/slarf.f b/SRC/slarf.f index b1e1539b..380d808b 100644 --- a/SRC/slarf.f +++ b/SRC/slarf.f @@ -21,7 +21,7 @@ * SLARF applies a real elementary reflector H to a real m by n matrix * C, from either the left or the right. H is represented in the form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar and v is a real vector. * @@ -121,12 +121,12 @@ * IF( LASTV.GT.0 ) THEN * -* w(1:lastc,1) := C(1:lastv,1:lastc)' * v(1:lastv,1) +* w(1:lastc,1) := C(1:lastv,1:lastc)**T * v(1:lastv,1) * CALL SGEMV( 'Transpose', LASTV, LASTC, ONE, C, LDC, V, INCV, $ ZERO, WORK, 1 ) * -* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)' +* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)**T * CALL SGER( LASTV, LASTC, -TAU, V, INCV, WORK, 1, C, LDC ) END IF @@ -141,7 +141,7 @@ CALL SGEMV( 'No transpose', LASTC, LASTV, ONE, C, LDC, $ V, INCV, ZERO, WORK, 1 ) * -* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)' +* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)**T * CALL SGER( LASTC, LASTV, -TAU, WORK, 1, V, INCV, C, LDC ) END IF diff --git a/SRC/slarfb.f b/SRC/slarfb.f index a4f23c17..597aaafe 100644 --- a/SRC/slarfb.f +++ b/SRC/slarfb.f @@ -19,19 +19,19 @@ * Purpose * ======= * -* SLARFB applies a real block reflector H or its transpose H' to a +* SLARFB applies a real block reflector H or its transpose H**T to a * real m by n matrix C, from either the left or the right. * * Arguments * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**T from the Left +* = 'R': apply H or H**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'T': apply H' (Transpose) +* = 'T': apply H**T (Transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -76,10 +76,10 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**T*C or C*H or C*H**T. * * LDC (input) INTEGER -* The leading dimension of the array C. LDA >= max(1,M). +* The leading dimension of the array C. LDC >= max(1,M). * * WORK (workspace) REAL array, dimension (LDWORK,K) * @@ -154,15 +154,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILASLR( M, K, V, LDV ) ) LASTC = ILASLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) * -* W := C1' +* W := C1**T * DO 10 J = 1, K CALL SCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) @@ -174,7 +174,7 @@ $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2 +* W := W + C2**T *V2 * CALL SGEMM( 'Transpose', 'No transpose', $ LASTC, K, LASTV-K, @@ -182,16 +182,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL STRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**T * IF( LASTV.GT.K ) THEN * -* C2 := C2 - V2 * W' +* C2 := C2 - V2 * W**T * CALL SGEMM( 'No transpose', 'Transpose', $ LASTV-K, LASTC, K, @@ -199,12 +199,12 @@ $ C( K+1, 1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**T * CALL STRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**T * DO 30 J = 1, K DO 20 I = 1, LASTC @@ -214,7 +214,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILASLR( N, K, V, LDV ) ) LASTC = ILASLR( M, LASTV, C, LDC ) @@ -241,16 +241,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL STRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - W * V' +* C := C - W * V**T * IF( LASTV.GT.K ) THEN * -* C2 := C2 - W * V2' +* C2 := C2 - W * V2**T * CALL SGEMM( 'No transpose', 'Transpose', $ LASTC, LASTV-K, K, @@ -258,7 +258,7 @@ $ C( 1, K+1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**T * CALL STRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) @@ -280,15 +280,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILASLR( M, K, V, LDV ) ) LASTC = ILASLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C' * V = (C1**T * V1 + C2**T * V2) (stored in WORK) * -* W := C2' +* W := C2**T * DO 70 J = 1, K CALL SCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, @@ -302,36 +302,36 @@ $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1 +* W := W + C1**T*V1 * CALL SGEMM( 'Transpose', 'No transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL STRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**T * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1 * W' +* C1 := C1 - V1 * W**T * CALL SGEMM( 'No transpose', 'Transpose', $ LASTV-K, LASTC, K, -ONE, V, LDV, WORK, LDWORK, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**T * CALL STRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**T * DO 90 J = 1, K DO 80 I = 1, LASTC @@ -341,7 +341,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILASLR( N, K, V, LDV ) ) LASTC = ILASLR( M, LASTV, C, LDC ) @@ -368,7 +368,7 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL STRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) @@ -377,14 +377,14 @@ * IF( LASTV.GT.K ) THEN * -* C1 := C1 - W * V1' +* C1 := C1 - W * V1**T * CALL SGEMM( 'No transpose', 'Transpose', $ LASTC, LASTV-K, K, -ONE, WORK, LDWORK, V, LDV, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**T * CALL STRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, @@ -409,27 +409,27 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILASLC( K, M, V, LDV ) ) LASTC = ILASLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) * -* W := C1' +* W := C1**T * DO 130 J = 1, K CALL SCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) 130 CONTINUE * -* W := W * V1' +* W := W * V1**T * CALL STRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2' +* W := W + C2**T*V2**T * CALL SGEMM( 'Transpose', 'Transpose', $ LASTC, K, LASTV-K, @@ -437,16 +437,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL STRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**T * W**T * IF( LASTV.GT.K ) THEN * -* C2 := C2 - V2' * W' +* C2 := C2 - V2**T * W**T * CALL SGEMM( 'Transpose', 'Transpose', $ LASTV-K, LASTC, K, @@ -459,7 +459,7 @@ CALL STRMM( 'Right', 'Upper', 'No transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**T * DO 150 J = 1, K DO 140 I = 1, LASTC @@ -469,12 +469,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILASLC( K, N, V, LDV ) ) LASTC = ILASLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) * * W := C1 * @@ -482,13 +482,13 @@ CALL SCOPY( LASTC, C( 1, J ), 1, WORK( 1, J ), 1 ) 160 CONTINUE * -* W := W * V1' +* W := W * V1**T * CALL STRMM( 'Right', 'Upper', 'Transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2 * V2' +* W := W + C2 * V2**T * CALL SGEMM( 'No transpose', 'Transpose', $ LASTC, K, LASTV-K, @@ -496,7 +496,7 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL STRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) @@ -535,45 +535,45 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**T * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILASLC( K, M, V, LDV ) ) LASTC = ILASLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) * -* W := C2' +* W := C2**T * DO 190 J = 1, K CALL SCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, $ WORK( 1, J ), 1 ) 190 CONTINUE * -* W := W * V2' +* W := W * V2**T * CALL STRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1' +* W := W + C1**T * V1**T * CALL SGEMM( 'Transpose', 'Transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**T or W * T * CALL STRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**T * W**T * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1' * W' +* C1 := C1 - V1**T * W**T * CALL SGEMM( 'Transpose', 'Transpose', $ LASTV-K, LASTC, K, -ONE, V, LDV, WORK, LDWORK, @@ -586,7 +586,7 @@ $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**T * DO 210 J = 1, K DO 200 I = 1, LASTC @@ -596,12 +596,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**T where C = ( C1 C2 ) * LASTV = MAX( K, ILASLC( K, N, V, LDV ) ) LASTC = ILASLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) * * W := C2 * @@ -610,21 +610,21 @@ $ WORK( 1, J ), 1 ) 220 CONTINUE * -* W := W * V2' +* W := W * V2**T * CALL STRMM( 'Right', 'Lower', 'Transpose', 'Unit', $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1 * V1' +* W := W + C1 * V1**T * CALL SGEMM( 'No transpose', 'Transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**T * CALL STRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) diff --git a/SRC/slarfg.f b/SRC/slarfg.f index 9da24ab3..8afa18d5 100644 --- a/SRC/slarfg.f +++ b/SRC/slarfg.f @@ -19,13 +19,13 @@ * SLARFG generates a real elementary reflector H of order n, such * that * -* H * ( alpha ) = ( beta ), H' * H = I. +* H * ( alpha ) = ( beta ), H**T * H = I. * ( x ) ( 0 ) * * where alpha and beta are scalars, and x is an (n-1)-element real * vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**T ) , * ( v ) * * where tau is a real scalar and v is a real (n-1)-element diff --git a/SRC/slarfgp.f b/SRC/slarfgp.f index 5b08c067..14f61349 100644 --- a/SRC/slarfgp.f +++ b/SRC/slarfgp.f @@ -19,13 +19,13 @@ * SLARFGP generates a real elementary reflector H of order n, such * that * -* H * ( alpha ) = ( beta ), H' * H = I. +* H * ( alpha ) = ( beta ), H**T * H = I. * ( x ) ( 0 ) * * where alpha and beta are scalars, beta is non-negative, and x is * an (n-1)-element real vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**T ) , * ( v ) * * where tau is a real scalar and v is a real (n-1)-element diff --git a/SRC/slarft.f b/SRC/slarft.f index f4eaab07..d2801834 100644 --- a/SRC/slarft.f +++ b/SRC/slarft.f @@ -27,12 +27,12 @@ * If STOREV = 'C', the vector which defines the elementary reflector * H(i) is stored in the i-th column of the array V, and * -* H = I - V * T * V' +* H = I - V * T * V**T * * If STOREV = 'R', the vector which defines the elementary reflector * H(i) is stored in the i-th row of the array V, and * -* H = I - V' * T * V +* H = I - V**T * T * V * * Arguments * ========= @@ -150,7 +150,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)' * V(i:j,i) +* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)**T * V(i:j,i) * CALL SGEMV( 'Transpose', J-I+1, I-1, -TAU( I ), $ V( I, 1 ), LDV, V( I, I ), 1, ZERO, @@ -162,7 +162,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)' +* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)**T * CALL SGEMV( 'No transpose', I-1, J-I+1, -TAU( I ), $ V( 1, I ), LDV, V( I, I ), LDV, ZERO, @@ -207,7 +207,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(j:n-k+i,i+1:k)' * V(j:n-k+i,i) +* - tau(i) * V(j:n-k+i,i+1:k)**T * V(j:n-k+i,i) * CALL SGEMV( 'Transpose', N-K+I-J+1, K-I, -TAU( I ), $ V( J, I+1 ), LDV, V( J, I ), 1, ZERO, @@ -223,7 +223,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)' +* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)**T * CALL SGEMV( 'No transpose', K-I, N-K+I-J+1, $ -TAU( I ), V( I+1, J ), LDV, V( I, J ), LDV, diff --git a/SRC/slarfx.f b/SRC/slarfx.f index e2279897..3af7f92b 100644 --- a/SRC/slarfx.f +++ b/SRC/slarfx.f @@ -21,7 +21,7 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar and v is a real vector. * diff --git a/SRC/slarrv.f b/SRC/slarrv.f index a59cd945..aa60876e 100644 --- a/SRC/slarrv.f +++ b/SRC/slarrv.f @@ -25,7 +25,7 @@ * ======= * * SLARRV computes the eigenvectors of the tridiagonal matrix -* T = L D L^T given L, D and APPROXIMATIONS to the eigenvalues of L D L^T. +* T = L D L**T given L, D and APPROXIMATIONS to the eigenvalues of L D L**T. * The input eigenvalues should have been computed by SLARRE. * * Arguments diff --git a/SRC/slarz.f b/SRC/slarz.f index 22ab06f9..f842ee01 100644 --- a/SRC/slarz.f +++ b/SRC/slarz.f @@ -21,7 +21,7 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**T * * where tau is a real scalar and v is a real vector. * @@ -101,7 +101,7 @@ * CALL SCOPY( N, C, LDC, WORK, 1 ) * -* w( 1:n ) = w( 1:n ) + C( m-l+1:m, 1:n )' * v( 1:l ) +* w( 1:n ) = w( 1:n ) + C( m-l+1:m, 1:n )**T * v( 1:l ) * CALL SGEMV( 'Transpose', L, N, ONE, C( M-L+1, 1 ), LDC, V, $ INCV, ONE, WORK, 1 ) @@ -111,7 +111,7 @@ CALL SAXPY( N, -TAU, WORK, 1, C, LDC ) * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* tau * v( 1:l ) * w( 1:n )' +* tau * v( 1:l ) * w( 1:n )**T * CALL SGER( L, N, -TAU, V, INCV, WORK, 1, C( M-L+1, 1 ), $ LDC ) @@ -137,7 +137,7 @@ CALL SAXPY( M, -TAU, WORK, 1, C, 1 ) * * C( 1:m, n-l+1:n ) = C( 1:m, n-l+1:n ) - ... -* tau * w( 1:m ) * v( 1:l )' +* tau * w( 1:m ) * v( 1:l )**T * CALL SGER( M, L, -TAU, WORK, 1, V, INCV, C( 1, N-L+1 ), $ LDC ) diff --git a/SRC/slarzb.f b/SRC/slarzb.f index fcd26c86..1c335cc8 100644 --- a/SRC/slarzb.f +++ b/SRC/slarzb.f @@ -27,12 +27,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**T from the Left +* = 'R': apply H or H**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'C': apply H' (Transpose) +* = 'C': apply H**T (Transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -77,7 +77,7 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the M-by-N matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**T*C or C*H or C*H**T. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -140,16 +140,16 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C +* Form H * C or H**T * C * -* W( 1:n, 1:k ) = C( 1:k, 1:n )' +* W( 1:n, 1:k ) = C( 1:k, 1:n )**T * DO 10 J = 1, K CALL SCOPY( N, C( J, 1 ), LDC, WORK( 1, J ), 1 ) 10 CONTINUE * * W( 1:n, 1:k ) = W( 1:n, 1:k ) + ... -* C( m-l+1:m, 1:n )' * V( 1:k, 1:l )' +* C( m-l+1:m, 1:n )**T * V( 1:k, 1:l )**T * IF( L.GT.0 ) $ CALL SGEMM( 'Transpose', 'Transpose', N, K, L, ONE, @@ -160,7 +160,7 @@ CALL STRMM( 'Right', 'Lower', TRANST, 'Non-unit', N, K, ONE, T, $ LDT, WORK, LDWORK ) * -* C( 1:k, 1:n ) = C( 1:k, 1:n ) - W( 1:n, 1:k )' +* C( 1:k, 1:n ) = C( 1:k, 1:n ) - W( 1:n, 1:k )**T * DO 30 J = 1, N DO 20 I = 1, K @@ -169,7 +169,7 @@ 30 CONTINUE * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* V( 1:k, 1:l )' * W( 1:n, 1:k )' +* V( 1:k, 1:l )**T * W( 1:n, 1:k )**T * IF( L.GT.0 ) $ CALL SGEMM( 'Transpose', 'Transpose', L, N, K, -ONE, V, LDV, @@ -177,7 +177,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' +* Form C * H or C * H**T * * W( 1:m, 1:k ) = C( 1:m, 1:k ) * @@ -186,13 +186,13 @@ 40 CONTINUE * * W( 1:m, 1:k ) = W( 1:m, 1:k ) + ... -* C( 1:m, n-l+1:n ) * V( 1:k, 1:l )' +* C( 1:m, n-l+1:n ) * V( 1:k, 1:l )**T * IF( L.GT.0 ) $ CALL SGEMM( 'No transpose', 'Transpose', M, K, L, ONE, $ C( 1, N-L+1 ), LDC, V, LDV, ONE, WORK, LDWORK ) * -* W( 1:m, 1:k ) = W( 1:m, 1:k ) * T or W( 1:m, 1:k ) * T' +* W( 1:m, 1:k ) = W( 1:m, 1:k ) * T or W( 1:m, 1:k ) * T**T * CALL STRMM( 'Right', 'Lower', TRANS, 'Non-unit', M, K, ONE, T, $ LDT, WORK, LDWORK ) diff --git a/SRC/slarzt.f b/SRC/slarzt.f index a30ecb1b..077ee709 100644 --- a/SRC/slarzt.f +++ b/SRC/slarzt.f @@ -164,7 +164,7 @@ * IF( I.LT.K ) THEN * -* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)' +* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)**T * CALL SGEMV( 'No transpose', K-I, N, -TAU( I ), $ V( I+1, 1 ), LDV, V( I, 1 ), LDV, ZERO, diff --git a/SRC/slasd1.f b/SRC/slasd1.f index b76a6fd7..4fae39ae 100644 --- a/SRC/slasd1.f +++ b/SRC/slasd1.f @@ -98,8 +98,8 @@ * * VT (input/output) REAL array, dimension (LDVT,M) * where M = N + SQRE. -* On entry VT(1:NL+1, 1:NL+1)' contains the right singular -* vectors of the upper block; VT(NL+2:M, NL+2:M)' contains +* On entry VT(1:NL+1, 1:NL+1)**T contains the right singular +* vectors of the upper block; VT(NL+2:M, NL+2:M)**T contains * the right singular vectors of the lower block. On exit * VT' contains the right singular vectors of the * bidiagonal matrix. diff --git a/SRC/slasyf.f b/SRC/slasyf.f index 71d7ab04..b9053885 100644 --- a/SRC/slasyf.f +++ b/SRC/slasyf.f @@ -21,11 +21,11 @@ * using the Bunch-Kaufman diagonal pivoting method. The partial * factorization has the form: * -* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: -* ( 0 U22 ) ( 0 D ) ( U12' U22' ) +* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: +* ( 0 U22 ) ( 0 D ) ( U12**T U22**T ) * -* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L' -* ( L21 I ) ( 0 A22 ) ( 0 I ) +* A = ( L11 0 ) ( D 0 ) ( L11**T L21**T ) if UPLO = 'L' +* ( L21 I ) ( 0 A22 ) ( 0 I ) * * where the order of D is at most NB. The actual order is returned in * the argument KB, and is either NB or NB-1, or N if N <= NB. @@ -313,7 +313,7 @@ * * Update the upper triangle of A11 (= A(1:k,1:k)) as * -* A11 := A11 - U12*D*U12' = A11 - U12*W' +* A11 := A11 - U12*D*U12**T = A11 - U12*W**T * * computing blocks of NB columns at a time * @@ -536,7 +536,7 @@ * * Update the lower triangle of A22 (= A(k:n,k:n)) as * -* A22 := A22 - L21*D*L21' = A22 - L21*W' +* A22 := A22 - L21*D*L21**T = A22 - L21*W**T * * computing blocks of NB columns at a time * diff --git a/SRC/slatrd.f b/SRC/slatrd.f index 9672401a..f73fecc7 100644 --- a/SRC/slatrd.f +++ b/SRC/slatrd.f @@ -18,7 +18,7 @@ * * SLATRD reduces NB rows and columns of a real symmetric matrix A to * symmetric tridiagonal form by an orthogonal similarity -* transformation Q' * A * Q, and returns the matrices V and W which are +* transformation Q**T * A * Q, and returns the matrices V and W which are * needed to apply the transformation to the unreduced part of A. * * If UPLO = 'U', SLATRD reduces the last NB rows and columns of a @@ -95,7 +95,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i), @@ -108,7 +108,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -117,7 +117,7 @@ * The elements of the vectors v together form the n-by-nb matrix V * which is needed, with W, to apply the transformation to the unreduced * part of the matrix, using a symmetric rank-2k update of the form: -* A := A - V*W' - W*V'. +* A := A - V*W**T - W*V**T. * * The contents of A on exit are illustrated by the following examples * with n = 5 and nb = 2: diff --git a/SRC/slatrz.f b/SRC/slatrz.f index 0359a267..a5852bcf 100644 --- a/SRC/slatrz.f +++ b/SRC/slatrz.f @@ -64,7 +64,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**T, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/slatzm.f b/SRC/slatzm.f index 54574f32..1694dd65 100644 --- a/SRC/slatzm.f +++ b/SRC/slatzm.f @@ -21,8 +21,8 @@ * * SLATZM applies a Householder matrix generated by STZRQF to a matrix. * -* Let P = I - tau*u*u', u = ( 1 ), -* ( v ) +* Let P = I - tau*u*u**T, u = ( 1 ), +* ( v ) * where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if * SIDE = 'R'. * @@ -110,13 +110,13 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* w := C1 + v' * C2 +* w := (C1 + v**T * C2)**T * CALL SCOPY( N, C1, LDC, WORK, 1 ) CALL SGEMV( 'Transpose', M-1, N, ONE, C2, LDC, V, INCV, ONE, $ WORK, 1 ) * -* [ C1 ] := [ C1 ] - tau* [ 1 ] * w' +* [ C1 ] := [ C1 ] - tau* [ 1 ] * w**T * [ C2 ] [ C2 ] [ v ] * CALL SAXPY( N, -TAU, WORK, 1, C1, LDC ) @@ -130,7 +130,7 @@ CALL SGEMV( 'No transpose', M, N-1, ONE, C2, LDC, V, INCV, ONE, $ WORK, 1 ) * -* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v'] +* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v**T] * CALL SAXPY( M, -TAU, WORK, 1, C1, 1 ) CALL SGER( M, N-1, -TAU, WORK, 1, V, INCV, C2, LDC ) diff --git a/SRC/slauu2.f b/SRC/slauu2.f index 25e9c82d..e1eb9c61 100644 --- a/SRC/slauu2.f +++ b/SRC/slauu2.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* SLAUU2 computes the product U * U' or L' * L, where the triangular +* SLAUU2 computes the product U * U**T or L**T * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) REAL array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**T; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**T * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -100,7 +100,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**T. * DO 10 I = 1, N AII = A( I, I ) @@ -115,7 +115,7 @@ * ELSE * -* Compute the product L' * L. +* Compute the product L**T * L. * DO 20 I = 1, N AII = A( I, I ) diff --git a/SRC/slauum.f b/SRC/slauum.f index 581767d8..de0081ce 100644 --- a/SRC/slauum.f +++ b/SRC/slauum.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* SLAUUM computes the product U * U' or L' * L, where the triangular +* SLAUUM computes the product U * U**T or L**T * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) REAL array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**T; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**T * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -112,7 +112,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**T. * DO 10 I = 1, N, NB IB = MIN( NB, N-I+1 ) @@ -131,7 +131,7 @@ 10 CONTINUE ELSE * -* Compute the product L' * L. +* Compute the product L**T * L. * DO 20 I = 1, N, NB IB = MIN( NB, N-I+1 ) diff --git a/SRC/sorglq.f b/SRC/sorglq.f index d284670d..8285f32d 100644 --- a/SRC/sorglq.f +++ b/SRC/sorglq.f @@ -185,7 +185,7 @@ CALL SLARFT( 'Forward', 'Rowwise', N-I+1, IB, A( I, I ), $ LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i+ib:m,i:n) from the right +* Apply H**T to A(i+ib:m,i:n) from the right * CALL SLARFB( 'Right', 'Transpose', 'Forward', 'Rowwise', $ M-I-IB+1, N-I+1, IB, A( I, I ), LDA, WORK, @@ -193,7 +193,7 @@ $ LDWORK ) END IF * -* Apply H' to columns i:n of current block +* Apply H**T to columns i:n of current block * CALL SORGL2( IB, N-I+1, IB, A( I, I ), LDA, TAU( I ), WORK, $ IINFO ) diff --git a/SRC/sorgrq.f b/SRC/sorgrq.f index 75777395..82814d2d 100644 --- a/SRC/sorgrq.f +++ b/SRC/sorgrq.f @@ -193,14 +193,14 @@ CALL SLARFT( 'Backward', 'Rowwise', N-K+I+IB-1, IB, $ A( II, 1 ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i-1,1:n-k+i+ib-1) from the right +* Apply H**T to A(1:m-k+i-1,1:n-k+i+ib-1) from the right * CALL SLARFB( 'Right', 'Transpose', 'Backward', 'Rowwise', $ II-1, N-K+I+IB-1, IB, A( II, 1 ), LDA, WORK, $ LDWORK, A, LDA, WORK( IB+1 ), LDWORK ) END IF * -* Apply H' to columns 1:n-k+i+ib-1 of current block +* Apply H**T to columns 1:n-k+i+ib-1 of current block * CALL SORGR2( IB, N-K+I+IB-1, IB, A( II, 1 ), LDA, TAU( I ), $ WORK, IINFO ) diff --git a/SRC/sorm2l.f b/SRC/sorm2l.f index a261a782..e8fc91fd 100644 --- a/SRC/sorm2l.f +++ b/SRC/sorm2l.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T * C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/sorm2r.f b/SRC/sorm2r.f index fb907dd3..971e5397 100644 --- a/SRC/sorm2r.f +++ b/SRC/sorm2r.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/sorml2.f b/SRC/sorml2.f index 78f5d762..45015055 100644 --- a/SRC/sorml2.f +++ b/SRC/sorml2.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/sormlq.f b/SRC/sormlq.f index 54142f90..d2918767 100644 --- a/SRC/sormlq.f +++ b/SRC/sormlq.f @@ -242,19 +242,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**T * CALL SLARFB( SIDE, TRANST, 'Forward', 'Rowwise', MI, NI, IB, $ A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, WORK, diff --git a/SRC/sormql.f b/SRC/sormql.f index 37a2bac2..7ed15d74 100644 --- a/SRC/sormql.f +++ b/SRC/sormql.f @@ -239,17 +239,17 @@ $ A( 1, I ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**T is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**T is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**T * CALL SLARFB( SIDE, TRANS, 'Backward', 'Columnwise', MI, NI, $ IB, A( 1, I ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/sormqr.f b/SRC/sormqr.f index 1193cf10..a35c71d6 100644 --- a/SRC/sormqr.f +++ b/SRC/sormqr.f @@ -235,19 +235,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**T * CALL SLARFB( SIDE, TRANS, 'Forward', 'Columnwise', MI, NI, $ IB, A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, diff --git a/SRC/sormr2.f b/SRC/sormr2.f index 966f76ab..05e32932 100644 --- a/SRC/sormr2.f +++ b/SRC/sormr2.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'T', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'T', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,8 +39,8 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) @@ -75,7 +75,7 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the m by n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). diff --git a/SRC/sormr3.f b/SRC/sormr3.f index 9bc3430a..541a2d2b 100644 --- a/SRC/sormr3.f +++ b/SRC/sormr3.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'T', or +* Q**T* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'T', +* C * Q**T if SIDE = 'R' and TRANS = 'C', * * where Q is a real orthogonal matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**T from the Left +* = 'R': apply Q or Q**T from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'T': apply Q' (Transpose) +* = 'T': apply Q**T (Transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -80,7 +80,7 @@ * * C (input/output) REAL array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -181,19 +181,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**T * CALL SLARZ( SIDE, MI, NI, L, A( I, JA ), LDA, TAU( I ), $ C( IC, JC ), LDC, WORK ) diff --git a/SRC/sormrq.f b/SRC/sormrq.f index 042de568..cfb72670 100644 --- a/SRC/sormrq.f +++ b/SRC/sormrq.f @@ -245,17 +245,17 @@ $ A( I, 1 ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**T is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**T is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**T * CALL SLARFB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, A( I, 1 ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/sormrz.f b/SRC/sormrz.f index 149eb6c2..801f137c 100644 --- a/SRC/sormrz.f +++ b/SRC/sormrz.f @@ -263,19 +263,19 @@ * IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**T is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**T is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**T * CALL SLARZB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, L, A( I, JA ), LDA, T, LDT, C( IC, JC ), diff --git a/SRC/spbcon.f b/SRC/spbcon.f index 76a98295..0fb53dd9 100644 --- a/SRC/spbcon.f +++ b/SRC/spbcon.f @@ -139,7 +139,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL SLATBS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, $ KD, AB, LDAB, WORK, SCALEL, WORK( 2*N+1 ), @@ -160,7 +160,7 @@ $ INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL SLATBS( 'Lower', 'Transpose', 'Non-unit', NORMIN, N, $ KD, AB, LDAB, WORK, SCALEU, WORK( 2*N+1 ), diff --git a/SRC/spbsv.f b/SRC/spbsv.f index a2abc6fb..b32d58a3 100644 --- a/SRC/spbsv.f +++ b/SRC/spbsv.f @@ -135,7 +135,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T*U or A = L*L**T. * CALL SPBTRF( UPLO, N, KD, AB, LDAB, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/spbsvx.f b/SRC/spbsvx.f index 4c4d5f34..95dc5ac6 100644 --- a/SRC/spbsvx.f +++ b/SRC/spbsvx.f @@ -352,7 +352,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T *U or A = L*L**T. * IF( UPPER ) THEN DO 40 J = 1, N diff --git a/SRC/spbtf2.f b/SRC/spbtf2.f index f20207af..6dd688e6 100644 --- a/SRC/spbtf2.f +++ b/SRC/spbtf2.f @@ -20,9 +20,9 @@ * positive definite band matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', -* where U is an upper triangular matrix, U' is the transpose of U, and +* A = U**T * U , if UPLO = 'U', or +* A = L * L**T, if UPLO = 'L', +* where U is an upper triangular matrix, U**T is the transpose of U, and * L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -52,7 +52,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**T*U or A = L*L**T of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER @@ -137,7 +137,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T*U. * DO 10 J = 1, N * @@ -161,7 +161,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * DO 20 J = 1, N * diff --git a/SRC/spbtrs.f b/SRC/spbtrs.f index 00733dac..a52834b7 100644 --- a/SRC/spbtrs.f +++ b/SRC/spbtrs.f @@ -107,11 +107,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**T *U. * DO 10 J = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL STBSV( 'Upper', 'Transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) @@ -123,7 +123,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**T. * DO 20 J = 1, NRHS * @@ -132,7 +132,7 @@ CALL STBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, overwriting B with X. * CALL STBSV( 'Lower', 'Transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) diff --git a/SRC/spocon.f b/SRC/spocon.f index 2880cd73..0a50fa18 100644 --- a/SRC/spocon.f +++ b/SRC/spocon.f @@ -129,7 +129,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL SLATRS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, A, $ LDA, WORK, SCALEL, WORK( 2*N+1 ), INFO ) @@ -147,7 +147,7 @@ $ A, LDA, WORK, SCALEL, WORK( 2*N+1 ), INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL SLATRS( 'Lower', 'Transpose', 'Non-unit', NORMIN, N, A, $ LDA, WORK, SCALEU, WORK( 2*N+1 ), INFO ) diff --git a/SRC/sposv.f b/SRC/sposv.f index f88006ef..19909a35 100644 --- a/SRC/sposv.f +++ b/SRC/sposv.f @@ -105,7 +105,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T*U or A = L*L**T. * CALL SPOTRF( UPLO, N, A, LDA, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/sposvx.f b/SRC/sposvx.f index fa1c1166..090ae300 100644 --- a/SRC/sposvx.f +++ b/SRC/sposvx.f @@ -320,7 +320,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T *U or A = L*L**T. * CALL SLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL SPOTRF( UPLO, N, AF, LDAF, INFO ) diff --git a/SRC/spotf2.f b/SRC/spotf2.f index fd8d1899..2b8d5157 100644 --- a/SRC/spotf2.f +++ b/SRC/spotf2.f @@ -20,8 +20,8 @@ * positive definite matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', +* A = U**T * U , if UPLO = 'U', or +* A = L * L**T, if UPLO = 'L', * where U is an upper triangular matrix and L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -48,7 +48,7 @@ * triangular part of A is not referenced. * * On exit, if INFO = 0, the factor U or L from the Cholesky -* factorization A = U'*U or A = L*L'. +* factorization A = U**T *U or A = L*L**T. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -107,7 +107,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T *U. * DO 10 J = 1, N * @@ -131,7 +131,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * DO 20 J = 1, N * diff --git a/SRC/spotrf.f b/SRC/spotrf.f index 0af0c91a..45dc72be 100644 --- a/SRC/spotrf.f +++ b/SRC/spotrf.f @@ -116,7 +116,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T*U. * DO 10 J = 1, N, NB * @@ -144,7 +144,7 @@ * ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * DO 20 J = 1, N, NB * diff --git a/SRC/spotri.f b/SRC/spotri.f index 59c21cc5..401a7921 100644 --- a/SRC/spotri.f +++ b/SRC/spotri.f @@ -86,7 +86,7 @@ IF( INFO.GT.0 ) $ RETURN * -* Form inv(U)*inv(U)' or inv(L)'*inv(L). +* Form inv(U) * inv(U)**T or inv(L)**T * inv(L). * CALL SLAUUM( UPLO, N, A, LDA, INFO ) * diff --git a/SRC/spotrs.f b/SRC/spotrs.f index 6c2c7cbb..1792841c 100644 --- a/SRC/spotrs.f +++ b/SRC/spotrs.f @@ -100,9 +100,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**T *U. * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL STRSM( 'Left', 'Upper', 'Transpose', 'Non-unit', N, NRHS, $ ONE, A, LDA, B, LDB ) @@ -113,14 +113,14 @@ $ NRHS, ONE, A, LDA, B, LDB ) ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**T. * * Solve L*X = B, overwriting B with X. * CALL STRSM( 'Left', 'Lower', 'No transpose', 'Non-unit', N, $ NRHS, ONE, A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, overwriting B with X. * CALL STRSM( 'Left', 'Lower', 'Transpose', 'Non-unit', N, NRHS, $ ONE, A, LDA, B, LDB ) diff --git a/SRC/sppcon.f b/SRC/sppcon.f index ddc9ec9c..1d492754 100644 --- a/SRC/sppcon.f +++ b/SRC/sppcon.f @@ -128,7 +128,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**T). * CALL SLATPS( 'Upper', 'Transpose', 'Non-unit', NORMIN, N, $ AP, WORK, SCALEL, WORK( 2*N+1 ), INFO ) @@ -146,7 +146,7 @@ $ AP, WORK, SCALEL, WORK( 2*N+1 ), INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**T). * CALL SLATPS( 'Lower', 'Transpose', 'Non-unit', NORMIN, N, $ AP, WORK, SCALEU, WORK( 2*N+1 ), INFO ) diff --git a/SRC/sppsv.f b/SRC/sppsv.f index 2b71a068..e0f4259e 100644 --- a/SRC/sppsv.f +++ b/SRC/sppsv.f @@ -117,7 +117,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T*U or A = L*L**T. * CALL SPPTRF( UPLO, N, AP, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/sppsvx.f b/SRC/sppsvx.f index 578785b4..b7be9041 100644 --- a/SRC/sppsvx.f +++ b/SRC/sppsvx.f @@ -112,17 +112,18 @@ * (N*(N+1)/2) * If FACT = 'F', then AFP is an input argument and on entry * contains the triangular factor U or L from the Cholesky -* factorization A = U'*U or A = L*L', in the same storage +* factorization A = U**T*U or A = L*L**T, in the same storage * format as A. If EQUED .ne. 'N', then AFP is the factored * form of the equilibrated matrix A. * * If FACT = 'N', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U'*U or A = L*L' of the original matrix A. +* factorization A = U**T * U or A = L * L**T of the original +* matrix A. * * If FACT = 'E', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U'*U or A = L*L' of the equilibrated +* factorization A = U**T * U or A = L * L**T of the equilibrated * matrix A (see the description of AP for the form of the * equilibrated matrix). * @@ -324,7 +325,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**T * U or A = L * L**T. * CALL SCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL SPPTRF( UPLO, N, AFP, INFO ) diff --git a/SRC/spptrf.f b/SRC/spptrf.f index 1ec242ff..b0d7cd20 100644 --- a/SRC/spptrf.f +++ b/SRC/spptrf.f @@ -115,7 +115,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**T*U. * JJ = 0 DO 10 J = 1, N @@ -139,7 +139,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**T. * JJ = 1 DO 20 J = 1, N diff --git a/SRC/spptri.f b/SRC/spptri.f index ff4e8507..5bb7961a 100644 --- a/SRC/spptri.f +++ b/SRC/spptri.f @@ -95,7 +95,7 @@ * IF( UPPER ) THEN * -* Compute the product inv(U) * inv(U)'. +* Compute the product inv(U) * inv(U)**T. * JJ = 0 DO 10 J = 1, N @@ -109,7 +109,7 @@ * ELSE * -* Compute the product inv(L)' * inv(L). +* Compute the product inv(L)**T * inv(L). * JJ = 1 DO 20 J = 1, N diff --git a/SRC/spptrs.f b/SRC/spptrs.f index d729ed13..b099f55a 100644 --- a/SRC/spptrs.f +++ b/SRC/spptrs.f @@ -96,11 +96,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**T * U. * DO 10 I = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B, overwriting B with X. * CALL STPSV( 'Upper', 'Transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) @@ -112,7 +112,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L * L**T. * DO 20 I = 1, NRHS * @@ -121,7 +121,7 @@ CALL STPSV( 'Lower', 'No transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) * -* Solve L'*X = Y, overwriting B with X. +* Solve L**T *X = Y, overwriting B with X. * CALL STPSV( 'Lower', 'Transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) diff --git a/SRC/sptcon.f b/SRC/sptcon.f index b556e8db..72666776 100644 --- a/SRC/sptcon.f +++ b/SRC/sptcon.f @@ -117,7 +117,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**T. * * Solve M(L) * x = e. * @@ -126,7 +126,7 @@ WORK( I ) = ONE + WORK( I-1 )*ABS( E( I-1 ) ) 20 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**T * x = b. * WORK( N ) = WORK( N ) / D( N ) DO 30 I = N - 1, 1, -1 diff --git a/SRC/sptrfs.f b/SRC/sptrfs.f index 865205cd..2b7e3b68 100644 --- a/SRC/sptrfs.f +++ b/SRC/sptrfs.f @@ -263,7 +263,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**T. * * Solve M(L) * x = e. * @@ -272,7 +272,7 @@ WORK( I ) = ONE + WORK( I-1 )*ABS( EF( I-1 ) ) 60 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**T * x = b. * WORK( N ) = WORK( N ) / DF( N ) DO 70 I = N - 1, 1, -1 diff --git a/SRC/sptsv.f b/SRC/sptsv.f index f46a9b25..09b08613 100644 --- a/SRC/sptsv.f +++ b/SRC/sptsv.f @@ -84,7 +84,7 @@ RETURN END IF * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**T (or U**T*D*U) factorization of A. * CALL SPTTRF( N, D, E, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/sptsvx.f b/SRC/sptsvx.f index 4ceb9239..8e1fa861 100644 --- a/SRC/sptsvx.f +++ b/SRC/sptsvx.f @@ -188,7 +188,7 @@ * IF( NOFACT ) THEN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**T (or U**T*D*U) factorization of A. * CALL SCOPY( N, D, 1, DF, 1 ) IF( N.GT.1 ) diff --git a/SRC/spttrf.f b/SRC/spttrf.f index 1cc6a927..ab88d09c 100644 --- a/SRC/spttrf.f +++ b/SRC/spttrf.f @@ -15,9 +15,9 @@ * Purpose * ======= * -* SPTTRF computes the L*D*L' factorization of a real symmetric +* SPTTRF computes the L*D*L**T factorization of a real symmetric * positive definite tridiagonal matrix A. The factorization may also -* be regarded as having the form A = U'*D*U. +* be regarded as having the form A = U**T*D*U. * * Arguments * ========= @@ -28,14 +28,14 @@ * D (input/output) REAL array, dimension (N) * On entry, the n diagonal elements of the tridiagonal matrix * A. On exit, the n diagonal elements of the diagonal matrix -* D from the L*D*L' factorization of A. +* D from the L*D*L**T factorization of A. * * E (input/output) REAL array, dimension (N-1) * On entry, the (n-1) subdiagonal elements of the tridiagonal * matrix A. On exit, the (n-1) subdiagonal elements of the -* unit bidiagonal factor L from the L*D*L' factorization of A. +* unit bidiagonal factor L from the L*D*L**T factorization of A. * E can also be regarded as the superdiagonal of the unit -* bidiagonal factor U from the U'*D*U factorization of A. +* bidiagonal factor U from the U**T*D*U factorization of A. * * INFO (output) INTEGER * = 0: successful exit @@ -77,7 +77,7 @@ IF( N.EQ.0 ) $ RETURN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**T (or U**T*D*U) factorization of A. * I4 = MOD( N-1, 4 ) DO 10 I = 1, I4 diff --git a/SRC/spttrs.f b/SRC/spttrs.f index 35216666..d4a9e5f5 100644 --- a/SRC/spttrs.f +++ b/SRC/spttrs.f @@ -17,7 +17,7 @@ * * SPTTRS solves a tridiagonal system of the form * A * X = B -* using the L*D*L' factorization of A computed by SPTTRF. D is a +* using the L*D*L**T factorization of A computed by SPTTRF. D is a * diagonal matrix specified in the vector D, L is a unit bidiagonal * matrix whose subdiagonal is specified in the vector E, and X and B * are N by NRHS matrices. @@ -34,13 +34,13 @@ * * D (input) REAL array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* L*D*L' factorization of A. +* L*D*L**T factorization of A. * * E (input) REAL array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal factor -* L from the L*D*L' factorization of A. E can also be regarded +* L from the L*D*L**T factorization of A. E can also be regarded * as the superdiagonal of the unit bidiagonal factor U from the -* factorization A = U'*D*U. +* factorization A = U**T*D*U. * * B (input/output) REAL array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of diff --git a/SRC/sptts2.f b/SRC/sptts2.f index fdc56996..6e185fda 100644 --- a/SRC/sptts2.f +++ b/SRC/sptts2.f @@ -17,7 +17,7 @@ * * SPTTS2 solves a tridiagonal system of the form * A * X = B -* using the L*D*L' factorization of A computed by SPTTRF. D is a +* using the L*D*L**T factorization of A computed by SPTTRF. D is a * diagonal matrix specified in the vector D, L is a unit bidiagonal * matrix whose subdiagonal is specified in the vector E, and X and B * are N by NRHS matrices. @@ -34,13 +34,13 @@ * * D (input) REAL array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* L*D*L' factorization of A. +* L*D*L**T factorization of A. * * E (input) REAL array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal factor -* L from the L*D*L' factorization of A. E can also be regarded +* L from the L*D*L**T factorization of A. E can also be regarded * as the superdiagonal of the unit bidiagonal factor U from the -* factorization A = U'*D*U. +* factorization A = U**T*D*U. * * B (input/output) REAL array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of @@ -68,7 +68,7 @@ RETURN END IF * -* Solve A * X = B using the factorization A = L*D*L', +* Solve A * X = B using the factorization A = L*D*L**T, * overwriting each right hand side vector with its solution. * DO 30 J = 1, NRHS @@ -79,7 +79,7 @@ B( I, J ) = B( I, J ) - B( I-1, J )*E( I-1 ) 10 CONTINUE * -* Solve D * L' * x = b. +* Solve D * L**T * x = b. * B( N, J ) = B( N, J ) / D( N ) DO 20 I = N - 1, 1, -1 diff --git a/SRC/sspcon.f b/SRC/sspcon.f index 9afbaeaf..7b2d467b 100644 --- a/SRC/sspcon.f +++ b/SRC/sspcon.f @@ -145,7 +145,7 @@ CALL SLACN2( N, WORK( N+1 ), WORK, IWORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL SSPTRS( UPLO, N, 1, AP, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/sspgst.f b/SRC/sspgst.f index b8a0ca9f..f4482258 100644 --- a/SRC/sspgst.f +++ b/SRC/sspgst.f @@ -102,7 +102,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**T)*A*inv(U) * * J1 and JJ are the indices of A(1,j) and A(j,j) * @@ -124,7 +124,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**T) * * KK and K1K1 are the indices of A(k,k) and A(k+1,k+1) * @@ -154,7 +154,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**T * * K1 and KK are the indices of A(1,k) and A(k,k) * @@ -179,7 +179,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**T *A*L * * JJ and J1J1 are the indices of A(j,j) and A(j+1,j+1) * diff --git a/SRC/sspgv.f b/SRC/sspgv.f index 269a53d7..27ea0076 100644 --- a/SRC/sspgv.f +++ b/SRC/sspgv.f @@ -159,7 +159,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -175,7 +175,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/sspgvd.f b/SRC/sspgvd.f index 682a4852..48cb24bb 100644 --- a/SRC/sspgvd.f +++ b/SRC/sspgvd.f @@ -191,7 +191,6 @@ END IF WORK( 1 ) = LWMIN IWORK( 1 ) = LIWMIN -* IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN INFO = -11 ELSE IF( LIWORK.LT.LIWMIN .AND. .NOT.LQUERY ) THEN @@ -237,7 +236,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -253,7 +252,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T *y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/sspgvx.f b/SRC/sspgvx.f index f8717c8a..26f0b71c 100644 --- a/SRC/sspgvx.f +++ b/SRC/sspgvx.f @@ -255,7 +255,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -271,7 +271,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/sspsv.f b/SRC/sspsv.f index de14e872..a1994997 100644 --- a/SRC/sspsv.f +++ b/SRC/sspsv.f @@ -132,7 +132,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL SSPTRF( UPLO, N, AP, IPIV, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/sspsvx.f b/SRC/sspsvx.f index 364a7707..f1a2f868 100644 --- a/SRC/sspsvx.f +++ b/SRC/sspsvx.f @@ -234,7 +234,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL SCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL SSPTRF( UPLO, N, AFP, IPIV, INFO ) diff --git a/SRC/ssptrd.f b/SRC/ssptrd.f index e4eabbf0..4599f503 100644 --- a/SRC/ssptrd.f +++ b/SRC/ssptrd.f @@ -73,7 +73,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP, @@ -86,7 +86,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP, @@ -140,7 +140,7 @@ I1 = N*( N-1 ) / 2 + 1 DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(1:i-1,i+1) * CALL SLARFG( I, AP( I1+I-1 ), AP( I1 ), 1, TAUI ) @@ -157,13 +157,13 @@ CALL SSPMV( UPLO, I, TAUI, AP, AP( I1 ), 1, ZERO, TAU, $ 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**T *v) * v * ALPHA = -HALF*TAUI*SDOT( I, TAU, 1, AP( I1 ), 1 ) CALL SAXPY( I, ALPHA, AP( I1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**T - w * v**T * CALL SSPR2( UPLO, I, -ONE, AP( I1 ), 1, TAU, 1, AP ) * @@ -183,7 +183,7 @@ DO 20 I = 1, N - 1 I1I1 = II + N - I + 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(i+2:n,i) * CALL SLARFG( N-I, AP( II+1 ), AP( II+2 ), 1, TAUI ) @@ -200,14 +200,14 @@ CALL SSPMV( UPLO, N-I, TAUI, AP( I1I1 ), AP( II+1 ), 1, $ ZERO, TAU( I ), 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**T *v) * v * ALPHA = -HALF*TAUI*SDOT( N-I, TAU( I ), 1, AP( II+1 ), $ 1 ) CALL SAXPY( N-I, ALPHA, AP( II+1 ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**T * CALL SSPR2( UPLO, N-I, -ONE, AP( II+1 ), 1, TAU( I ), 1, $ AP( I1I1 ) ) diff --git a/SRC/ssptrf.f b/SRC/ssptrf.f index 8e6b3bef..3b38eb83 100644 --- a/SRC/ssptrf.f +++ b/SRC/ssptrf.f @@ -71,7 +71,7 @@ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -88,7 +88,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -153,7 +153,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -274,7 +274,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = ONE / AP( KC+K-1 ) CALL SSPR( UPLO, K-1, -R1, AP( KC ), 1, AP ) @@ -293,8 +293,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -340,7 +340,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -468,7 +468,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * R1 = ONE / AP( KC ) CALL SSPR( UPLO, N-K, -R1, AP( KC+1 ), 1, @@ -491,8 +491,11 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**T +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**T +* +* where L(k) and L(k+1) are the k-th and (k+1)-th +* columns of L * D21 = AP( K+1+( K-1 )*( 2*N-K ) / 2 ) D11 = AP( K+1+K*( 2*N-K-1 ) / 2 ) / D21 diff --git a/SRC/ssptri.f b/SRC/ssptri.f index a00872bd..634f6f25 100644 --- a/SRC/ssptri.f +++ b/SRC/ssptri.f @@ -127,7 +127,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -228,7 +228,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/ssptrs.f b/SRC/ssptrs.f index 80e2e716..04b95d2f 100644 --- a/SRC/ssptrs.f +++ b/SRC/ssptrs.f @@ -103,7 +103,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -177,7 +177,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T*X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL SGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -212,7 +212,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL SGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -234,7 +234,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -311,7 +311,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T*X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -330,7 +330,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -347,7 +347,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/ssycon.f b/SRC/ssycon.f index 377aa804..fe5dc16a 100644 --- a/SRC/ssycon.f +++ b/SRC/ssycon.f @@ -148,7 +148,7 @@ CALL SLACN2( N, WORK( N+1 ), WORK, IWORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL SSYTRS( UPLO, N, 1, A, LDA, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/ssygs2.f b/SRC/ssygs2.f index 50c73ab8..b1b940ed 100644 --- a/SRC/ssygs2.f +++ b/SRC/ssygs2.f @@ -20,19 +20,19 @@ * to standard form. * * If ITYPE = 1, the problem is A*x = lambda*B*x, -* and A is overwritten by inv(U')*A*inv(U) or inv(L)*A*inv(L') +* and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T) * * If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or -* B*A*x = lambda*x, and A is overwritten by U*A*U` or L'*A*L. +* B*A*x = lambda*x, and A is overwritten by U*A*U**T or L**T *A*L. * -* B must have been previously factorized as U'*U or L*L' by SPOTRF. +* B must have been previously factorized as U**T *U or L*L**T by SPOTRF. * * Arguments * ========= * * ITYPE (input) INTEGER -* = 1: compute inv(U')*A*inv(U) or inv(L)*A*inv(L'); -* = 2 or 3: compute U*A*U' or L'*A*L. +* = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T); +* = 2 or 3: compute U*A*U**T or L**T *A*L. * * UPLO (input) CHARACTER*1 * Specifies whether the upper or lower triangular part of the @@ -115,7 +115,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**T)*A*inv(U) * DO 10 K = 1, N * @@ -140,7 +140,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**T) * DO 20 K = 1, N * @@ -165,7 +165,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**T * DO 30 K = 1, N * @@ -185,7 +185,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**T *A*L * DO 40 K = 1, N * diff --git a/SRC/ssygst.f b/SRC/ssygst.f index e9fb56d5..7537b7b3 100644 --- a/SRC/ssygst.f +++ b/SRC/ssygst.f @@ -133,7 +133,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**T)*A*inv(U) * DO 10 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -163,7 +163,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**T) * DO 20 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -195,7 +195,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**T * DO 30 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -219,7 +219,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**T*A*L * DO 40 K = 1, N, NB KB = MIN( N-K+1, NB ) diff --git a/SRC/ssygv.f b/SRC/ssygv.f index e1c623e3..a05dd701 100644 --- a/SRC/ssygv.f +++ b/SRC/ssygv.f @@ -195,7 +195,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -209,7 +209,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/ssygvd.f b/SRC/ssygvd.f index 432eb1a4..6dd57381 100644 --- a/SRC/ssygvd.f +++ b/SRC/ssygvd.f @@ -246,7 +246,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -260,7 +260,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/ssygvx.f b/SRC/ssygvx.f index d8446f2c..7a6aa961 100644 --- a/SRC/ssygvx.f +++ b/SRC/ssygvx.f @@ -296,7 +296,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**T*y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -310,7 +310,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**T*y * IF( UPPER ) THEN TRANS = 'T' diff --git a/SRC/ssysv.f b/SRC/ssysv.f index 9743dd8a..fdaa147f 100644 --- a/SRC/ssysv.f +++ b/SRC/ssysv.f @@ -158,7 +158,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL SSYTRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/ssysvx.f b/SRC/ssysvx.f index 4dcc0e12..7776f414 100644 --- a/SRC/ssysvx.f +++ b/SRC/ssysvx.f @@ -254,7 +254,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL SLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL SSYTRF( UPLO, N, AF, LDAF, IPIV, WORK, LWORK, INFO ) diff --git a/SRC/ssytd2.f b/SRC/ssytd2.f index 576450d0..e15280ee 100644 --- a/SRC/ssytd2.f +++ b/SRC/ssytd2.f @@ -17,7 +17,7 @@ * ======= * * SSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal -* form T by an orthogonal similarity transformation: Q' * A * Q = T. +* form T by an orthogonal similarity transformation: Q**T * A * Q = T. * * Arguments * ========= @@ -79,7 +79,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -92,7 +92,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -163,7 +163,7 @@ * DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(1:i-1,i+1) * CALL SLARFG( I, A( I, I+1 ), A( 1, I+1 ), 1, TAUI ) @@ -180,13 +180,13 @@ CALL SSYMV( UPLO, I, TAUI, A, LDA, A( 1, I+1 ), 1, ZERO, $ TAU, 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**T * v) * v * ALPHA = -HALF*TAUI*SDOT( I, TAU, 1, A( 1, I+1 ), 1 ) CALL SAXPY( I, ALPHA, A( 1, I+1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**T - w * v**T * CALL SSYR2( UPLO, I, -ONE, A( 1, I+1 ), 1, TAU, 1, A, $ LDA ) @@ -203,7 +203,7 @@ * DO 20 I = 1, N - 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**T * to annihilate A(i+2:n,i) * CALL SLARFG( N-I, A( I+1, I ), A( MIN( I+2, N ), I ), 1, @@ -221,14 +221,14 @@ CALL SSYMV( UPLO, N-I, TAUI, A( I+1, I+1 ), LDA, $ A( I+1, I ), 1, ZERO, TAU( I ), 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**T * v) * v * ALPHA = -HALF*TAUI*SDOT( N-I, TAU( I ), 1, A( I+1, I ), $ 1 ) CALL SAXPY( N-I, ALPHA, A( I+1, I ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**T * CALL SSYR2( UPLO, N-I, -ONE, A( I+1, I ), 1, TAU( I ), 1, $ A( I+1, I+1 ), LDA ) diff --git a/SRC/ssytf2.f b/SRC/ssytf2.f index c20b4747..d94f7f70 100644 --- a/SRC/ssytf2.f +++ b/SRC/ssytf2.f @@ -20,10 +20,10 @@ * SSYTF2 computes the factorization of a real symmetric matrix A using * the Bunch-Kaufman diagonal pivoting method: * -* A = U*D*U' or A = L*D*L' +* A = U*D*U**T or A = L*D*L**T * * where U (or L) is a product of permutation and unit upper (lower) -* triangular matrices, U' is the transpose of U, and D is symmetric and +* triangular matrices, U**T is the transpose of U, and D is symmetric and * block diagonal with 1-by-1 and 2-by-2 diagonal blocks. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -90,7 +90,7 @@ * 1-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -107,7 +107,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -173,7 +173,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -279,7 +279,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = ONE / A( K, K ) CALL SSYR( UPLO, K-1, -R1, A( 1, K ), 1, A, LDA ) @@ -298,8 +298,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -341,7 +341,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -450,7 +450,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * D11 = ONE / A( K, K ) CALL SSYR( UPLO, N-K, -D11, A( K+1, K ), 1, @@ -468,7 +468,7 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( (A(k) A(k+1))*D(k)**(-1) ) * (A(k) A(k+1))' +* A := A - ( (A(k) A(k+1))*D(k)**(-1) ) * (A(k) A(k+1))**T * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/ssytrd.f b/SRC/ssytrd.f index 3399e5e3..b122d9c2 100644 --- a/SRC/ssytrd.f +++ b/SRC/ssytrd.f @@ -92,7 +92,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -105,7 +105,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**T * * where tau is a real scalar, and v is a real vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -235,7 +235,7 @@ $ LDWORK ) * * Update the unreduced submatrix A(1:i-1,1:i-1), using an -* update of the form: A := A - V*W' - W*V' +* update of the form: A := A - V*W' - W*V**T * CALL SSYR2K( UPLO, 'No transpose', I-1, NB, -ONE, A( 1, I ), $ LDA, WORK, LDWORK, ONE, A, LDA ) @@ -266,7 +266,7 @@ $ TAU( I ), WORK, LDWORK ) * * Update the unreduced submatrix A(i+ib:n,i+ib:n), using -* an update of the form: A := A - V*W' - W*V' +* an update of the form: A := A - V*W' - W*V**T * CALL SSYR2K( UPLO, 'No transpose', N-I-NB+1, NB, -ONE, $ A( I+NB, I ), LDA, WORK( NB+1 ), LDWORK, ONE, diff --git a/SRC/ssytrf.f b/SRC/ssytrf.f index 46a1af8c..6fb06d7e 100644 --- a/SRC/ssytrf.f +++ b/SRC/ssytrf.f @@ -87,7 +87,7 @@ * Further Details * =============== * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -104,7 +104,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -187,7 +187,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * KB, where KB is the number of columns factorized by SLASYF; @@ -228,7 +228,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * KB, where KB is the number of columns factorized by SLASYF; diff --git a/SRC/ssytri.f b/SRC/ssytri.f index 0ce0701d..118fc6b2 100644 --- a/SRC/ssytri.f +++ b/SRC/ssytri.f @@ -127,7 +127,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -216,7 +216,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/ssytri2x.f b/SRC/ssytri2x.f index 9c163053..ea07f029 100644 --- a/SRC/ssytri2x.f +++ b/SRC/ssytri2x.f @@ -153,7 +153,7 @@ IF( UPPER ) THEN * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL STRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -181,9 +181,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=N DO WHILE (CUT .GT. 0) @@ -308,7 +308,7 @@ * END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=1 DO WHILE ( I .LE. N ) @@ -330,7 +330,7 @@ * * LOWER... * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL STRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -358,9 +358,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=0 DO WHILE (CUT .LT. N) @@ -494,7 +494,7 @@ CUT=CUT+NNB END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=N DO WHILE ( I .GE. 1 ) diff --git a/SRC/ssytrs.f b/SRC/ssytrs.f index 9d2c8066..80600ea2 100644 --- a/SRC/ssytrs.f +++ b/SRC/ssytrs.f @@ -107,7 +107,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -178,7 +178,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL SGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -211,7 +211,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL SGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -232,7 +232,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -306,7 +306,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -323,7 +323,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -340,7 +340,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/ssytrs2.f b/SRC/ssytrs2.f index ff212ea1..2091ac94 100644 --- a/SRC/ssytrs2.f +++ b/SRC/ssytrs2.f @@ -1,13 +1,12 @@ SUBROUTINE SSYTRS2( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, $ WORK, INFO ) * -* -- LAPACK PROTOTYPE routine (version 3.2.2) -- -* -* -- Written by Julie Langou of the Univ. of TN -- -* May 2010 -* +* -- LAPACK PROTOTYPE routine (version 3.3.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- +* November 2010 +* +* -- Written by Julie Langou of the Univ. of TN -- * * .. Scalar Arguments .. CHARACTER UPLO @@ -117,7 +116,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * P' * B K=N @@ -139,11 +138,11 @@ END IF END DO * -* Compute (U \P' * B) -> B [ (U \P' * B) ] +* Compute (U \P**T * B) -> B [ (U \P**T * B) ] * CALL STRSM('L','U','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (U \P' * B) ] +* Compute D \ B -> B [ D \ (U \P**T * B) ] * I=N DO WHILE ( I .GE. 1 ) @@ -167,11 +166,11 @@ I = I - 1 END DO * -* Compute (U' \ B) -> B [ U' \ (D \ (U \P' * B) ) ] +* Compute (U**T \ B) -> B [ U**T \ (D \ (U \P**T * B) ) ] * CALL STRSM('L','U','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (U' \ (D \ (U \P' * B) )) ] +* P * B [ P * (U**T \ (D \ (U \P**T * B) )) ] * K=1 DO WHILE ( K .LE. N ) @@ -194,7 +193,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * P' * B K=1 @@ -216,11 +215,11 @@ ENDIF END DO * -* Compute (L \P' * B) -> B [ (L \P' * B) ] +* Compute (L \P**T * B) -> B [ (L \P**T * B) ] * CALL STRSM('L','L','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (L \P' * B) ] +* Compute D \ B -> B [ D \ (L \P**T * B) ] * I=1 DO WHILE ( I .LE. N ) @@ -242,11 +241,11 @@ I = I + 1 END DO * -* Compute (L' \ B) -> B [ L' \ (D \ (L \P' * B) ) ] +* Compute (L**T \ B) -> B [ L**T \ (D \ (L \P**T * B) ) ] * CALL STRSM('L','L','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (L' \ (D \ (L \P' * B) )) ] +* P * B [ P * (L**T \ (D \ (L \P**T * B) )) ] * K=N DO WHILE ( K .GE. 1 ) diff --git a/SRC/stbrfs.f b/SRC/stbrfs.f index 178d3afe..98a4fc9f 100644 --- a/SRC/stbrfs.f +++ b/SRC/stbrfs.f @@ -348,7 +348,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Multiply by diag(W)*inv(op(A)'). +* Multiply by diag(W)*inv(op(A)**T). * CALL STBSV( UPLO, TRANST, DIAG, N, KD, AB, LDAB, $ WORK( N+1 ), 1 ) diff --git a/SRC/stgex2.f b/SRC/stgex2.f index d77670a9..2c3ea65e 100644 --- a/SRC/stgex2.f +++ b/SRC/stgex2.f @@ -29,8 +29,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**T = Q(out) * A(out) * Z(out)**T +* Q(in) * B(in) * Z(in)**T = Q(out) * B(out) * Z(out)**T * * * Arguments @@ -259,7 +259,7 @@ IF( WANDS ) THEN * * Strong stability test: -* F-norm((A-QL'*S*QR, B-QL'*T*QR)) <= O(EPS*F-norm((A,B))) +* F-norm((A-QL**T*S*QR, B-QL**T*T*QR)) <= O(EPS*F-norm((A, B))) * CALL SLACPY( 'Full', M, M, A( J1, J1 ), LDA, WORK( M*M+1 ), $ M ) @@ -334,8 +334,8 @@ * * Compute orthogonal matrix QL: * -* QL' * LI = [ TL ] -* [ 0 ] +* QL**T * LI = [ TL ] +* [ 0 ] * where * LI = [ -L ] * [ SCALE * identity(N2) ] @@ -353,7 +353,7 @@ * * Compute orthogonal matrix RQ: * -* IR * RQ' = [ 0 TR], +* IR * RQ**T = [ 0 TR], * * where IR = [ SCALE * identity(N1), R ] * @@ -448,7 +448,7 @@ IF( WANDS ) THEN * * Strong stability test: -* F-norm((A-QL*S*QR', B-QL*T*QR')) <= O(EPS*F-norm((A,B))) +* F-norm((A-QL*S*QR**T, B-QL*T*QR**T)) <= O(EPS*F-norm((A,B))) * CALL SLACPY( 'Full', M, M, A( J1, J1 ), LDA, WORK( M*M+1 ), $ M ) diff --git a/SRC/stgexc.f b/SRC/stgexc.f index 7ff8bd6b..8c9c834d 100644 --- a/SRC/stgexc.f +++ b/SRC/stgexc.f @@ -33,8 +33,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**T = Q(out) * A(out) * Z(out)**T +* Q(in) * B(in) * Z(in)**T = Q(out) * B(out) * Z(out)**T * * * Arguments diff --git a/SRC/stgsen.f b/SRC/stgsen.f index fd9702da..356e986f 100644 --- a/SRC/stgsen.f +++ b/SRC/stgsen.f @@ -28,7 +28,7 @@ * * STGSEN reorders the generalized real Schur decomposition of a real * matrix pair (A, B) (in terms of an orthonormal equivalence trans- -* formation Q' * (A, B) * Z), so that a selected cluster of eigenvalues +* formation Q**T * (A, B) * Z), so that a selected cluster of eigenvalues * appears in the leading diagonal blocks of the upper quasi-triangular * matrix A and the upper triangular B. The leading columns of Q and * Z form orthonormal bases of the corresponding left and right eigen- @@ -207,7 +207,7 @@ * In other words, the selected eigenvalues are the eigenvalues of * (A11, B11) in: * -* U'*(A, B)*W = (A11 A12) (B11 B12) n1 +* U**T*(A, B)*W = (A11 A12) (B11 B12) n1 * ( 0 A22),( 0 B22) n2 * n1 n2 n1 n2 * @@ -216,10 +216,10 @@ * (deflating subspaces) of (A, B). * * If (A, B) has been obtained from the generalized real Schur -* decomposition of a matrix pair (C, D) = Q*(A, B)*Z', then the +* decomposition of a matrix pair (C, D) = Q*(A, B)*Z**T, then the * reordered generalized real Schur form of (C, D) is given by * -* (C, D) = (Q*U)*(U'*(A, B)*W)*(Z*W)', +* (C, D) = (Q*U)*(U**T*(A, B)*W)*(Z*W)**T, * * and the first n1 columns of Q*U and Z*W span the corresponding * deflating subspaces of (C, D) (Q and Z store Q*U and Z*W, resp.). @@ -241,10 +241,10 @@ * where sigma-min(Zu) is the smallest singular value of the * (2*n1*n2)-by-(2*n1*n2) matrix * -* Zu = [ kron(In2, A11) -kron(A22', In1) ] -* [ kron(In2, B11) -kron(B22', In1) ]. +* Zu = [ kron(In2, A11) -kron(A22**T, In1) ] +* [ kron(In2, B11) -kron(B22**T, In1) ]. * -* Here, Inx is the identity matrix of size nx and A22' is the +* Here, Inx is the identity matrix of size nx and A22**T is the * transpose of A22. kron(X, Y) is the Kronecker product between * the matrices X and Y. * diff --git a/SRC/stgsja.f b/SRC/stgsja.f index d96bad59..af472d86 100644 --- a/SRC/stgsja.f +++ b/SRC/stgsja.f @@ -48,10 +48,10 @@ * * On exit, * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ), +* U**T *A*Q = D1*( 0 R ), V**T *B*Q = D2*( 0 R ), * -* where U, V and Q are orthogonal matrices, Z' denotes the transpose -* of Z, R is a nonsingular upper triangular matrix, and D1 and D2 are +* where U, V and Q are orthogonal matrices. +* R is a nonsingular upper triangular matrix, and D1 and D2 are * ``diagonal'' matrices, which are of the following structures: * * If M-K-L >= 0, @@ -247,7 +247,7 @@ * min(L,M-K)-by-L triangular (or trapezoidal) matrix A23 and L-by-L * matrix B13 to the form: * -* U1'*A13*Q1 = C1*R1; V1'*B13*Q1 = S1*R1, +* U1**T *A13*Q1 = C1*R1; V1**T *B13*Q1 = S1*R1, * * where U1, V1 and Q1 are orthogonal matrix, and Z' is the transpose * of Z. C1 and S1 are diagonal matrices satisfying @@ -367,13 +367,13 @@ CALL SLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, $ CSV, SNV, CSQ, SNQ ) * -* Update (K+I)-th and (K+J)-th rows of matrix A: U'*A +* Update (K+I)-th and (K+J)-th rows of matrix A: U**T *A * IF( K+J.LE.M ) $ CALL SROT( L, A( K+J, N-L+1 ), LDA, A( K+I, N-L+1 ), $ LDA, CSU, SNU ) * -* Update I-th and J-th rows of matrix B: V'*B +* Update I-th and J-th rows of matrix B: V**T *B * CALL SROT( L, B( J, N-L+1 ), LDB, B( I, N-L+1 ), LDB, $ CSV, SNV ) diff --git a/SRC/stgsna.f b/SRC/stgsna.f index 39fb8eea..d3db5416 100644 --- a/SRC/stgsna.f +++ b/SRC/stgsna.f @@ -24,7 +24,7 @@ * STGSNA estimates reciprocal condition numbers for specified * eigenvalues and/or eigenvectors of a matrix pair (A, B) in * generalized real Schur canonical form (or of any matrix pair -* (Q*A*Z', Q*B*Z') with orthogonal matrices Q and Z, where +* (Q*A*Z**T, Q*B*Z**T) with orthogonal matrices Q and Z, where * Z' denotes the transpose of Z. * * (A, B) must be in generalized real Schur form (as returned by SGGES), @@ -150,12 +150,12 @@ * The reciprocal of the condition number of a generalized eigenvalue * w = (a, b) is defined as * -* S(w) = (|u'Av|**2 + |u'Bv|**2)**(1/2) / (norm(u)*norm(v)) +* S(w) = (|u**TAv|**2 + |u**TBv|**2)**(1/2) / (norm(u)*norm(v)) * * where u and v are the left and right eigenvectors of (A, B) * corresponding to w; |z| denotes the absolute value of the complex * number, and norm(u) denotes the 2-norm of the vector u. -* The pair (a, b) corresponds to an eigenvalue w = a/b (= u'Av/u'Bv) +* The pair (a, b) corresponds to an eigenvalue w = a/b (= u**TAv/u**TBv) * of the matrix pair (A, B). If both a and b equal zero, then (A B) is * singular and S(I) = -1 is returned. * @@ -175,7 +175,7 @@ * * Suppose U and V are orthogonal transformations such that * -* U'*(A, B)*V = (S, T) = ( a * ) ( b * ) 1 +* U**T*(A, B)*V = (S, T) = ( a * ) ( b * ) 1 * ( 0 S22 ),( 0 T22 ) n-1 * 1 n-1 1 n-1 * @@ -201,7 +201,7 @@ * * Suppose U and V are orthogonal transformations such that * -* U'*(A, B)*V = (S, T) = ( S11 * ) ( T11 * ) 2 +* U**T*(A, B)*V = (S, T) = ( S11 * ) ( T11 * ) 2 * ( 0 S22 ),( 0 T22) n-2 * 2 n-2 2 n-2 * @@ -209,7 +209,7 @@ * pair (w, conjg(w)). There exist unitary matrices U1 and V1 such * that * -* U1'*S11*V1 = ( s11 s12 ) and U1'*T11*V1 = ( t11 t12 ) +* U1**T*S11*V1 = ( s11 s12 ) and U1**T*T11*V1 = ( t11 t12 ) * ( 0 s22 ) ( 0 t22 ) * * where the generalized eigenvalues w = s11/t11 and @@ -226,8 +226,8 @@ * [ t11 -t22 ], * * This is done by computing (using real arithmetic) the -* roots of the characteristical polynomial det(Z1' * Z1 - lambda I), -* where Z1' denotes the conjugate transpose of Z1 and det(X) denotes +* roots of the characteristical polynomial det(Z1**T * Z1 - lambda I), +* where Z1**T denotes the transpose of Z1 and det(X) denotes * the determinant of X. * * and d2 is an upper bound on Difl((S11, T11), (S22, T22)), i.e. an diff --git a/SRC/stgsy2.f b/SRC/stgsy2.f index 2f57f3ce..20a4ae5e 100644 --- a/SRC/stgsy2.f +++ b/SRC/stgsy2.f @@ -628,7 +628,7 @@ ELSE * * Solve (I, J) - subsystem -* A(I, I)' * R(I, J) + D(I, I)' * L(J, J) = C(I, J) +* A(I, I)**T * R(I, J) + D(I, I)**T * L(J, J) = C(I, J) * R(I, I) * B(J, J) + L(I, J) * E(J, J) = -F(I, J) * for I = 1, 2, ..., P, J = Q, Q - 1, ..., 1 * diff --git a/SRC/stgsyl.f b/SRC/stgsyl.f index beff0470..f2c2a940 100644 --- a/SRC/stgsyl.f +++ b/SRC/stgsyl.f @@ -46,11 +46,11 @@ * Here Ik is the identity matrix of size k and X' is the transpose of * X. kron(X, Y) is the Kronecker product between the matrices X and Y. * -* If TRANS = 'T', STGSYL solves the transposed system Z'*y = scale*b, +* If TRANS = 'T', STGSYL solves the transposed system Z**T*y = scale*b, * which is equivalent to solve for R and L in * -* A' * R + D' * L = scale * C (3) -* R * B' + L * E' = scale * (-F) +* A**T * R + D**T * L = scale * C (3) +* R * B**T + L * E**T = scale * -F * * This case (TRANS = 'T') is used to compute an one-norm-based estimate * of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) @@ -485,8 +485,8 @@ ELSE * * Solve transposed (I, J)-subsystem -* A(I, I)' * R(I, J) + D(I, I)' * L(I, J) = C(I, J) -* R(I, J) * B(J, J)' + L(I, J) * E(J, J)' = -F(I, J) +* A(I, I)**T * R(I, J) + D(I, I)**T * L(I, J) = C(I, J) +* R(I, J) * B(J, J)**T + L(I, J) * E(J, J)**T = -F(I, J) * for I = 1,2,..., P; J = Q, Q-1,..., 1 * SCALE = ONE diff --git a/SRC/stprfs.f b/SRC/stprfs.f index d73f59ce..c8bd6cda 100644 --- a/SRC/stprfs.f +++ b/SRC/stprfs.f @@ -344,7 +344,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Multiply by diag(W)*inv(op(A)'). +* Multiply by diag(W)*inv(op(A)**T). * CALL STPSV( UPLO, TRANST, DIAG, N, AP, WORK( N+1 ), 1 ) DO 220 I = 1, N diff --git a/SRC/strevc.f b/SRC/strevc.f index 1ffb629d..82fe2fb4 100644 --- a/SRC/strevc.f +++ b/SRC/strevc.f @@ -27,9 +27,9 @@ * The right eigenvector x and the left eigenvector y of T corresponding * to an eigenvalue w are defined by: * -* T*x = w*x, (y**H)*T = w*(y**H) +* T*x = w*x, (y**T)*T = w*(y**T) * -* where y**H denotes the conjugate transpose of y. +* where y**T denotes the transpose of y. * The eigenvalues are not input to this routine, but are read directly * from the diagonal blocks of T. * @@ -652,7 +652,7 @@ 160 CONTINUE * * Solve the quasi-triangular system: -* (T(KI+1:N,KI+1:N) - WR)'*X = SCALE*WORK +* (T(KI+1:N,KI+1:N) - WR)**T*X = SCALE*WORK * VMAX = ONE VCRIT = BIGNUM @@ -689,7 +689,7 @@ $ SDOT( J-KI-1, T( KI+1, J ), 1, $ WORK( KI+1+N ), 1 ) * -* Solve (T(J,J)-WR)'*X = WORK +* Solve (T(J,J)-WR)**T*X = WORK * CALL SLALN2( .FALSE., 1, 1, SMIN, ONE, T( J, J ), $ LDT, ONE, ONE, WORK( J+N ), N, WR, @@ -779,7 +779,7 @@ * Complex left eigenvector. * * Initial solve: -* ((T(KI,KI) T(KI,KI+1) )' - (WR - I* WI))*X = 0. +* ((T(KI,KI) T(KI,KI+1) )**T - (WR - I* WI))*X = 0. * ((T(KI+1,KI) T(KI+1,KI+1)) ) * IF( ABS( T( KI, KI+1 ) ).GE.ABS( T( KI+1, KI ) ) ) THEN diff --git a/SRC/strrfs.f b/SRC/strrfs.f index 2a368d98..42766a2b 100644 --- a/SRC/strrfs.f +++ b/SRC/strrfs.f @@ -338,7 +338,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Multiply by diag(W)*inv(op(A)'). +* Multiply by diag(W)*inv(op(A)**T). * CALL STRSV( UPLO, TRANST, DIAG, N, A, LDA, WORK( N+1 ), $ 1 ) diff --git a/SRC/strsen.f b/SRC/strsen.f index 8054d6c2..724de085 100644 --- a/SRC/strsen.f +++ b/SRC/strsen.f @@ -158,7 +158,7 @@ * In other words, the selected eigenvalues are the eigenvalues of T11 * in: * -* Z'*T*Z = ( T11 T12 ) n1 +* Z**T * T * Z = ( T11 T12 ) n1 * ( 0 T22 ) n2 * n1 n2 * @@ -166,8 +166,8 @@ * of Z span the specified invariant subspace of T. * * If T has been obtained from the real Schur factorization of a matrix -* A = Q*T*Q', then the reordered real Schur factorization of A is given -* by A = (Q*Z)*(Z'*T*Z)*(Q*Z)', and the first n1 columns of Q*Z span +* A = Q*T*Q**T, then the reordered real Schur factorization of A is given +* by A = (Q*Z)*(Z**T*T*Z)*(Q*Z)**T, and the first n1 columns of Q*Z span * the corresponding invariant subspace of A. * * The reciprocal condition number of the average of the eigenvalues of @@ -424,7 +424,7 @@ $ IERR ) ELSE * -* Solve T11'*R - R*T22' = scale*X. +* Solve T11**T*R - R*T22**T = scale*X. * CALL STRSYL( 'T', 'T', -1, N1, N2, T, LDT, $ T( N1+1, N1+1 ), LDT, WORK, N1, SCALE, diff --git a/SRC/strsna.f b/SRC/strsna.f index 5324b798..62c90af8 100644 --- a/SRC/strsna.f +++ b/SRC/strsna.f @@ -140,10 +140,10 @@ * The reciprocal of the condition number of an eigenvalue lambda is * defined as * -* S(lambda) = |v'*u| / (norm(u)*norm(v)) +* S(lambda) = |v**T*u| / (norm(u)*norm(v)) * * where u and v are the right and left eigenvectors of T corresponding -* to lambda; v' denotes the conjugate-transpose of v, and norm(u) +* to lambda; v**T denotes the transpose of v, and norm(u) * denotes the Euclidean norm. These reciprocal condition numbers always * lie between zero (very badly conditioned) and one (very well * conditioned). If n = 1, S(lambda) is defined to be 1. @@ -403,12 +403,12 @@ * * Form * -* C' = WORK(2:N,2:N) + i*[rwork(1) ..... rwork(n-1) ] -* [ mu ] -* [ .. ] -* [ .. ] -* [ mu ] -* where C' is conjugate transpose of complex matrix C, +* C**T = WORK(2:N,2:N) + i*[rwork(1) ..... rwork(n-1) ] +* [ mu ] +* [ .. ] +* [ .. ] +* [ mu ] +* where C**T is transpose of matrix C, * and RWORK is stored starting in the N+1-st column of * WORK. * @@ -426,7 +426,7 @@ NN = 2*( N-1 ) END IF * -* Estimate norm(inv(C')) +* Estimate norm(inv(C**T)) * EST = ZERO KASE = 0 @@ -437,7 +437,7 @@ IF( KASE.EQ.1 ) THEN IF( N2.EQ.1 ) THEN * -* Real eigenvalue: solve C'*x = scale*c. +* Real eigenvalue: solve C**T*x = scale*c. * CALL SLAQTR( .TRUE., .TRUE., N-1, WORK( 2, 2 ), $ LDWORK, DUMMY, DUMM, SCALE, @@ -446,7 +446,7 @@ ELSE * * Complex eigenvalue: solve -* C'*(p+iq) = scale*(c+id) in real arithmetic. +* C**T*(p+iq) = scale*(c+id) in real arithmetic. * CALL SLAQTR( .TRUE., .FALSE., N-1, WORK( 2, 2 ), $ LDWORK, WORK( 1, N+1 ), MU, SCALE, diff --git a/SRC/strsyl.f b/SRC/strsyl.f index f2246acb..c947a079 100644 --- a/SRC/strsyl.f +++ b/SRC/strsyl.f @@ -355,17 +355,17 @@ * ELSE IF( .NOT.NOTRNA .AND. NOTRNB ) THEN * -* Solve A' *X + ISGN*X*B = scale*C. +* Solve A**T *X + ISGN*X*B = scale*C. * * The (K,L)th block of X is determined starting from * upper-left corner column by column by * -* A(K,K)'*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) +* A(K,K)**T*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) * * Where -* K-1 L-1 -* R(K,L) = SUM [A(I,K)'*X(I,L)] +ISGN*SUM [X(K,J)*B(J,L)] -* I=1 J=1 +* K-1 L-1 +* R(K,L) = SUM [A(I,K)**T*X(I,L)] +ISGN*SUM [X(K,J)*B(J,L)] +* I=1 J=1 * * Start column loop (index = L) * L1 (L2): column index of the first (last) row of X(K,L) @@ -530,17 +530,17 @@ * ELSE IF( .NOT.NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A'*X + ISGN*X*B' = scale*C. +* Solve A**T*X + ISGN*X*B**T = scale*C. * * The (K,L)th block of X is determined starting from * top-right corner column by column by * -* A(K,K)'*X(K,L) + ISGN*X(K,L)*B(L,L)' = C(K,L) - R(K,L) +* A(K,K)**T*X(K,L) + ISGN*X(K,L)*B(L,L)**T = C(K,L) - R(K,L) * * Where -* K-1 N -* R(K,L) = SUM [A(I,K)'*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)']. -* I=1 J=L+1 +* K-1 N +* R(K,L) = SUM [A(I,K)**T*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)**T]. +* I=1 J=L+1 * * Start column loop (index = L) * L1 (L2): column index of the first (last) row of X(K,L) @@ -714,16 +714,16 @@ * ELSE IF( NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A*X + ISGN*X*B' = scale*C. +* Solve A*X + ISGN*X*B**T = scale*C. * * The (K,L)th block of X is determined starting from * bottom-right corner column by column by * -* A(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L)' = C(K,L) - R(K,L) +* A(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L)**T = C(K,L) - R(K,L) * * Where * M N -* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)']. +* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B(L,J)**T]. * I=K+1 J=L+1 * * Start column loop (index = L) diff --git a/SRC/stzrqf.f b/SRC/stzrqf.f index 9f6fef84..a7f0b777 100644 --- a/SRC/stzrqf.f +++ b/SRC/stzrqf.f @@ -66,9 +66,9 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), -* ( 0 ) -* ( z( k ) ) +* T( k ) = I - tau*u( k )*u( k )**T, u( k ) = ( 1 ), +* ( 0 ) +* ( z( k ) ) * * tau is a scalar and z( k ) is an ( n - m ) element vector. * tau and z( k ) are chosen to annihilate the elements of the kth row @@ -149,7 +149,7 @@ $ LDA, A( K, M1 ), LDA, ONE, TAU, 1 ) * * Now form a( k ) := a( k ) - tau*w -* and B := B - tau*w*z( k )'. +* and B := B - tau*w*z( k )**T. * CALL SAXPY( K-1, -TAU( K ), TAU, 1, A( 1, K ), 1 ) CALL SGER( K-1, N-M, -TAU( K ), TAU, 1, A( K, M1 ), LDA, diff --git a/SRC/stzrzf.f b/SRC/stzrzf.f index b3f6eadd..b333b1b9 100644 --- a/SRC/stzrzf.f +++ b/SRC/stzrzf.f @@ -81,7 +81,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**T, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/zgbbrd.f b/SRC/zgbbrd.f index 66e0d5c7..e5564856 100644 --- a/SRC/zgbbrd.f +++ b/SRC/zgbbrd.f @@ -20,20 +20,20 @@ * ======= * * ZGBBRD reduces a complex general m-by-n band matrix A to real upper -* bidiagonal form B by a unitary transformation: Q' * A * P = B. +* bidiagonal form B by a unitary transformation: Q**H * A * P = B. * -* The routine computes B, and optionally forms Q or P', or computes -* Q'*C for a given matrix C. +* The routine computes B, and optionally forms Q or P**H, or computes +* Q**H*C for a given matrix C. * * Arguments * ========= * * VECT (input) CHARACTER*1 -* Specifies whether or not the matrices Q and P' are to be +* Specifies whether or not the matrices Q and P**H are to be * formed. -* = 'N': do not form Q or P'; +* = 'N': do not form Q or P**H; * = 'Q': form Q only; -* = 'P': form P' only; +* = 'P': form P**H only; * = 'B': form both. * * M (input) INTEGER @@ -86,7 +86,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,NCC) * On entry, an m-by-ncc matrix C. -* On exit, C is overwritten by Q'*C. +* On exit, C is overwritten by Q**H*C. * C is not referenced if NCC = 0. * * LDC (input) INTEGER @@ -165,7 +165,7 @@ RETURN END IF * -* Initialize Q and P' to the unit matrix, if needed +* Initialize Q and P**H to the unit matrix, if needed * IF( WANTQ ) $ CALL ZLASET( 'Full', M, M, CZERO, CONE, Q, LDQ ) @@ -338,7 +338,7 @@ * IF( WANTPT ) THEN * -* accumulate product of plane rotations in P' +* accumulate product of plane rotations in P**H * DO 60 J = J1, J2, KB1 CALL ZROT( N, PT( J+KUN-1, 1 ), LDPT, diff --git a/SRC/zgbcon.f b/SRC/zgbcon.f index 37138bb5..82d8829e 100644 --- a/SRC/zgbcon.f +++ b/SRC/zgbcon.f @@ -187,13 +187,13 @@ $ KL+KU, AB, LDAB, WORK, SCALE, RWORK, INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL ZLATBS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, KL+KU, AB, LDAB, WORK, SCALE, RWORK, $ INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**H). * IF( LNOTI ) THEN DO 30 J = N - 1, 1, -1 diff --git a/SRC/zgebd2.f b/SRC/zgebd2.f index 5effb30f..2d2db958 100644 --- a/SRC/zgebd2.f +++ b/SRC/zgebd2.f @@ -17,7 +17,7 @@ * ======= * * ZGEBD2 reduces a complex general m by n matrix A to upper or lower -* real bidiagonal form B by a unitary transformation: Q' * A * P = B. +* real bidiagonal form B by a unitary transformation: Q**H * A * P = B. * * If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal. * @@ -87,7 +87,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors; v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in @@ -100,7 +100,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, v and u are complex vectors; * v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in A(i+2:m,i); @@ -170,7 +170,7 @@ D( I ) = ALPHA A( I, I ) = ONE * -* Apply H(i)' to A(i:m,i+1:n) from the left +* Apply H(i)**H to A(i:m,i+1:n) from the left * IF( I.LT.N ) $ CALL ZLARF( 'Left', M-I+1, N-I, A( I, I ), 1, @@ -233,7 +233,7 @@ E( I ) = ALPHA A( I+1, I ) = ONE * -* Apply H(i)' to A(i+1:m,i+1:n) from the left +* Apply H(i)**H to A(i+1:m,i+1:n) from the left * CALL ZLARF( 'Left', M-I, N-I, A( I+1, I ), 1, $ DCONJG( TAUQ( I ) ), A( I+1, I+1 ), LDA, diff --git a/SRC/zgebrd.f b/SRC/zgebrd.f index b78bbc71..fcc4bdf2 100644 --- a/SRC/zgebrd.f +++ b/SRC/zgebrd.f @@ -99,7 +99,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors; v(1:i-1) = 0, v(i) = 1, and v(i+1:m) is stored on exit in @@ -112,7 +112,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors; v(1:i) = 0, v(i+1) = 1, and v(i+2:m) is stored on exit in @@ -232,7 +232,7 @@ $ WORK( LDWRKX*NB+1 ), LDWRKY ) * * Update the trailing submatrix A(i+ib:m,i+ib:n), using -* an update of the form A := A - V*Y' - X*U' +* an update of the form A := A - V*Y**H - X*U**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', M-I-NB+1, $ N-I-NB+1, NB, -ONE, A( I+NB, I ), LDA, diff --git a/SRC/zgecon.f b/SRC/zgecon.f index b969b58b..c74680f5 100644 --- a/SRC/zgecon.f +++ b/SRC/zgecon.f @@ -156,13 +156,13 @@ $ A, LDA, WORK, SU, RWORK( N+1 ), INFO ) ELSE * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL ZLATRS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, A, LDA, WORK, SU, RWORK( N+1 ), $ INFO ) * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL ZLATRS( 'Lower', 'Conjugate transpose', 'Unit', NORMIN, $ N, A, LDA, WORK, SL, RWORK, INFO ) diff --git a/SRC/zgehd2.f b/SRC/zgehd2.f index 59d2fe68..b545b15a 100644 --- a/SRC/zgehd2.f +++ b/SRC/zgehd2.f @@ -16,7 +16,7 @@ * ======= * * ZGEHD2 reduces a complex general matrix A to upper Hessenberg form H -* by a unitary similarity transformation: Q' * A * Q = H . +* by a unitary similarity transformation: Q**H * A * Q = H . * * Arguments * ========= @@ -63,7 +63,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on @@ -134,7 +134,7 @@ CALL ZLARF( 'Right', IHI, IHI-I, A( I+1, I ), 1, TAU( I ), $ A( 1, I+1 ), LDA, WORK ) * -* Apply H(i)' to A(i+1:ihi,i+1:n) from the left +* Apply H(i)**H to A(i+1:ihi,i+1:n) from the left * CALL ZLARF( 'Left', IHI-I, N-I, A( I+1, I ), 1, $ DCONJG( TAU( I ) ), A( I+1, I+1 ), LDA, WORK ) diff --git a/SRC/zgehrd.f b/SRC/zgehrd.f index 2599aad2..becbd5fe 100644 --- a/SRC/zgehrd.f +++ b/SRC/zgehrd.f @@ -16,7 +16,7 @@ * ======= * * ZGEHRD reduces a complex general matrix A to upper Hessenberg form H by -* an unitary similarity transformation: Q' * A * Q = H . +* an unitary similarity transformation: Q**H * A * Q = H . * * Arguments * ========= @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on @@ -223,14 +223,14 @@ IB = MIN( NB, IHI-I ) * * Reduce columns i:i+ib-1 to Hessenberg form, returning the -* matrices V and T of the block reflector H = I - V*T*V' +* matrices V and T of the block reflector H = I - V*T*V**H * which performs the reduction, and also the matrix Y = A*V*T * CALL ZLAHR2( IHI, I, IB, A( 1, I ), LDA, TAU( I ), T, LDT, $ WORK, LDWORK ) * * Apply the block reflector H to A(1:ihi,i+ib:ihi) from the -* right, computing A := A - Y * V'. V(i+ib,ib-1) must be set +* right, computing A := A - Y * V**H. V(i+ib,ib-1) must be set * to 1 * EI = A( I+IB, I+IB-1 ) diff --git a/SRC/zgelq2.f b/SRC/zgelq2.f index 57d5dec0..f0118ca4 100644 --- a/SRC/zgelq2.f +++ b/SRC/zgelq2.f @@ -53,11 +53,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)', where k = min(m,n). +* Q = H(k)**H . . . H(2)**H H(1)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; conjg(v(i+1:n)) is stored on exit in diff --git a/SRC/zgelqf.f b/SRC/zgelqf.f index c4ebe462..1417b7fe 100644 --- a/SRC/zgelqf.f +++ b/SRC/zgelqf.f @@ -64,11 +64,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)', where k = min(m,n). +* Q = H(k)**H . . . H(2)**H H(1)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; conjg(v(i+1:n)) is stored on exit in diff --git a/SRC/zgels.f b/SRC/zgels.f index 2e52b01b..e9bb64e0 100644 --- a/SRC/zgels.f +++ b/SRC/zgels.f @@ -278,7 +278,7 @@ * * Least-Squares Problem min || A * X - B || * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) * CALL ZUNMQR( 'Left', 'Conjugate transpose', M, NRHS, N, A, $ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, @@ -360,7 +360,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Q(1:N,:)' * B(1:M,1:NRHS) +* B(1:N,1:NRHS) := Q(1:N,:)**H * B(1:M,1:NRHS) * CALL ZUNMLQ( 'Left', 'Conjugate transpose', N, NRHS, M, A, $ LDA, WORK( 1 ), B, LDB, WORK( MN+1 ), LWORK-MN, diff --git a/SRC/zgelsx.f b/SRC/zgelsx.f index 73182e70..40653f2f 100644 --- a/SRC/zgelsx.f +++ b/SRC/zgelsx.f @@ -45,8 +45,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**H [ inv(T11)*Q1**H*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * Arguments @@ -275,7 +275,7 @@ * * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) * CALL ZUNM2R( 'Left', 'Conjugate transpose', M, NRHS, MN, A, LDA, $ WORK( 1 ), B, LDB, WORK( 2*MN+1 ), INFO ) @@ -293,7 +293,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**H * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN DO 50 I = 1, RANK diff --git a/SRC/zgelsy.f b/SRC/zgelsy.f index adacdf60..929c5117 100644 --- a/SRC/zgelsy.f +++ b/SRC/zgelsy.f @@ -43,8 +43,8 @@ * A * P = Q * [ T11 0 ] * Z * [ 0 0 ] * The minimum-norm solution is then -* X = P * Z' [ inv(T11)*Q1'*B ] -* [ 0 ] +* X = P * Z**H [ inv(T11)*Q1**H*B ] +* [ 0 ] * where Q1 consists of the first RANK columns of Q. * * This routine is basically identical to the original xGELSX except @@ -319,7 +319,7 @@ * complex workspace: 2*MN. * Details of Householder rotations stored in WORK(MN+1:2*MN) * -* B(1:M,1:NRHS) := Q' * B(1:M,1:NRHS) +* B(1:M,1:NRHS) := Q**H * B(1:M,1:NRHS) * CALL ZUNMQR( 'Left', 'Conjugate transpose', M, NRHS, MN, A, LDA, $ WORK( 1 ), B, LDB, WORK( 2*MN+1 ), LWORK-2*MN, INFO ) @@ -338,7 +338,7 @@ 30 CONTINUE 40 CONTINUE * -* B(1:N,1:NRHS) := Y' * B(1:N,1:NRHS) +* B(1:N,1:NRHS) := Y**H * B(1:N,1:NRHS) * IF( RANK.LT.N ) THEN CALL ZUNMRZ( 'Left', 'Conjugate transpose', N, NRHS, RANK, diff --git a/SRC/zgeql2.f b/SRC/zgeql2.f index 99c20d96..0287bb00 100644 --- a/SRC/zgeql2.f +++ b/SRC/zgeql2.f @@ -59,7 +59,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in @@ -108,7 +108,7 @@ ALPHA = A( M-K+I, N-K+I ) CALL ZLARFG( M-K+I, ALPHA, A( 1, N-K+I ), 1, TAU( I ) ) * -* Apply H(i)' to A(1:m-k+i,1:n-k+i-1) from the left +* Apply H(i)**H to A(1:m-k+i,1:n-k+i-1) from the left * A( M-K+I, N-K+I ) = ONE CALL ZLARF( 'Left', M-K+I, N-K+I-1, A( 1, N-K+I ), 1, diff --git a/SRC/zgeqlf.f b/SRC/zgeqlf.f index 8fb64426..35799726 100644 --- a/SRC/zgeqlf.f +++ b/SRC/zgeqlf.f @@ -71,7 +71,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in @@ -186,7 +186,7 @@ CALL ZLARFT( 'Backward', 'Columnwise', M-K+I+IB-1, IB, $ A( 1, N-K+I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i+ib-1,1:n-k+i-1) from the left +* Apply H**H to A(1:m-k+i+ib-1,1:n-k+i-1) from the left * CALL ZLARFB( 'Left', 'Conjugate transpose', 'Backward', $ 'Columnwise', M-K+I+IB-1, N-K+I-1, IB, diff --git a/SRC/zgeqp3.f b/SRC/zgeqp3.f index 870d2734..234b09d9 100644 --- a/SRC/zgeqp3.f +++ b/SRC/zgeqp3.f @@ -79,7 +79,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a real/complex scalar, and v is a real/complex vector * with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in diff --git a/SRC/zgeqpf.f b/SRC/zgeqpf.f index c5808a1a..99129134 100644 --- a/SRC/zgeqpf.f +++ b/SRC/zgeqpf.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i). diff --git a/SRC/zgeqr2.f b/SRC/zgeqr2.f index fb397f1f..d829a2f3 100644 --- a/SRC/zgeqr2.f +++ b/SRC/zgeqr2.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -106,7 +106,7 @@ $ TAU( I ) ) IF( I.LT.N ) THEN * -* Apply H(i)' to A(i:m,i+1:n) from the left +* Apply H(i)**H to A(i:m,i+1:n) from the left * ALPHA = A( I, I ) A( I, I ) = ONE diff --git a/SRC/zgeqr2p.f b/SRC/zgeqr2p.f index 6ad8feba..03a755f0 100644 --- a/SRC/zgeqr2p.f +++ b/SRC/zgeqr2p.f @@ -57,7 +57,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -106,7 +106,7 @@ $ TAU( I ) ) IF( I.LT.N ) THEN * -* Apply H(i)' to A(i:m,i+1:n) from the left +* Apply H(i)**H to A(i:m,i+1:n) from the left * ALPHA = A( I, I ) A( I, I ) = ONE diff --git a/SRC/zgeqrf.f b/SRC/zgeqrf.f index e0a2eeb4..9312a3e6 100644 --- a/SRC/zgeqrf.f +++ b/SRC/zgeqrf.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL ZLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**H to A(i:m,i+ib:n) from the left * CALL ZLARFB( 'Left', 'Conjugate transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/zgeqrfp.f b/SRC/zgeqrfp.f index a3d1d6e5..138aeb96 100644 --- a/SRC/zgeqrfp.f +++ b/SRC/zgeqrfp.f @@ -69,7 +69,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), @@ -171,7 +171,7 @@ CALL ZLARFT( 'Forward', 'Columnwise', M-I+1, IB, $ A( I, I ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i:m,i+ib:n) from the left +* Apply H**H to A(i:m,i+ib:n) from the left * CALL ZLARFB( 'Left', 'Conjugate transpose', 'Forward', $ 'Columnwise', M-I+1, N-I-IB+1, IB, diff --git a/SRC/zgerq2.f b/SRC/zgerq2.f index ab577930..92d1aca5 100644 --- a/SRC/zgerq2.f +++ b/SRC/zgerq2.f @@ -55,11 +55,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)', where k = min(m,n). +* Q = H(1)**H H(2)**H . . . H(k)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on diff --git a/SRC/zgerqf.f b/SRC/zgerqf.f index 7a86a18b..9a825b6e 100644 --- a/SRC/zgerqf.f +++ b/SRC/zgerqf.f @@ -67,11 +67,11 @@ * * The matrix Q is represented as a product of elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)', where k = min(m,n). +* Q = H(1)**H H(2)**H . . . H(k)**H, where k = min(m,n). * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on diff --git a/SRC/zgetrs.f b/SRC/zgetrs.f index ce459b55..c9086d23 100644 --- a/SRC/zgetrs.f +++ b/SRC/zgetrs.f @@ -128,12 +128,12 @@ * * Solve A**T * X = B or A**H * X = B. * -* Solve U'*X = B, overwriting B with X. +* Solve U**T *X = B or U**H *X = B, overwriting B with X. * CALL ZTRSM( 'Left', 'Upper', TRANS, 'Non-unit', N, NRHS, ONE, $ A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**T *X = B, or L**H *X = B overwriting B with X. * CALL ZTRSM( 'Left', 'Lower', TRANS, 'Unit', N, NRHS, ONE, A, $ LDA, B, LDB ) diff --git a/SRC/zggglm.f b/SRC/zggglm.f index 8f3a0352..3ede5eda 100644 --- a/SRC/zggglm.f +++ b/SRC/zggglm.f @@ -187,9 +187,9 @@ * * Compute the GQR factorization of matrices A and B: * -* Q'*A = ( R11 ) M, Q'*B*Z' = ( T11 T12 ) M -* ( 0 ) N-M ( 0 T22 ) N-M -* M M+P-N N-M +* Q**H*A = ( R11 ) M, Q**H*B*Z**H = ( T11 T12 ) M +* ( 0 ) N-M ( 0 T22 ) N-M +* M M+P-N N-M * * where R11 and T22 are upper triangular, and Q and Z are * unitary. @@ -198,8 +198,8 @@ $ WORK( M+NP+1 ), LWORK-M-NP, INFO ) LOPT = WORK( M+NP+1 ) * -* Update left-hand-side vector d = Q'*d = ( d1 ) M -* ( d2 ) N-M +* Update left-hand-side vector d = Q**H*d = ( d1 ) M +* ( d2 ) N-M * CALL ZUNMQR( 'Left', 'Conjugate transpose', N, 1, M, A, LDA, WORK, $ D, MAX( 1, N ), WORK( M+NP+1 ), LWORK-M-NP, INFO ) @@ -246,7 +246,7 @@ CALL ZCOPY( M, D, 1, X, 1 ) END IF * -* Backward transformation y = Z'*y +* Backward transformation y = Z**H *y * CALL ZUNMRQ( 'Left', 'Conjugate transpose', P, 1, NP, $ B( MAX( 1, N-P+1 ), 1 ), LDB, WORK( M+1 ), Y, diff --git a/SRC/zgglse.f b/SRC/zgglse.f index 853b0aad..2c021cce 100644 --- a/SRC/zgglse.f +++ b/SRC/zgglse.f @@ -26,8 +26,8 @@ * M-vector, and d is a given P-vector. It is assumed that * P <= N <= M+P, and * -* rank(B) = P and rank( ( A ) ) = N. -* ( ( B ) ) +* rank(B) = P and rank( (A) ) = N. +* ( (B) ) * * These conditions ensure that the LSE problem has a unique solution, * which is obtained using a generalized RQ factorization of the @@ -183,9 +183,9 @@ * * Compute the GRQ factorization of matrices B and A: * -* B*Q' = ( 0 T12 ) P Z'*A*Q' = ( R11 R12 ) N-P -* N-P P ( 0 R22 ) M+P-N -* N-P P +* B*Q**H = ( 0 T12 ) P Z**H*A*Q**H = ( R11 R12 ) N-P +* N-P P ( 0 R22 ) M+P-N +* N-P P * * where T12 and R11 are upper triangular, and Q and Z are * unitary. @@ -194,7 +194,7 @@ $ WORK( P+MN+1 ), LWORK-P-MN, INFO ) LOPT = WORK( P+MN+1 ) * -* Update c = Z'*c = ( c1 ) N-P +* Update c = Z**H *c = ( c1 ) N-P * ( c2 ) M+P-N * CALL ZUNMQR( 'Left', 'Conjugate Transpose', M, 1, MN, A, LDA, @@ -255,7 +255,7 @@ CALL ZAXPY( NR, -CONE, D, 1, C( N-P+1 ), 1 ) END IF * -* Backward transformation x = Q'*x +* Backward transformation x = Q**H*x * CALL ZUNMRQ( 'Left', 'Conjugate Transpose', N, 1, P, B, LDB, $ WORK( 1 ), X, N, WORK( P+MN+1 ), LWORK-P-MN, INFO ) diff --git a/SRC/zggqrf.f b/SRC/zggqrf.f index b04615b9..a5c652f9 100644 --- a/SRC/zggqrf.f +++ b/SRC/zggqrf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GQR factorization * of A and B implicitly gives the QR factorization of inv(B)*A: * -* inv(B)*A = Z'*(inv(T)*R) +* inv(B)*A = Z**H * (inv(T)*R) * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**H denotes the * conjugate transpose of matrix Z. * * Arguments @@ -119,7 +119,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**H * * where taua is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -133,7 +133,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**H * * where taub is a complex scalar, and v is a complex vector with * v(p-k+i+1:p) = 0 and v(p-k+i) = 1; v(1:p-k+i-1) is stored on exit in @@ -194,7 +194,7 @@ CALL ZGEQRF( N, M, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := Q'*B. +* Update B := Q**H*B. * CALL ZUNMQR( 'Left', 'Conjugate Transpose', N, P, MIN( N, M ), A, $ LDA, TAUA, B, LDB, WORK, LWORK, INFO ) diff --git a/SRC/zggrqf.f b/SRC/zggrqf.f index c112c5f9..29dbf098 100644 --- a/SRC/zggrqf.f +++ b/SRC/zggrqf.f @@ -40,9 +40,9 @@ * In particular, if B is square and nonsingular, the GRQ factorization * of A and B implicitly gives the RQ factorization of A*inv(B): * -* A*inv(B) = (R*inv(T))*Z' +* A*inv(B) = (R*inv(T))*Z**H * -* where inv(B) denotes the inverse of the matrix B, and Z' denotes the +* where inv(B) denotes the inverse of the matrix B, and Z**H denotes the * conjugate transpose of the matrix Z. * * Arguments @@ -118,7 +118,7 @@ * * Each H(i) has the form * -* H(i) = I - taua * v * v' +* H(i) = I - taua * v * v**H * * where taua is a complex scalar, and v is a complex vector with * v(n-k+i+1:n) = 0 and v(n-k+i) = 1; v(1:n-k+i-1) is stored on exit in @@ -132,7 +132,7 @@ * * Each H(i) has the form * -* H(i) = I - taub * v * v' +* H(i) = I - taub * v * v**H * * where taub is a complex scalar, and v is a complex vector with * v(1:i-1) = 0 and v(i) = 1; v(i+1:p) is stored on exit in B(i+1:p,i), @@ -193,7 +193,7 @@ CALL ZGERQF( M, N, A, LDA, TAUA, WORK, LWORK, INFO ) LOPT = WORK( 1 ) * -* Update B := B*Q' +* Update B := B*Q**H * CALL ZUNMRQ( 'Right', 'Conjugate Transpose', P, N, MIN( M, N ), $ A( MAX( 1, M-N+1 ), 1 ), LDA, TAUA, B, LDB, WORK, diff --git a/SRC/zggsvd.f b/SRC/zggsvd.f index 6727531c..c7be33f2 100644 --- a/SRC/zggsvd.f +++ b/SRC/zggsvd.f @@ -24,11 +24,11 @@ * ZGGSVD computes the generalized singular value decomposition (GSVD) * of an M-by-N complex matrix A and P-by-N complex matrix B: * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ) +* U**H*A*Q = D1*( 0 R ), V**H*B*Q = D2*( 0 R ) * -* where U, V and Q are unitary matrices, and Z' means the conjugate -* transpose of Z. Let K+L = the effective numerical rank of the -* matrix (A',B')', then R is a (K+L)-by-(K+L) nonsingular upper +* where U, V and Q are unitary matrices. +* Let K+L = the effective numerical rank of the +* matrix (A**H,B**H)**H, then R is a (K+L)-by-(K+L) nonsingular upper * triangular matrix, D1 and D2 are M-by-(K+L) and P-by-(K+L) "diagonal" * matrices and of the following structures, respectively: * @@ -85,13 +85,13 @@ * * In particular, if B is an N-by-N nonsingular matrix, then the GSVD of * A and B implicitly gives the SVD of A*inv(B): -* A*inv(B) = U*(D1*inv(D2))*V'. -* If ( A',B')' has orthnormal columns, then the GSVD of A and B is also +* A*inv(B) = U*(D1*inv(D2))*V**H. +* If ( A**H,B**H)**H has orthnormal columns, then the GSVD of A and B is also * equal to the CS decomposition of A and B. Furthermore, the GSVD can * be used to derive the solution of the eigenvalue problem: -* A'*A x = lambda* B'*B x. +* A**H*A x = lambda* B**H*B x. * In some literature, the GSVD of A and B is presented in the form -* U'*A*X = ( 0 D1 ), V'*B*X = ( 0 D2 ) +* U**H*A*X = ( 0 D1 ), V**H*B*X = ( 0 D2 ) * where U and V are orthogonal and X is nonsingular, and D1 and D2 are * ``diagonal''. The former GSVD form can be converted to the latter * form by taking the nonsingular matrix X as @@ -127,7 +127,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in Purpose. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A**H,B**H)**H. * * A (input/output) COMPLEX*16 array, dimension (LDA,N) * On entry, the M-by-N matrix A. @@ -209,7 +209,7 @@ * TOLA DOUBLE PRECISION * TOLB DOUBLE PRECISION * TOLA and TOLB are the thresholds to determine the effective -* rank of (A',B')'. Generally, they are set to +* rank of (A**H,B**H)**H. Generally, they are set to * TOLA = MAX(M,N)*norm(A)*MAZHEPS, * TOLB = MAX(P,N)*norm(B)*MAZHEPS. * The size of TOLA and TOLB may affect the size of backward diff --git a/SRC/zggsvp.f b/SRC/zggsvp.f index 8db862fd..6d2373aa 100644 --- a/SRC/zggsvp.f +++ b/SRC/zggsvp.f @@ -24,24 +24,23 @@ * * ZGGSVP computes unitary matrices U, V and Q such that * -* N-K-L K L -* U'*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; -* L ( 0 0 A23 ) -* M-K-L ( 0 0 0 ) +* N-K-L K L +* U**H*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0; +* L ( 0 0 A23 ) +* M-K-L ( 0 0 0 ) * * N-K-L K L * = K ( 0 A12 A13 ) if M-K-L < 0; * M-K ( 0 0 A23 ) * -* N-K-L K L -* V'*B*Q = L ( 0 0 B13 ) -* P-L ( 0 0 0 ) +* N-K-L K L +* V**H*B*Q = L ( 0 0 B13 ) +* P-L ( 0 0 0 ) * * where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular * upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0, * otherwise A23 is (M-K)-by-L upper trapezoidal. K+L = the effective -* numerical rank of the (M+P)-by-N matrix (A',B')'. Z' denotes the -* conjugate transpose of Z. +* numerical rank of the (M+P)-by-N matrix (A**H,B**H)**H. * * This decomposition is the preprocessing step for computing the * Generalized Singular Value Decomposition (GSVD), see subroutine @@ -101,7 +100,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in Purpose section. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A**H,B**H)**H. * * U (output) COMPLEX*16 array, dimension (LDU,M) * If JOBU = 'U', U contains the unitary matrix U. @@ -268,13 +267,13 @@ * CALL ZGERQ2( L, N, B, LDB, TAU, WORK, INFO ) * -* Update A := A*Z' +* Update A := A*Z**H * CALL ZUNMR2( 'Right', 'Conjugate transpose', M, N, L, B, LDB, $ TAU, A, LDA, WORK, INFO ) IF( WANTQ ) THEN * -* Update Q := Q*Z' +* Update Q := Q*Z**H * CALL ZUNMR2( 'Right', 'Conjugate transpose', N, N, L, B, $ LDB, TAU, Q, LDQ, WORK, INFO ) @@ -296,7 +295,7 @@ * * then the following does the complete QR decomposition of A11: * -* A11 = U*( 0 T12 )*P1' +* A11 = U*( 0 T12 )*P1**H * ( 0 0 ) * DO 70 I = 1, N - L @@ -312,7 +311,7 @@ $ K = K + 1 80 CONTINUE * -* Update A12 := U'*A12, where A12 = A( 1:M, N-L+1:N ) +* Update A12 := U**H*A12, where A12 = A( 1:M, N-L+1:N ) * CALL ZUNM2R( 'Left', 'Conjugate transpose', M, L, MIN( M, N-L ), $ A, LDA, TAU, A( 1, N-L+1 ), LDA, WORK, INFO ) @@ -354,7 +353,7 @@ * IF( WANTQ ) THEN * -* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1' +* Update Q( 1:N,1:N-L ) = Q( 1:N,1:N-L )*Z1**H * CALL ZUNMR2( 'Right', 'Conjugate transpose', N, N-L, K, A, $ LDA, TAU, Q, LDQ, WORK, INFO ) diff --git a/SRC/zgtcon.f b/SRC/zgtcon.f index 1b2e1ff7..46cb8f09 100644 --- a/SRC/zgtcon.f +++ b/SRC/zgtcon.f @@ -152,7 +152,7 @@ $ WORK, N, INFO ) ELSE * -* Multiply by inv(L')*inv(U'). +* Multiply by inv(L**H)*inv(U**H). * CALL ZGTTRS( 'Conjugate transpose', N, 1, DL, D, DU, DU2, $ IPIV, WORK, N, INFO ) diff --git a/SRC/zgtsv.f b/SRC/zgtsv.f index 92cf4153..291ea43c 100644 --- a/SRC/zgtsv.f +++ b/SRC/zgtsv.f @@ -22,7 +22,7 @@ * where A is an N-by-N tridiagonal matrix, by Gaussian elimination with * partial pivoting. * -* Note that the equation A'*X = B may be solved by interchanging the +* Note that the equation A**H *X = B may be solved by interchanging the * order of the arguments DU and DL. * * Arguments diff --git a/SRC/zhecon.f b/SRC/zhecon.f index 5b35d75d..44ed4256 100644 --- a/SRC/zhecon.f +++ b/SRC/zhecon.f @@ -146,7 +146,7 @@ CALL ZLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**H) or inv(U*D*U**H). * CALL ZHETRS( UPLO, N, 1, A, LDA, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/zhegs2.f b/SRC/zhegs2.f index 05e90b50..8e28624b 100644 --- a/SRC/zhegs2.f +++ b/SRC/zhegs2.f @@ -20,19 +20,19 @@ * eigenproblem to standard form. * * If ITYPE = 1, the problem is A*x = lambda*B*x, -* and A is overwritten by inv(U')*A*inv(U) or inv(L)*A*inv(L') +* and A is overwritten by inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H) * * If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or -* B*A*x = lambda*x, and A is overwritten by U*A*U` or L'*A*L. +* B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H *A*L. * -* B must have been previously factorized as U'*U or L*L' by ZPOTRF. +* B must have been previously factorized as U**H *U or L*L**H by ZPOTRF. * * Arguments * ========= * * ITYPE (input) INTEGER -* = 1: compute inv(U')*A*inv(U) or inv(L)*A*inv(L'); -* = 2 or 3: compute U*A*U' or L'*A*L. +* = 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H); +* = 2 or 3: compute U*A*U**H or L**H *A*L. * * UPLO (input) CHARACTER*1 * Specifies whether the upper or lower triangular part of the @@ -119,7 +119,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**H)*A*inv(U) * DO 10 K = 1, N * @@ -149,7 +149,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**H) * DO 20 K = 1, N * @@ -174,7 +174,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**H * DO 30 K = 1, N * @@ -194,7 +194,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**H *A*L * DO 40 K = 1, N * diff --git a/SRC/zhegst.f b/SRC/zhegst.f index 74dae9af..e2ae9ba7 100644 --- a/SRC/zhegst.f +++ b/SRC/zhegst.f @@ -136,7 +136,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**H)*A*inv(U) * DO 10 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -167,7 +167,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**H) * DO 20 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -200,7 +200,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**H * DO 30 K = 1, N, NB KB = MIN( N-K+1, NB ) @@ -226,7 +226,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**H*A*L * DO 40 K = 1, N, NB KB = MIN( N-K+1, NB ) diff --git a/SRC/zhegv.f b/SRC/zhegv.f index 226ae26d..4593bf54 100644 --- a/SRC/zhegv.f +++ b/SRC/zhegv.f @@ -197,7 +197,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -211,7 +211,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/zhegvd.f b/SRC/zhegvd.f index 786cbe13..4f961ef9 100644 --- a/SRC/zhegvd.f +++ b/SRC/zhegvd.f @@ -270,7 +270,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -284,7 +284,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/zhegvx.f b/SRC/zhegvx.f index cf11803b..f002b64b 100644 --- a/SRC/zhegvx.f +++ b/SRC/zhegvx.f @@ -299,7 +299,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -313,7 +313,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/zhesv.f b/SRC/zhesv.f index ed6a06fc..8ea5533d 100644 --- a/SRC/zhesv.f +++ b/SRC/zhesv.f @@ -158,7 +158,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL ZHETRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zhesvx.f b/SRC/zhesvx.f index 8591af71..a2d1313a 100644 --- a/SRC/zhesvx.f +++ b/SRC/zhesvx.f @@ -255,7 +255,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL ZLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL ZHETRF( UPLO, N, AF, LDAF, IPIV, WORK, LWORK, INFO ) diff --git a/SRC/zhetd2.f b/SRC/zhetd2.f index 997e6a02..464702e6 100644 --- a/SRC/zhetd2.f +++ b/SRC/zhetd2.f @@ -19,7 +19,7 @@ * * ZHETD2 reduces a complex Hermitian matrix A to real symmetric * tridiagonal form T by a unitary similarity transformation: -* Q' * A * Q = T. +* Q**H * A * Q = T. * * Arguments * ========= @@ -81,7 +81,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -94,7 +94,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -143,7 +143,7 @@ * Test the input parameters * INFO = 0 - UPPER = LSAME( UPLO, 'U' ) + UPPER = LSAME( UPLO, 'U') IF( .NOT.UPPER .AND. .NOT.LSAME( UPLO, 'L' ) ) THEN INFO = -1 ELSE IF( N.LT.0 ) THEN @@ -168,7 +168,7 @@ A( N, N ) = DBLE( A( N, N ) ) DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(1:i-1,i+1) * ALPHA = A( I, I+1 ) @@ -186,13 +186,13 @@ CALL ZHEMV( UPLO, I, TAUI, A, LDA, A( 1, I+1 ), 1, ZERO, $ TAU, 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**H * v) * v * ALPHA = -HALF*TAUI*ZDOTC( I, TAU, 1, A( 1, I+1 ), 1 ) CALL ZAXPY( I, ALPHA, A( 1, I+1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**H - w * v**H * CALL ZHER2( UPLO, I, -ONE, A( 1, I+1 ), 1, TAU, 1, A, $ LDA ) @@ -212,7 +212,7 @@ A( 1, 1 ) = DBLE( A( 1, 1 ) ) DO 20 I = 1, N - 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(i+2:n,i) * ALPHA = A( I+1, I ) @@ -230,14 +230,14 @@ CALL ZHEMV( UPLO, N-I, TAUI, A( I+1, I+1 ), LDA, $ A( I+1, I ), 1, ZERO, TAU( I ), 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**H * v) * v * ALPHA = -HALF*TAUI*ZDOTC( N-I, TAU( I ), 1, A( I+1, I ), $ 1 ) CALL ZAXPY( N-I, ALPHA, A( I+1, I ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**H * CALL ZHER2( UPLO, N-I, -ONE, A( I+1, I ), 1, TAU( I ), 1, $ A( I+1, I+1 ), LDA ) diff --git a/SRC/zhetf2.f b/SRC/zhetf2.f index 78c5cfe5..b1980d09 100644 --- a/SRC/zhetf2.f +++ b/SRC/zhetf2.f @@ -20,10 +20,10 @@ * ZHETF2 computes the factorization of a complex Hermitian matrix A * using the Bunch-Kaufman diagonal pivoting method: * -* A = U*D*U' or A = L*D*L' +* A = U*D*U**H or A = L*D*L**H * * where U (or L) is a product of permutation and unit upper (lower) -* triangular matrices, U' is the conjugate transpose of U, and D is +* triangular matrices, U**H is the conjugate transpose of U, and D is * Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -88,7 +88,7 @@ * J. Lewis, Boeing Computer Services Company * A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**H, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -105,7 +105,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**H, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -179,7 +179,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**H using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -296,7 +296,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**H = A - W(k)*1/D(k)*W(k)**H * R1 = ONE / DBLE( A( K, K ) ) CALL ZHER( UPLO, K-1, -R1, A( 1, K ), 1, A, LDA ) @@ -315,8 +315,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**H +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**H * IF( K.GT.2 ) THEN * @@ -362,7 +362,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**H using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -482,7 +482,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**H = A - W(k)*(1/D(k))*W(k)**H * R1 = ONE / DBLE( A( K, K ) ) CALL ZHER( UPLO, N-K, -R1, A( K+1, K ), 1, @@ -500,8 +500,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**H +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**H * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/zhetrd.f b/SRC/zhetrd.f index e2f2001f..f406b01e 100644 --- a/SRC/zhetrd.f +++ b/SRC/zhetrd.f @@ -92,7 +92,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -105,7 +105,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -237,7 +237,7 @@ $ LDWORK ) * * Update the unreduced submatrix A(1:i-1,1:i-1), using an -* update of the form: A := A - V*W' - W*V' +* update of the form: A := A - V*W' - W*V**H * CALL ZHER2K( UPLO, 'No transpose', I-1, NB, -CONE, $ A( 1, I ), LDA, WORK, LDWORK, ONE, A, LDA ) @@ -268,7 +268,7 @@ $ TAU( I ), WORK, LDWORK ) * * Update the unreduced submatrix A(i+nb:n,i+nb:n), using -* an update of the form: A := A - V*W' - W*V' +* an update of the form: A := A - V*W' - W*V**H * CALL ZHER2K( UPLO, 'No transpose', N-I-NB+1, NB, -CONE, $ A( I+NB, I ), LDA, WORK( NB+1 ), LDWORK, ONE, diff --git a/SRC/zhetrf.f b/SRC/zhetrf.f index 21085b14..5d21da9b 100644 --- a/SRC/zhetrf.f +++ b/SRC/zhetrf.f @@ -82,7 +82,7 @@ * Further Details * =============== * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**H, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -99,7 +99,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**H, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -182,7 +182,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**H using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * KB, where KB is the number of columns factorized by ZLAHEF; @@ -222,7 +222,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**H using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * KB, where KB is the number of columns factorized by ZLAHEF; diff --git a/SRC/zhetri.f b/SRC/zhetri.f index afe26502..8e4d66ce 100644 --- a/SRC/zhetri.f +++ b/SRC/zhetri.f @@ -130,7 +130,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -225,7 +225,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/zhetri2x.f b/SRC/zhetri2x.f index 71e780eb..67ee4b96 100644 --- a/SRC/zhetri2x.f +++ b/SRC/zhetri2x.f @@ -156,7 +156,7 @@ IF( UPPER ) THEN * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**H)*inv(D)*inv(U)*P'. * CALL ZTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -184,9 +184,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**H) = (inv(U))**H * -* inv(U')*inv(D)*inv(U) +* inv(U**H)*inv(D)*inv(U) * CUT=N DO WHILE (CUT .GT. 0) @@ -311,7 +311,7 @@ * END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**H)*inv(D)*inv(U) *P' * I=1 DO WHILE ( I .LE. N ) @@ -333,7 +333,7 @@ * * LOWER... * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**H)*inv(D)*inv(U)*P'. * CALL ZTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -361,9 +361,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**H) = (inv(U))**H * -* inv(U')*inv(D)*inv(U) +* inv(U**H)*inv(D)*inv(U) * CUT=0 DO WHILE (CUT .LT. N) @@ -494,7 +494,7 @@ CUT=CUT+NNB END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**H)*inv(D)*inv(U) *P' * I=N DO WHILE ( I .GE. 1 ) diff --git a/SRC/zhetrs.f b/SRC/zhetrs.f index 395f7867..86a53278 100644 --- a/SRC/zhetrs.f +++ b/SRC/zhetrs.f @@ -108,7 +108,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**H. * * First solve U*D*X = B, overwriting B with X. * @@ -180,7 +180,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**H *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -197,7 +197,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**H(K)), where U(K) is the transformation * stored in column K of A. * IF( K.GT.1 ) THEN @@ -217,7 +217,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**H(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * IF( K.GT.1 ) THEN @@ -245,7 +245,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**H. * * First solve L*D*X = B, overwriting B with X. * @@ -320,7 +320,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**H *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -337,7 +337,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**H(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) THEN @@ -358,7 +358,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**H(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/zhetrs2.f b/SRC/zhetrs2.f index d57620d1..d0259b82 100644 --- a/SRC/zhetrs2.f +++ b/SRC/zhetrs2.f @@ -21,9 +21,9 @@ * Purpose * ======= * -* ZHETRS2 solves a system of linear equations A*X = B with a real -* Hermitian matrix A using the factorization A = U*D*U**T or -* A = L*D*L**T computed by ZSYTRF and converted by ZSYCONV. +* ZHETRS2 solves a system of linear equations A*X = B with a complex +* Hermitian matrix A using the factorization A = U*D*U**H or +* A = L*D*L**H computed by ZHETRF and converted by ZSYCONV. * * Arguments * ========= @@ -118,9 +118,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**H. * -* P' * B +* P**T * B K=N DO WHILE ( K .GE. 1 ) IF( IPIV( K ).GT.0 ) THEN @@ -140,11 +140,11 @@ END IF END DO * -* Compute (U \P' * B) -> B [ (U \P' * B) ] +* Compute (U \P**T * B) -> B [ (U \P**T * B) ] * CALL ZTRSM('L','U','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (U \P' * B) ] +* Compute D \ B -> B [ D \ (U \P**T * B) ] * I=N DO WHILE ( I .GE. 1 ) @@ -169,11 +169,11 @@ I = I - 1 END DO * -* Compute (U' \ B) -> B [ U' \ (D \ (U \P' * B) ) ] +* Compute (U**H \ B) -> B [ U**H \ (D \ (U \P**T * B) ) ] * CALL ZTRSM('L','U','C','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (U' \ (D \ (U \P' * B) )) ] +* P * B [ P * (U**H \ (D \ (U \P**T * B) )) ] * K=1 DO WHILE ( K .LE. N ) @@ -196,9 +196,9 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**H. * -* P' * B +* P**T * B K=1 DO WHILE ( K .LE. N ) IF( IPIV( K ).GT.0 ) THEN @@ -218,11 +218,11 @@ ENDIF END DO * -* Compute (L \P' * B) -> B [ (L \P' * B) ] +* Compute (L \P**T * B) -> B [ (L \P**T * B) ] * CALL ZTRSM('L','L','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (L \P' * B) ] +* Compute D \ B -> B [ D \ (L \P**T * B) ] * I=1 DO WHILE ( I .LE. N ) @@ -245,11 +245,11 @@ I = I + 1 END DO * -* Compute (L' \ B) -> B [ L' \ (D \ (L \P' * B) ) ] +* Compute (L**H \ B) -> B [ L**H \ (D \ (L \P**T * B) ) ] * CALL ZTRSM('L','L','C','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (L' \ (D \ (L \P' * B) )) ] +* P * B [ P * (L**H \ (D \ (L \P**T * B) )) ] * K=N DO WHILE ( K .GE. 1 ) diff --git a/SRC/zhpcon.f b/SRC/zhpcon.f index d87fd6b6..07ccf508 100644 --- a/SRC/zhpcon.f +++ b/SRC/zhpcon.f @@ -142,7 +142,7 @@ CALL ZLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**H) or inv(U*D*U**H). * CALL ZHPTRS( UPLO, N, 1, AP, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/zhpgst.f b/SRC/zhpgst.f index 3f560ff3..8cfa2444 100644 --- a/SRC/zhpgst.f +++ b/SRC/zhpgst.f @@ -108,7 +108,7 @@ IF( ITYPE.EQ.1 ) THEN IF( UPPER ) THEN * -* Compute inv(U')*A*inv(U) +* Compute inv(U**H)*A*inv(U) * * J1 and JJ are the indices of A(1,j) and A(j,j) * @@ -131,7 +131,7 @@ 10 CONTINUE ELSE * -* Compute inv(L)*A*inv(L') +* Compute inv(L)*A*inv(L**H) * * KK and K1K1 are the indices of A(k,k) and A(k+1,k+1) * @@ -161,7 +161,7 @@ ELSE IF( UPPER ) THEN * -* Compute U*A*U' +* Compute U*A*U**H * * K1 and KK are the indices of A(1,k) and A(k,k) * @@ -186,7 +186,7 @@ 30 CONTINUE ELSE * -* Compute L'*A*L +* Compute L**H *A*L * * JJ and J1J1 are the indices of A(j,j) and A(j+1,j+1) * diff --git a/SRC/zhpgv.f b/SRC/zhpgv.f index daa50644..269fd497 100644 --- a/SRC/zhpgv.f +++ b/SRC/zhpgv.f @@ -160,7 +160,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -176,7 +176,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/zhpgvd.f b/SRC/zhpgvd.f index bb26e8ee..94e59043 100644 --- a/SRC/zhpgvd.f +++ b/SRC/zhpgvd.f @@ -91,7 +91,7 @@ * On exit, if INFO = 0, WORK(1) returns the required LWORK. * * LWORK (input) INTEGER -* The dimension of array WORK. +* The dimension of the array WORK. * If N <= 1, LWORK >= 1. * If JOBZ = 'N' and N > 1, LWORK >= N. * If JOBZ = 'V' and N > 1, LWORK >= 2*N. @@ -255,7 +255,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -271,7 +271,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/zhpgvx.f b/SRC/zhpgvx.f index ea41c03f..0770eebb 100644 --- a/SRC/zhpgvx.f +++ b/SRC/zhpgvx.f @@ -256,7 +256,7 @@ IF( ITYPE.EQ.1 .OR. ITYPE.EQ.2 ) THEN * * For A*x=(lambda)*B*x and A*B*x=(lambda)*x; -* backtransform eigenvectors: x = inv(L)'*y or inv(U)*y +* backtransform eigenvectors: x = inv(L)**H *y or inv(U)*y * IF( UPPER ) THEN TRANS = 'N' @@ -272,7 +272,7 @@ ELSE IF( ITYPE.EQ.3 ) THEN * * For B*A*x=(lambda)*x; -* backtransform eigenvectors: x = L*y or U'*y +* backtransform eigenvectors: x = L*y or U**H *y * IF( UPPER ) THEN TRANS = 'C' diff --git a/SRC/zhpsv.f b/SRC/zhpsv.f index d6ae4a2b..811bd0f8 100644 --- a/SRC/zhpsv.f +++ b/SRC/zhpsv.f @@ -132,7 +132,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL ZHPTRF( UPLO, N, AP, IPIV, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zhpsvx.f b/SRC/zhpsvx.f index 1e464fd7..80341a2c 100644 --- a/SRC/zhpsvx.f +++ b/SRC/zhpsvx.f @@ -234,7 +234,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**H or A = L*D*L**H. * CALL ZCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL ZHPTRF( UPLO, N, AFP, IPIV, INFO ) diff --git a/SRC/zhptrd.f b/SRC/zhptrd.f index d59fd0d2..403bc4c4 100644 --- a/SRC/zhptrd.f +++ b/SRC/zhptrd.f @@ -74,7 +74,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP, @@ -87,7 +87,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP, @@ -147,7 +147,7 @@ AP( I1+N-1 ) = DBLE( AP( I1+N-1 ) ) DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(1:i-1,i+1) * ALPHA = AP( I1+I-1 ) @@ -165,13 +165,13 @@ CALL ZHPMV( UPLO, I, TAUI, AP, AP( I1 ), 1, ZERO, TAU, $ 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**H *v) * v * ALPHA = -HALF*TAUI*ZDOTC( I, TAU, 1, AP( I1 ), 1 ) CALL ZAXPY( I, ALPHA, AP( I1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**H - w * v**H * CALL ZHPR2( UPLO, I, -ONE, AP( I1 ), 1, TAU, 1, AP ) * @@ -192,7 +192,7 @@ DO 20 I = 1, N - 1 I1I1 = II + N - I + 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(i+2:n,i) * ALPHA = AP( II+1 ) @@ -210,14 +210,14 @@ CALL ZHPMV( UPLO, N-I, TAUI, AP( I1I1 ), AP( II+1 ), 1, $ ZERO, TAU( I ), 1 ) * -* Compute w := y - 1/2 * tau * (y'*v) * v +* Compute w := y - 1/2 * tau * (y**H *v) * v * ALPHA = -HALF*TAUI*ZDOTC( N-I, TAU( I ), 1, AP( II+1 ), $ 1 ) CALL ZAXPY( N-I, ALPHA, AP( II+1 ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w' - w * v**H * CALL ZHPR2( UPLO, N-I, -ONE, AP( II+1 ), 1, TAU( I ), 1, $ AP( I1I1 ) ) diff --git a/SRC/zhptrf.f b/SRC/zhptrf.f index 8981cb97..d3aecf0c 100644 --- a/SRC/zhptrf.f +++ b/SRC/zhptrf.f @@ -71,7 +71,7 @@ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**H, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -88,7 +88,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**H, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -161,7 +161,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**H using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -293,7 +293,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**H = A - W(k)*1/D(k)*W(k)**H * R1 = ONE / DBLE( AP( KC+K-1 ) ) CALL ZHPR( UPLO, K-1, -R1, AP( KC ), 1, AP ) @@ -312,8 +312,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**H +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**H * IF( K.GT.2 ) THEN * @@ -363,7 +363,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**H using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -498,7 +498,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**H = A - W(k)*(1/D(k))*W(k)**H * R1 = ONE / DBLE( AP( KC ) ) CALL ZHPR( UPLO, N-K, -R1, AP( KC+1 ), 1, @@ -521,8 +521,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**H +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**H * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/zhptri.f b/SRC/zhptri.f index eadcd252..738359fc 100644 --- a/SRC/zhptri.f +++ b/SRC/zhptri.f @@ -130,7 +130,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -233,7 +233,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**H. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/zhptrs.f b/SRC/zhptrs.f index cad83450..f302d89a 100644 --- a/SRC/zhptrs.f +++ b/SRC/zhptrs.f @@ -104,7 +104,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**H. * * First solve U*D*X = B, overwriting B with X. * @@ -179,7 +179,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**H *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -197,7 +197,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**H(K)), where U(K) is the transformation * stored in column K of A. * IF( K.GT.1 ) THEN @@ -218,7 +218,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**H(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * IF( K.GT.1 ) THEN @@ -247,7 +247,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**H. * * First solve L*D*X = B, overwriting B with X. * @@ -325,7 +325,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**H *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -344,7 +344,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**H(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) THEN @@ -365,7 +365,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**H(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/zla_gbamv.f b/SRC/zla_gbamv.f index 3cd59e53..59451f55 100644 --- a/SRC/zla_gbamv.f +++ b/SRC/zla_gbamv.f @@ -23,10 +23,10 @@ * Purpose * ======= * -* DLA_GBAMV performs one of the matrix-vector operations +* ZLA_GBAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -48,43 +48,43 @@ * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* KL (input) INTEGER +* KL (input) INTEGER * The number of subdiagonals within the band of A. KL >= 0. * -* KU (input) INTEGER +* KU (input) INTEGER * The number of superdiagonals within the band of A. KU >= 0. * -* ALPHA - DOUBLE PRECISION +* ALPHA (input) DOUBLE PRECISION * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ) -* Before entry, the leading m by n part of the array A must +* AB (input) COMPLEX*16 array of DIMENSION ( LDAB, n ) +* Before entry, the leading m by n part of the array AB must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER -* On entry, LDA specifies the first dimension of A as declared -* in the calling (sub) program. LDA must be at least +* LDAB (input) INTEGER +* On entry, LDAB specifies the first dimension of AB as declared +* in the calling (sub) program. LDAB must be at least * max( 1, m ). * Unchanged on exit. * -* X (input) DOUBLE PRECISION array, dimension +* X (input) COMPLEX*16 array, dimension * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -92,17 +92,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION +* BETA (input) DOUBLE PRECISION * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y (input/output) DOUBLE PRECISION array, dimension +* Y (input/output) DOUBLE PRECISION array, dimension * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. @@ -110,7 +110,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/zla_geamv.f b/SRC/zla_geamv.f index b0af67a3..add41629 100644 --- a/SRC/zla_geamv.f +++ b/SRC/zla_geamv.f @@ -27,7 +27,7 @@ * ZLA_GEAMV performs one of the matrix-vector operations * * y := alpha*abs(A)*abs(x) + beta*abs(y), -* or y := alpha*abs(A)'*abs(x) + beta*abs(y), +* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), * * where alpha and beta are scalars, x and y are vectors and A is an * m by n matrix. @@ -44,42 +44,42 @@ * Arguments * ========== * -* TRANS (input) INTEGER +* TRANS (input) INTEGER * On entry, TRANS specifies the operation to be performed as * follows: * * BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) -* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) -* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) +* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) +* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) * * Unchanged on exit. * -* M (input) INTEGER +* M (input) INTEGER * On entry, M specifies the number of rows of the matrix A. * M must be at least zero. * Unchanged on exit. * -* N (input) INTEGER +* N (input) INTEGER * On entry, N specifies the number of columns of the matrix A. * N must be at least zero. * Unchanged on exit. * -* ALPHA - DOUBLE PRECISION +* ALPHA (input) DOUBLE PRECISION * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - COMPLEX*16 array of DIMENSION ( LDA, n ) +* A (input) COMPLEX*16 array of DIMENSION ( LDA, n ) * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. * -* LDA (input) INTEGER +* LDA (input) INTEGER * On entry, LDA specifies the first dimension of A as declared * in the calling (sub) program. LDA must be at least * max( 1, m ). * Unchanged on exit. * -* X - COMPLEX*16 array of DIMENSION at least +* X (input) COMPLEX*16 array of DIMENSION at least * ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. @@ -87,17 +87,17 @@ * vector x. * Unchanged on exit. * -* INCX (input) INTEGER +* INCX (input) INTEGER * On entry, INCX specifies the increment for the elements of * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION +* BETA (input) DOUBLE PRECISION * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. * -* Y (input/output) DOUBLE PRECISION array, dimension +* Y (input/output) DOUBLE PRECISION array, dimension * ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' * and at least * ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. @@ -105,7 +105,7 @@ * must contain the vector y. On exit, Y is overwritten by the * updated vector y. * -* INCY (input) INTEGER +* INCY (input) INTEGER * On entry, INCY specifies the increment for the elements of * Y. INCY must not be zero. * Unchanged on exit. diff --git a/SRC/zlabrd.f b/SRC/zlabrd.f index b94e7da4..bd928a79 100644 --- a/SRC/zlabrd.f +++ b/SRC/zlabrd.f @@ -20,7 +20,7 @@ * * ZLABRD reduces the first NB rows and columns of a complex general * m by n matrix A to upper or lower real bidiagonal form by a unitary -* transformation Q' * A * P, and returns the matrices X and Y which +* transformation Q**H * A * P, and returns the matrices X and Y which * are needed to apply the transformation to the unreduced part of A. * * If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower @@ -101,7 +101,7 @@ * * Each H(i) and G(i) has the form: * -* H(i) = I - tauq * v * v' and G(i) = I - taup * u * u' +* H(i) = I - tauq * v * v**H and G(i) = I - taup * u * u**H * * where tauq and taup are complex scalars, and v and u are complex * vectors. @@ -115,9 +115,9 @@ * A(i,i+1:n); tauq is stored in TAUQ(i) and taup in TAUP(i). * * The elements of the vectors v and u together form the m-by-nb matrix -* V and the nb-by-n matrix U' which are needed, with X and Y, to apply +* V and the nb-by-n matrix U**H which are needed, with X and Y, to apply * the transformation to the unreduced part of the matrix, using a block -* update of the form: A := A - V*Y' - X*U'. +* update of the form: A := A - V*Y**H - X*U**H. * * The contents of A on exit are illustrated by the following examples * with nb = 2: diff --git a/SRC/zlaed7.f b/SRC/zlaed7.f index 8dd3aa77..393ef4f5 100644 --- a/SRC/zlaed7.f +++ b/SRC/zlaed7.f @@ -29,9 +29,9 @@ * eigenvalues and optionally eigenvectors of a dense or banded * Hermitian matrix that has been reduced to tridiagonal form. * -* T = Q(in) ( D(in) + RHO * Z*Z' ) Q'(in) = Q(out) * D(out) * Q'(out) +* T = Q(in) ( D(in) + RHO * Z*Z**H ) Q**H(in) = Q(out) * D(out) * Q**H(out) * -* where Z = Q'u, u is a vector of length N with ones in the +* where Z = Q**Hu, u is a vector of length N with ones in the * CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. * * The eigenvectors of the original matrix are stored in Q, and the diff --git a/SRC/zlaein.f b/SRC/zlaein.f index 9c31177c..c9c4f505 100644 --- a/SRC/zlaein.f +++ b/SRC/zlaein.f @@ -223,7 +223,7 @@ DO 110 ITS = 1, N * * Solve U*x = scale*v for a right eigenvector -* or U'*x = scale*v for a left eigenvector, +* or U**H *x = scale*v for a left eigenvector, * overwriting x on v. * CALL ZLATRS( 'Upper', TRANS, 'Nonunit', NORMIN, N, B, LDB, V, diff --git a/SRC/zlags2.f b/SRC/zlags2.f index 6727c212..39b8d58c 100644 --- a/SRC/zlags2.f +++ b/SRC/zlags2.f @@ -18,28 +18,26 @@ * ZLAGS2 computes 2-by-2 unitary matrices U, V and Q, such * that if ( UPPER ) then * -* U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) -* ( 0 A3 ) ( x x ) +* U**H *A*Q = U**H *( A1 A2 )*Q = ( x 0 ) +* ( 0 A3 ) ( x x ) * and -* V'*B*Q = V'*( B1 B2 )*Q = ( x 0 ) -* ( 0 B3 ) ( x x ) +* V**H*B*Q = V**H *( B1 B2 )*Q = ( x 0 ) +* ( 0 B3 ) ( x x ) * * or if ( .NOT.UPPER ) then * -* U'*A*Q = U'*( A1 0 )*Q = ( x x ) -* ( A2 A3 ) ( 0 x ) +* U**H *A*Q = U**H *( A1 0 )*Q = ( x x ) +* ( A2 A3 ) ( 0 x ) * and -* V'*B*Q = V'*( B1 0 )*Q = ( x x ) -* ( B2 B3 ) ( 0 x ) +* V**H *B*Q = V**H *( B1 0 )*Q = ( x x ) +* ( B2 B3 ) ( 0 x ) * where * -* U = ( CSU SNU ), V = ( CSV SNV ), -* ( -CONJG(SNU) CSU ) ( -CONJG(SNV) CSV ) +* U = ( CSU SNU ), V = ( CSV SNV ), +* ( -SNU**H CSU ) ( -SNV**H CSV ) * -* Q = ( CSQ SNQ ) -* ( -CONJG(SNQ) CSQ ) -* -* Z' denotes the conjugate transpose of Z. +* Q = ( CSQ SNQ ) +* ( -SNQ**H CSQ ) * * The rows of the transformed A and B are parallel. Moreover, if the * input 2-by-2 matrix A is not zero, then the transformed (1,1) entry @@ -135,8 +133,8 @@ IF( ABS( CSL ).GE.ABS( SNL ) .OR. ABS( CSR ).GE.ABS( SNR ) ) $ THEN * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**H *A and V**H *B, +* and (1,2) element of |U|**H *|A| and |V|**H *|B|. * UA11R = CSL*A1 UA12 = CSL*A2 + D1*SNL*A3 @@ -147,7 +145,7 @@ AUA12 = ABS( CSL )*ABS1( A2 ) + ABS( SNL )*ABS( A3 ) AVB12 = ABS( CSR )*ABS1( B2 ) + ABS( SNR )*ABS( B3 ) * -* zero (1,2) elements of U'*A and V'*B +* zero (1,2) elements of U**H *A and V**H *B * IF( ( ABS( UA11R )+ABS1( UA12 ) ).EQ.ZERO ) THEN CALL ZLARTG( -DCMPLX( VB11R ), DCONJG( VB12 ), CSQ, SNQ, @@ -171,8 +169,8 @@ * ELSE * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,2) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**H *A and V**H *B, +* and (2,2) element of |U|**H *|A| and |V|**H *|B|. * UA21 = -DCONJG( D1 )*SNL*A1 UA22 = -DCONJG( D1 )*SNL*A2 + CSL*A3 @@ -183,7 +181,7 @@ AUA22 = ABS( SNL )*ABS1( A2 ) + ABS( CSL )*ABS( A3 ) AVB22 = ABS( SNR )*ABS1( B2 ) + ABS( CSR )*ABS( B3 ) * -* zero (2,2) elements of U'*A and V'*B, and then swap. +* zero (2,2) elements of U**H *A and V**H *B, and then swap. * IF( ( ABS1( UA21 )+ABS1( UA22 ) ).EQ.ZERO ) THEN CALL ZLARTG( -DCONJG( VB21 ), DCONJG( VB22 ), CSQ, SNQ, @@ -236,8 +234,8 @@ IF( ABS( CSR ).GE.ABS( SNR ) .OR. ABS( CSL ).GE.ABS( SNL ) ) $ THEN * -* Compute the (2,1) and (2,2) elements of U'*A and V'*B, -* and (2,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (2,1) and (2,2) elements of U**H *A and V**H *B, +* and (2,1) element of |U|**H *|A| and |V|**H *|B|. * UA21 = -D1*SNR*A1 + CSR*A2 UA22R = CSR*A3 @@ -248,7 +246,7 @@ AUA21 = ABS( SNR )*ABS( A1 ) + ABS( CSR )*ABS1( A2 ) AVB21 = ABS( SNL )*ABS( B1 ) + ABS( CSL )*ABS1( B2 ) * -* zero (2,1) elements of U'*A and V'*B. +* zero (2,1) elements of U**H *A and V**H *B. * IF( ( ABS1( UA21 )+ABS( UA22R ) ).EQ.ZERO ) THEN CALL ZLARTG( DCMPLX( VB22R ), VB21, CSQ, SNQ, R ) @@ -268,8 +266,8 @@ * ELSE * -* Compute the (1,1) and (1,2) elements of U'*A and V'*B, -* and (1,1) element of |U|'*|A| and |V|'*|B|. +* Compute the (1,1) and (1,2) elements of U**H *A and V**H *B, +* and (1,1) element of |U|**H *|A| and |V|**H *|B|. * UA11 = CSR*A1 + DCONJG( D1 )*SNR*A2 UA12 = DCONJG( D1 )*SNR*A3 @@ -280,7 +278,7 @@ AUA11 = ABS( CSR )*ABS( A1 ) + ABS( SNR )*ABS1( A2 ) AVB11 = ABS( CSL )*ABS( B1 ) + ABS( SNL )*ABS1( B2 ) * -* zero (1,1) elements of U'*A and V'*B, and then swap. +* zero (1,1) elements of U**H *A and V**H *B, and then swap. * IF( ( ABS1( UA11 )+ABS1( UA12 ) ).EQ.ZERO ) THEN CALL ZLARTG( VB12, VB11, CSQ, SNQ, R ) diff --git a/SRC/zlagtm.f b/SRC/zlagtm.f index 83aff56a..7d3bdd60 100644 --- a/SRC/zlagtm.f +++ b/SRC/zlagtm.f @@ -189,7 +189,7 @@ 120 CONTINUE ELSE IF( LSAME( TRANS, 'T' ) ) THEN * -* Compute B := B - A'*X +* Compute B := B - A**T *X * DO 140 J = 1, NRHS IF( N.EQ.1 ) THEN @@ -207,7 +207,7 @@ 140 CONTINUE ELSE IF( LSAME( TRANS, 'C' ) ) THEN * -* Compute B := B - A'*X +* Compute B := B - A**H *X * DO 160 J = 1, NRHS IF( N.EQ.1 ) THEN diff --git a/SRC/zlahef.f b/SRC/zlahef.f index 860d93a6..c37a449b 100644 --- a/SRC/zlahef.f +++ b/SRC/zlahef.f @@ -21,15 +21,15 @@ * matrix A using the Bunch-Kaufman diagonal pivoting method. The * partial factorization has the form: * -* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: -* ( 0 U22 ) ( 0 D ) ( U12' U22' ) +* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: +* ( 0 U22 ) ( 0 D ) ( U12**H U22**H ) * -* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L' -* ( L21 I ) ( 0 A22 ) ( 0 I ) +* A = ( L11 0 ) ( D 0 ) ( L11**H L21**H ) if UPLO = 'L' +* ( L21 I ) ( 0 A22 ) ( 0 I ) * * where the order of D is at most NB. The actual order is returned in * the argument KB, and is either NB or NB-1, or N if N <= NB. -* Note that U' denotes the conjugate transpose of U. +* Note that U**H denotes the conjugate transpose of U. * * ZLAHEF is an auxiliary routine called by ZHETRF. It uses blocked code * (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or @@ -344,7 +344,7 @@ * * Update the upper triangle of A11 (= A(1:k,1:k)) as * -* A11 := A11 - U12*D*U12' = A11 - U12*W' +* A11 := A11 - U12*D*U12**H = A11 - U12*W**H * * computing blocks of NB columns at a time (note that conjg(W) is * actually stored) @@ -593,7 +593,7 @@ * * Update the lower triangle of A22 (= A(k:n,k:n)) as * -* A22 := A22 - L21*D*L21' = A22 - L21*W' +* A22 := A22 - L21*D*L21**H = A22 - L21*W**H * * computing blocks of NB columns at a time (note that conjg(W) is * actually stored) diff --git a/SRC/zlahr2.f b/SRC/zlahr2.f index e6bffc2d..db310900 100644 --- a/SRC/zlahr2.f +++ b/SRC/zlahr2.f @@ -19,8 +19,8 @@ * ZLAHR2 reduces the first NB columns of A complex general n-BY-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by an unitary similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**H * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. * * This is an auxiliary routine called by ZGEHRD. * @@ -75,7 +75,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -84,7 +84,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**H) * (A - Y*V**H). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -144,14 +144,14 @@ * * Update A(K+1:N,I) * -* Update I-th column of A - Y * V' +* Update I-th column of A - Y * V**H * CALL ZLACGV( I-1, A( K+I-1, 1 ), LDA ) CALL ZGEMV( 'NO TRANSPOSE', N-K, I-1, -ONE, Y(K+1,1), LDY, $ A( K+I-1, 1 ), LDA, ONE, A( K+1, I ), 1 ) CALL ZLACGV( I-1, A( K+I-1, 1 ), LDA ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T' * V**H to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -166,13 +166,13 @@ $ I-1, A( K+1, 1 ), $ LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**H * b2 * CALL ZGEMV( 'Conjugate transpose', N-K-I+1, I-1, $ ONE, A( K+I, 1 ), $ LDA, A( K+I, I ), 1, ONE, T( 1, NB ), 1 ) * -* w := T'*w +* w := T**H * w * CALL ZTRMV( 'Upper', 'Conjugate transpose', 'NON-UNIT', $ I-1, T, LDT, diff --git a/SRC/zlahrd.f b/SRC/zlahrd.f index 3ad16848..81d039cb 100644 --- a/SRC/zlahrd.f +++ b/SRC/zlahrd.f @@ -19,8 +19,8 @@ * ZLAHRD reduces the first NB columns of a complex general n-by-(n-k+1) * matrix A so that elements below the k-th subdiagonal are zero. The * reduction is performed by a unitary similarity transformation -* Q' * A * Q. The routine returns the matrices V and T which determine -* Q as a block reflector I - V*T*V', and also the matrix Y = A * V * T. +* Q**H * A * Q. The routine returns the matrices V and T which determine +* Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. * * This is an OBSOLETE auxiliary routine. * This routine will be 'deprecated' in a future release. @@ -76,7 +76,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in @@ -85,7 +85,7 @@ * The elements of the vectors v together form the (n-k+1)-by-nb matrix * V which is needed, with T and Y, to apply the transformation to the * unreduced part of the matrix, using an update of the form: -* A := (I - V*T*V') * (A - Y*V'). +* A := (I - V*T*V**H) * (A - Y*V**H). * * The contents of A on exit are illustrated by the following example * with n = 7, k = 3 and nb = 2: @@ -132,14 +132,14 @@ * * Update A(1:n,i) * -* Compute i-th column of A - Y * V' +* Compute i-th column of A - Y * V**H * CALL ZLACGV( I-1, A( K+I-1, 1 ), LDA ) CALL ZGEMV( 'No transpose', N, I-1, -ONE, Y, LDY, $ A( K+I-1, 1 ), LDA, ONE, A( 1, I ), 1 ) CALL ZLACGV( I-1, A( K+I-1, 1 ), LDA ) * -* Apply I - V * T' * V' to this column (call it b) from the +* Apply I - V * T**H * V**H to this column (call it b) from the * left, using the last column of T as workspace * * Let V = ( V1 ) and b = ( b1 ) (first I-1 rows) @@ -147,19 +147,19 @@ * * where V1 is unit lower triangular * -* w := V1' * b1 +* w := V1**H * b1 * CALL ZCOPY( I-1, A( K+1, I ), 1, T( 1, NB ), 1 ) CALL ZTRMV( 'Lower', 'Conjugate transpose', 'Unit', I-1, $ A( K+1, 1 ), LDA, T( 1, NB ), 1 ) * -* w := w + V2'*b2 +* w := w + V2**H *b2 * CALL ZGEMV( 'Conjugate transpose', N-K-I+1, I-1, ONE, $ A( K+I, 1 ), LDA, A( K+I, I ), 1, ONE, $ T( 1, NB ), 1 ) * -* w := T'*w +* w := T**H *w * CALL ZTRMV( 'Upper', 'Conjugate transpose', 'Non-unit', I-1, $ T, LDT, T( 1, NB ), 1 ) diff --git a/SRC/zlaic1.f b/SRC/zlaic1.f index c5c8ff6d..5b73020d 100644 --- a/SRC/zlaic1.f +++ b/SRC/zlaic1.f @@ -41,7 +41,7 @@ * diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] * [ conjg(gamma) ] * -* where alpha = conjg(x)'*w. +* where alpha = x**H * w. * * Arguments * ========= diff --git a/SRC/zlalsd.f b/SRC/zlalsd.f index 24594c79..24cf5515 100644 --- a/SRC/zlalsd.f +++ b/SRC/zlalsd.f @@ -245,7 +245,7 @@ END IF * * In the real version, B is passed to DLASDQ and multiplied -* internally by Q'. Here B is complex and that product is +* internally by Q**H. Here B is complex and that product is * computed below in two steps (real and imaginary parts). * J = IRWB - 1 @@ -431,7 +431,7 @@ END IF * * In the real version, B is passed to DLASDQ and multiplied -* internally by Q'. Here B is complex and that product is +* internally by Q**H. Here B is complex and that product is * computed below in two steps (real and imaginary parts). * J = IRWB - 1 diff --git a/SRC/zlaqhb.f b/SRC/zlaqhb.f index 6526162f..4ae039f5 100644 --- a/SRC/zlaqhb.f +++ b/SRC/zlaqhb.f @@ -18,8 +18,8 @@ * Purpose * ======= * -* ZLAQHB equilibrates a symmetric band matrix A using the scaling -* factors in the vector S. +* ZLAQHB equilibrates a Hermitian band matrix A +* using the scaling factors in the vector S. * * Arguments * ========= @@ -46,7 +46,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**H *U or A = L*L**H of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER diff --git a/SRC/zlaqp2.f b/SRC/zlaqp2.f index cacdea61..0e70a495 100644 --- a/SRC/zlaqp2.f +++ b/SRC/zlaqp2.f @@ -136,7 +136,7 @@ * IF( I.LT.N ) THEN * -* Apply H(i)' to A(offset+i:m,i+1:n) from the left. +* Apply H(i)**H to A(offset+i:m,i+1:n) from the left. * AII = A( OFFPI, I ) A( OFFPI, I ) = CONE diff --git a/SRC/zlaqps.f b/SRC/zlaqps.f index cca63527..5dc52070 100644 --- a/SRC/zlaqps.f +++ b/SRC/zlaqps.f @@ -76,7 +76,7 @@ * Auxiliar vector. * * F (input/output) COMPLEX*16 array, dimension (LDF,NB) -* Matrix F' = L*Y'*A. +* Matrix F**H = L * Y**H * A. * * LDF (input) INTEGER * The leading dimension of the array F. LDF >= max(1,N). @@ -88,6 +88,11 @@ * G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain * X. Sun, Computer Science Dept., Duke University, USA * +* Partial column norm updating strategy modified by +* Z. Drmac and Z. Bujanovic, Dept. of Mathematics, +* University of Zagreb, Croatia. +* June 2010 +* For more details see LAPACK Working Note 176. * ===================================================================== * * .. Parameters .. @@ -141,7 +146,7 @@ END IF * * Apply previous Householder reflectors to column K: -* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)'. +* A(RK:M,K) := A(RK:M,K) - A(RK:M,1:K-1)*F(K,1:K-1)**H. * IF( K.GT.1 ) THEN DO 20 J = 1, K - 1 @@ -167,7 +172,7 @@ * * Compute Kth column of F: * -* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)'*A(RK:M,K). +* Compute F(K+1:N,K) := tau(K)*A(RK:M,K+1:N)**H*A(RK:M,K). * IF( K.LT.N ) THEN CALL ZGEMV( 'Conjugate transpose', M-RK+1, N-K, TAU( K ), @@ -182,7 +187,7 @@ 40 CONTINUE * * Incremental updating of F: -* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)' +* F(1:N,K) := F(1:N,K) - tau(K)*F(1:N,1:K-1)*A(RK:M,1:K-1)**H * *A(RK:M,K). * IF( K.GT.1 ) THEN @@ -195,7 +200,7 @@ END IF * * Update the current row of A: -* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)'. +* A(RK,K+1:N) := A(RK,K+1:N) - A(RK,1:K)*F(K+1:N,1:K)**H. * IF( K.LT.N ) THEN CALL ZGEMM( 'No transpose', 'Conjugate transpose', 1, N-K, @@ -236,7 +241,7 @@ * * Apply the block reflector to the rest of the matrix: * A(OFFSET+KB+1:M,KB+1:N) := A(OFFSET+KB+1:M,KB+1:N) - -* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)'. +* A(OFFSET+KB+1:M,1:KB)*F(KB+1:N,1:KB)**H. * IF( KB.LT.MIN( N, M-OFFSET ) ) THEN CALL ZGEMM( 'No transpose', 'Conjugate transpose', M-RK, N-KB, diff --git a/SRC/zlaqsb.f b/SRC/zlaqsb.f index 666109b7..5ec4adb4 100644 --- a/SRC/zlaqsb.f +++ b/SRC/zlaqsb.f @@ -46,7 +46,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**T *U or A = L*L**T of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER diff --git a/SRC/zlar1v.f b/SRC/zlar1v.f index 6183b64a..fdd8e5b5 100644 --- a/SRC/zlar1v.f +++ b/SRC/zlar1v.f @@ -25,14 +25,14 @@ * * ZLAR1V computes the (scaled) r-th column of the inverse of * the sumbmatrix in rows B1 through BN of the tridiagonal matrix -* L D L^T - sigma I. When sigma is close to an eigenvalue, the +* L D L**T - sigma I. When sigma is close to an eigenvalue, the * computed vector is an accurate eigenvector. Usually, r corresponds * to the index where the eigenvector is largest in magnitude. * The following steps accomplish this computation : -* (a) Stationary qd transform, L D L^T - sigma I = L(+) D(+) L(+)^T, -* (b) Progressive qd transform, L D L^T - sigma I = U(-) D(-) U(-)^T, +* (a) Stationary qd transform, L D L**T - sigma I = L(+) D(+) L(+)**T, +* (b) Progressive qd transform, L D L**T - sigma I = U(-) D(-) U(-)**T, * (c) Computation of the diagonal elements of the inverse of -* L D L^T - sigma I by combining the above transforms, and choosing +* L D L**T - sigma I by combining the above transforms, and choosing * r as the index where the diagonal of the inverse is (one of the) * largest in magnitude. * (d) Computation of the (scaled) r-th column of the inverse using the @@ -43,18 +43,18 @@ * ========= * * N (input) INTEGER -* The order of the matrix L D L^T. +* The order of the matrix L D L**T. * * B1 (input) INTEGER -* First index of the submatrix of L D L^T. +* First index of the submatrix of L D L**T. * * BN (input) INTEGER -* Last index of the submatrix of L D L^T. +* Last index of the submatrix of L D L**T. * * LAMBDA (input) DOUBLE PRECISION * The shift. In order to compute an accurate eigenvector, * LAMBDA should be a good approximation to an eigenvalue -* of L D L^T. +* of L D L**T. * * L (input) DOUBLE PRECISION array, dimension (N-1) * The (n-1) subdiagonal elements of the unit bidiagonal matrix @@ -86,20 +86,20 @@ * * NEGCNT (output) INTEGER * If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin -* in the matrix factorization L D L^T, and NEGCNT = -1 otherwise. +* in the matrix factorization L D L**T, and NEGCNT = -1 otherwise. * * ZTZ (output) DOUBLE PRECISION * The square of the 2-norm of Z. * * MINGMA (output) DOUBLE PRECISION * The reciprocal of the largest (in magnitude) diagonal -* element of the inverse of L D L^T - sigma I. +* element of the inverse of L D L**T - sigma I. * * R (input/output) INTEGER * The twist index for the twisted factorization used to * compute Z. * On input, 0 <= R <= N. If R is input as 0, R is set to -* the index where (L D L^T - sigma I)^{-1} is largest +* the index where (L D L**T - sigma I)^{-1} is largest * in magnitude. If 1 <= R <= N, R is unchanged. * On output, R contains the twist index used to compute Z. * Ideally, R designates the position of the maximum entry in the diff --git a/SRC/zlarf.f b/SRC/zlarf.f index 7b05ed3c..4ff7362a 100644 --- a/SRC/zlarf.f +++ b/SRC/zlarf.f @@ -22,13 +22,13 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar and v is a complex vector. * * If tau = 0, then H is taken to be the unit matrix. * -* To apply H' (the conjugate transpose of H), supply conjg(tau) instead +* To apply H**H, supply conjg(tau) instead * tau. * * Arguments @@ -126,12 +126,12 @@ * IF( LASTV.GT.0 ) THEN * -* w(1:lastc,1) := C(1:lastv,1:lastc)' * v(1:lastv,1) +* w(1:lastc,1) := C(1:lastv,1:lastc)**H * v(1:lastv,1) * CALL ZGEMV( 'Conjugate transpose', LASTV, LASTC, ONE, $ C, LDC, V, INCV, ZERO, WORK, 1 ) * -* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)' +* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)**H * CALL ZGERC( LASTV, LASTC, -TAU, V, INCV, WORK, 1, C, LDC ) END IF @@ -146,7 +146,7 @@ CALL ZGEMV( 'No transpose', LASTC, LASTV, ONE, C, LDC, $ V, INCV, ZERO, WORK, 1 ) * -* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)' +* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)**H * CALL ZGERC( LASTC, LASTV, -TAU, WORK, 1, V, INCV, C, LDC ) END IF diff --git a/SRC/zlarfb.f b/SRC/zlarfb.f index dbed8f57..a2b93be8 100644 --- a/SRC/zlarfb.f +++ b/SRC/zlarfb.f @@ -19,19 +19,19 @@ * Purpose * ======= * -* ZLARFB applies a complex block reflector H or its transpose H' to a +* ZLARFB applies a complex block reflector H or its transpose H**H to a * complex M-by-N matrix C, from either the left or the right. * * Arguments * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**H from the Left +* = 'R': apply H or H**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'C': apply H' (Conjugate transpose) +* = 'C': apply H**H (Conjugate transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -76,7 +76,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the M-by-N matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -157,15 +157,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILAZLR( M, K, V, LDV ) ) LASTC = ILAZLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C**H * V = (C1**H * V1 + C2**H * V2) (stored in WORK) * -* W := C1' +* W := C1**H * DO 10 J = 1, K CALL ZCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) @@ -178,23 +178,23 @@ $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2 +* W := W + C2**H *V2 * CALL ZGEMM( 'Conjugate transpose', 'No transpose', $ LASTC, K, LASTV-K, ONE, C( K+1, 1 ), LDC, $ V( K+1, 1 ), LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL ZTRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**H * IF( M.GT.K ) THEN * -* C2 := C2 - V2 * W' +* C2 := C2 - V2 * W**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', $ LASTV-K, LASTC, K, @@ -202,12 +202,12 @@ $ ONE, C( K+1, 1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**H * CALL ZTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**H * DO 30 J = 1, K DO 20 I = 1, LASTC @@ -217,7 +217,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILAZLR( N, K, V, LDV ) ) LASTC = ILAZLR( M, LASTV, C, LDC ) @@ -244,16 +244,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL ZTRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - W * V' +* C := C - W * V**H * IF( LASTV.GT.K ) THEN * -* C2 := C2 - W * V2' +* C2 := C2 - W * V2**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, LASTV-K, K, @@ -261,7 +261,7 @@ $ ONE, C( 1, K+1 ), LDC ) END IF * -* W := W * V1' +* W := W * V1**H * CALL ZTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) @@ -283,15 +283,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILAZLR( M, K, V, LDV ) ) LASTC = ILAZLC( LASTV, N, C, LDC ) * -* W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) +* W := C' * V = (C1**H * V1 + C2**H * V2) (stored in WORK) * -* W := C2' +* W := C2**H * DO 70 J = 1, K CALL ZCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, @@ -306,7 +306,7 @@ $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1 +* W := W + C1**H*V1 * CALL ZGEMM( 'Conjugate transpose', 'No transpose', $ LASTC, K, LASTV-K, @@ -314,16 +314,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL ZTRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V * W' +* C := C - V * W**H * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1 * W' +* C1 := C1 - V1 * W**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', $ LASTV-K, LASTC, K, @@ -331,13 +331,13 @@ $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**H * CALL ZTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**H * DO 90 J = 1, K DO 80 I = 1, LASTC @@ -348,7 +348,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILAZLR( N, K, V, LDV ) ) LASTC = ILAZLR( M, LASTV, C, LDC ) @@ -376,23 +376,23 @@ $ ONE, C, LDC, V, LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL ZTRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - W * V' +* C := C - W * V**H * IF( LASTV.GT.K ) THEN * -* C1 := C1 - W * V1' +* C1 := C1 - W * V1**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, LASTV-K, K, -ONE, WORK, LDWORK, V, LDV, $ ONE, C, LDC ) END IF * -* W := W * V2' +* W := W * V2**H * CALL ZTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( LASTV-K+1, 1 ), LDV, @@ -418,28 +418,28 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILAZLC( K, M, V, LDV ) ) LASTC = ILAZLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**H * V**H = (C1**H * V1**H + C2**H * V2**H) (stored in WORK) * -* W := C1' +* W := C1**H * DO 130 J = 1, K CALL ZCOPY( LASTC, C( J, 1 ), LDC, WORK( 1, J ), 1 ) CALL ZLACGV( LASTC, WORK( 1, J ), 1 ) 130 CONTINUE * -* W := W * V1' +* W := W * V1**H * CALL ZTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2'*V2' +* W := W + C2**H*V2**H * CALL ZGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTC, K, LASTV-K, @@ -447,16 +447,16 @@ $ ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL ZTRMM( 'Right', 'Upper', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**H * W**H * IF( LASTV.GT.K ) THEN * -* C2 := C2 - V2' * W' +* C2 := C2 - V2**H * W**H * CALL ZGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTV-K, LASTC, K, @@ -469,7 +469,7 @@ CALL ZTRMM( 'Right', 'Upper', 'No transpose', 'Unit', $ LASTC, K, ONE, V, LDV, WORK, LDWORK ) * -* C1 := C1 - W' +* C1 := C1 - W**H * DO 150 J = 1, K DO 140 I = 1, LASTC @@ -479,12 +479,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILAZLC( K, N, V, LDV ) ) LASTC = ILAZLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**H = (C1*V1**H + C2*V2**H) (stored in WORK) * * W := C1 * @@ -492,20 +492,20 @@ CALL ZCOPY( LASTC, C( 1, J ), 1, WORK( 1, J ), 1 ) 160 CONTINUE * -* W := W * V1' +* W := W * V1**H * CALL ZTRMM( 'Right', 'Upper', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V, LDV, WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C2 * V2' +* W := W + C2 * V2**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, K, LASTV-K, ONE, C( 1, K+1 ), LDC, $ V( 1, K+1 ), LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL ZTRMM( 'Right', 'Upper', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) @@ -544,15 +544,15 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C where C = ( C1 ) -* ( C2 ) +* Form H * C or H**H * C where C = ( C1 ) +* ( C2 ) * LASTV = MAX( K, ILAZLC( K, M, V, LDV ) ) LASTC = ILAZLC( LASTV, N, C, LDC ) * -* W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) +* W := C**H * V**H = (C1**H * V1**H + C2**H * V2**H) (stored in WORK) * -* W := C2' +* W := C2**H * DO 190 J = 1, K CALL ZCOPY( LASTC, C( LASTV-K+J, 1 ), LDC, @@ -560,30 +560,30 @@ CALL ZLACGV( LASTC, WORK( 1, J ), 1 ) 190 CONTINUE * -* W := W * V2' +* W := W * V2**H * CALL ZTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1'*V1' +* W := W + C1**H * V1**H * CALL ZGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTC, K, LASTV-K, $ ONE, C, LDC, V, LDV, ONE, WORK, LDWORK ) END IF * -* W := W * T' or W * T +* W := W * T**H or W * T * CALL ZTRMM( 'Right', 'Lower', TRANST, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) * -* C := C - V' * W' +* C := C - V**H * W**H * IF( LASTV.GT.K ) THEN * -* C1 := C1 - V1' * W' +* C1 := C1 - V1**H * W**H * CALL ZGEMM( 'Conjugate transpose', $ 'Conjugate transpose', LASTV-K, LASTC, K, @@ -596,7 +596,7 @@ $ LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) * -* C2 := C2 - W' +* C2 := C2 - W**H * DO 210 J = 1, K DO 200 I = 1, LASTC @@ -607,12 +607,12 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' where C = ( C1 C2 ) +* Form C * H or C * H**H where C = ( C1 C2 ) * LASTV = MAX( K, ILAZLC( K, N, V, LDV ) ) LASTC = ILAZLR( M, LASTV, C, LDC ) * -* W := C * V' = (C1*V1' + C2*V2') (stored in WORK) +* W := C * V**H = (C1*V1**H + C2*V2**H) (stored in WORK) * * W := C2 * @@ -621,21 +621,21 @@ $ WORK( 1, J ), 1 ) 220 CONTINUE * -* W := W * V2' +* W := W * V2**H * CALL ZTRMM( 'Right', 'Lower', 'Conjugate transpose', $ 'Unit', LASTC, K, ONE, V( 1, LASTV-K+1 ), LDV, $ WORK, LDWORK ) IF( LASTV.GT.K ) THEN * -* W := W + C1 * V1' +* W := W + C1 * V1**H * CALL ZGEMM( 'No transpose', 'Conjugate transpose', $ LASTC, K, LASTV-K, ONE, C, LDC, V, LDV, ONE, $ WORK, LDWORK ) END IF * -* W := W * T or W * T' +* W := W * T or W * T**H * CALL ZTRMM( 'Right', 'Lower', TRANS, 'Non-unit', $ LASTC, K, ONE, T, LDT, WORK, LDWORK ) diff --git a/SRC/zlarfg.f b/SRC/zlarfg.f index 6d9742fe..1c338837 100644 --- a/SRC/zlarfg.f +++ b/SRC/zlarfg.f @@ -19,13 +19,13 @@ * ZLARFG generates a complex elementary reflector H of order n, such * that * -* H' * ( alpha ) = ( beta ), H' * H = I. -* ( x ) ( 0 ) +* H**H * ( alpha ) = ( beta ), H**H * H = I. +* ( x ) ( 0 ) * * where alpha and beta are scalars, with beta real, and x is an * (n-1)-element complex vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**H ) , * ( v ) * * where tau is a complex scalar and v is a complex (n-1)-element diff --git a/SRC/zlarfgp.f b/SRC/zlarfgp.f index 98c44a41..bc8af144 100644 --- a/SRC/zlarfgp.f +++ b/SRC/zlarfgp.f @@ -19,13 +19,13 @@ * ZLARFGP generates a complex elementary reflector H of order n, such * that * -* H' * ( alpha ) = ( beta ), H' * H = I. -* ( x ) ( 0 ) +* H**H * ( alpha ) = ( beta ), H**H * H = I. +* ( x ) ( 0 ) * * where alpha and beta are scalars, beta is real and non-negative, and * x is an (n-1)-element complex vector. H is represented in the form * -* H = I - tau * ( 1 ) * ( 1 v' ) , +* H = I - tau * ( 1 ) * ( 1 v**H ) , * ( v ) * * where tau is a complex scalar and v is a complex (n-1)-element diff --git a/SRC/zlarft.f b/SRC/zlarft.f index 954f8e24..a3e85c32 100644 --- a/SRC/zlarft.f +++ b/SRC/zlarft.f @@ -26,12 +26,12 @@ * If STOREV = 'C', the vector which defines the elementary reflector * H(i) is stored in the i-th column of the array V, and * -* H = I - V * T * V' +* H = I - V * T * V**H * * If STOREV = 'R', the vector which defines the elementary reflector * H(i) is stored in the i-th row of the array V, and * -* H = I - V' * T * V +* H = I - V**H * T * V * * Arguments * ========= @@ -150,7 +150,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)' * V(i:j,i) +* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)**H * V(i:j,i) * CALL ZGEMV( 'Conjugate transpose', J-I+1, I-1, $ -TAU( I ), V( I, 1 ), LDV, V( I, I ), 1, @@ -162,7 +162,7 @@ END DO J = MIN( LASTV, PREVLASTV ) * -* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)' +* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)**H * IF( I.LT.J ) $ CALL ZLACGV( J-I, V( I, I+1 ), LDV ) @@ -211,7 +211,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(j:n-k+i,i+1:k)' * V(j:n-k+i,i) +* - tau(i) * V(j:n-k+i,i+1:k)**H * V(j:n-k+i,i) * CALL ZGEMV( 'Conjugate transpose', N-K+I-J+1, K-I, $ -TAU( I ), V( J, I+1 ), LDV, V( J, I ), @@ -227,7 +227,7 @@ J = MAX( LASTV, PREVLASTV ) * * T(i+1:k,i) := -* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)' +* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)**H * CALL ZLACGV( N-K+I-1-J+1, V( I, J ), LDV ) CALL ZGEMV( 'No transpose', K-I, N-K+I-J+1, diff --git a/SRC/zlarfx.f b/SRC/zlarfx.f index 60354d96..686f0e20 100644 --- a/SRC/zlarfx.f +++ b/SRC/zlarfx.f @@ -22,7 +22,7 @@ * matrix C, from either the left or the right. H is represented in the * form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar and v is a complex vector. * diff --git a/SRC/zlarrv.f b/SRC/zlarrv.f index 854872f2..1849c76a 100644 --- a/SRC/zlarrv.f +++ b/SRC/zlarrv.f @@ -25,7 +25,7 @@ * ======= * * ZLARRV computes the eigenvectors of the tridiagonal matrix -* T = L D L^T given L, D and APPROXIMATIONS to the eigenvalues of L D L^T. +* T = L D L**T given L, D and APPROXIMATIONS to the eigenvalues of L D L**T. * The input eigenvalues should have been computed by DLARRE. * * Arguments diff --git a/SRC/zlarz.f b/SRC/zlarz.f index d235191f..f2a90d04 100644 --- a/SRC/zlarz.f +++ b/SRC/zlarz.f @@ -21,13 +21,13 @@ * M-by-N matrix C, from either the left or the right. H is represented * in the form * -* H = I - tau * v * v' +* H = I - tau * v * v**H * * where tau is a complex scalar and v is a complex vector. * * If tau = 0, then H is taken to be the unit matrix. * -* To apply H' (the conjugate transpose of H), supply conjg(tau) instead +* To apply H**H (the conjugate transpose of H), supply conjg(tau) instead * tau. * * H is a product of k elementary reflectors as returned by ZTZRZF. @@ -105,7 +105,7 @@ CALL ZCOPY( N, C, LDC, WORK, 1 ) CALL ZLACGV( N, WORK, 1 ) * -* w( 1:n ) = conjg( w( 1:n ) + C( m-l+1:m, 1:n )' * v( 1:l ) ) +* w( 1:n ) = conjg( w( 1:n ) + C( m-l+1:m, 1:n )**H * v( 1:l ) ) * CALL ZGEMV( 'Conjugate transpose', L, N, ONE, C( M-L+1, 1 ), $ LDC, V, INCV, ONE, WORK, 1 ) @@ -116,7 +116,7 @@ CALL ZAXPY( N, -TAU, WORK, 1, C, LDC ) * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* tau * v( 1:l ) * conjg( w( 1:n )' ) +* tau * v( 1:l ) * w( 1:n )**H * CALL ZGERU( L, N, -TAU, V, INCV, WORK, 1, C( M-L+1, 1 ), $ LDC ) @@ -142,7 +142,7 @@ CALL ZAXPY( M, -TAU, WORK, 1, C, 1 ) * * C( 1:m, n-l+1:n ) = C( 1:m, n-l+1:n ) - ... -* tau * w( 1:m ) * v( 1:l )' +* tau * w( 1:m ) * v( 1:l )**H * CALL ZGERC( M, L, -TAU, WORK, 1, V, INCV, C( 1, N-L+1 ), $ LDC ) diff --git a/SRC/zlarzb.f b/SRC/zlarzb.f index bb51f60c..0ee12379 100644 --- a/SRC/zlarzb.f +++ b/SRC/zlarzb.f @@ -27,12 +27,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply H or H' from the Left -* = 'R': apply H or H' from the Right +* = 'L': apply H or H**H from the Left +* = 'R': apply H or H**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply H (No transpose) -* = 'C': apply H' (Conjugate transpose) +* = 'C': apply H**H (Conjugate transpose) * * DIRECT (input) CHARACTER*1 * Indicates how H is formed from a product of elementary @@ -77,7 +77,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the M-by-N matrix C. -* On exit, C is overwritten by H*C or H'*C or C*H or C*H'. +* On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -140,28 +140,28 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* Form H * C or H' * C +* Form H * C or H**H * C * -* W( 1:n, 1:k ) = conjg( C( 1:k, 1:n )' ) +* W( 1:n, 1:k ) = C( 1:k, 1:n )**H * DO 10 J = 1, K CALL ZCOPY( N, C( J, 1 ), LDC, WORK( 1, J ), 1 ) 10 CONTINUE * * W( 1:n, 1:k ) = W( 1:n, 1:k ) + ... -* conjg( C( m-l+1:m, 1:n )' ) * V( 1:k, 1:l )' +* C( m-l+1:m, 1:n )**H * V( 1:k, 1:l )**T * IF( L.GT.0 ) $ CALL ZGEMM( 'Transpose', 'Conjugate transpose', N, K, L, $ ONE, C( M-L+1, 1 ), LDC, V, LDV, ONE, WORK, $ LDWORK ) * -* W( 1:n, 1:k ) = W( 1:n, 1:k ) * T' or W( 1:m, 1:k ) * T +* W( 1:n, 1:k ) = W( 1:n, 1:k ) * T**T or W( 1:m, 1:k ) * T * CALL ZTRMM( 'Right', 'Lower', TRANST, 'Non-unit', N, K, ONE, T, $ LDT, WORK, LDWORK ) * -* C( 1:k, 1:n ) = C( 1:k, 1:n ) - conjg( W( 1:n, 1:k )' ) +* C( 1:k, 1:n ) = C( 1:k, 1:n ) - W( 1:n, 1:k )**H * DO 30 J = 1, N DO 20 I = 1, K @@ -170,7 +170,7 @@ 30 CONTINUE * * C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... -* conjg( V( 1:k, 1:l )' ) * conjg( W( 1:n, 1:k )' ) +* V( 1:k, 1:l )**H * W( 1:n, 1:k )**H * IF( L.GT.0 ) $ CALL ZGEMM( 'Transpose', 'Transpose', L, N, K, -ONE, V, LDV, @@ -178,7 +178,7 @@ * ELSE IF( LSAME( SIDE, 'R' ) ) THEN * -* Form C * H or C * H' +* Form C * H or C * H**H * * W( 1:m, 1:k ) = C( 1:m, 1:k ) * @@ -187,14 +187,14 @@ 40 CONTINUE * * W( 1:m, 1:k ) = W( 1:m, 1:k ) + ... -* C( 1:m, n-l+1:n ) * conjg( V( 1:k, 1:l )' ) +* C( 1:m, n-l+1:n ) * V( 1:k, 1:l )**H * IF( L.GT.0 ) $ CALL ZGEMM( 'No transpose', 'Transpose', M, K, L, ONE, $ C( 1, N-L+1 ), LDC, V, LDV, ONE, WORK, LDWORK ) * * W( 1:m, 1:k ) = W( 1:m, 1:k ) * conjg( T ) or -* W( 1:m, 1:k ) * conjg( T' ) +* W( 1:m, 1:k ) * T**H * DO 50 J = 1, K CALL ZLACGV( K-J+1, T( J, J ), 1 ) diff --git a/SRC/zlarzt.f b/SRC/zlarzt.f index e283d572..2ae745ee 100644 --- a/SRC/zlarzt.f +++ b/SRC/zlarzt.f @@ -164,7 +164,7 @@ * IF( I.LT.K ) THEN * -* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)' +* T(i+1:k,i) = - tau(i) * V(i+1:k,1:n) * V(i,1:n)**H * CALL ZLACGV( N, V( I, 1 ), LDV ) CALL ZGEMV( 'No transpose', K-I, N, -TAU( I ), diff --git a/SRC/zlasyf.f b/SRC/zlasyf.f index 1e29fccb..a4a8d547 100644 --- a/SRC/zlasyf.f +++ b/SRC/zlasyf.f @@ -21,15 +21,15 @@ * A using the Bunch-Kaufman diagonal pivoting method. The partial * factorization has the form: * -* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: -* ( 0 U22 ) ( 0 D ) ( U12' U22' ) +* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: +* ( 0 U22 ) ( 0 D ) ( U12**T U22**T ) * -* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L' -* ( L21 I ) ( 0 A22 ) ( 0 I ) +* A = ( L11 0 ) ( D 0 ) ( L11**T L21**T ) if UPLO = 'L' +* ( L21 I ) ( 0 A22 ) ( 0 I ) * * where the order of D is at most NB. The actual order is returned in * the argument KB, and is either NB or NB-1, or N if N <= NB. -* Note that U' denotes the transpose of U. +* Note that U**T denotes the transpose of U. * * ZLASYF is an auxiliary routine called by ZSYTRF. It uses blocked code * (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or @@ -322,7 +322,7 @@ * * Update the upper triangle of A11 (= A(1:k,1:k)) as * -* A11 := A11 - U12*D*U12' = A11 - U12*W' +* A11 := A11 - U12*D*U12**T = A11 - U12*W**T * * computing blocks of NB columns at a time * @@ -546,7 +546,7 @@ * * Update the lower triangle of A22 (= A(k:n,k:n)) as * -* A22 := A22 - L21*D*L21' = A22 - L21*W' +* A22 := A22 - L21*D*L21**T = A22 - L21*W**T * * computing blocks of NB columns at a time * diff --git a/SRC/zlatrd.f b/SRC/zlatrd.f index 73609eb2..5203189b 100644 --- a/SRC/zlatrd.f +++ b/SRC/zlatrd.f @@ -19,7 +19,7 @@ * * ZLATRD reduces NB rows and columns of a complex Hermitian matrix A to * Hermitian tridiagonal form by a unitary similarity -* transformation Q' * A * Q, and returns the matrices V and W which are +* transformation Q**H * A * Q, and returns the matrices V and W which are * needed to apply the transformation to the unreduced part of A. * * If UPLO = 'U', ZLATRD reduces the last NB rows and columns of a @@ -96,7 +96,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i), @@ -109,7 +109,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), @@ -118,7 +118,7 @@ * The elements of the vectors v together form the n-by-nb matrix V * which is needed, with W, to apply the transformation to the unreduced * part of the matrix, using a Hermitian rank-2k update of the form: -* A := A - V*W' - W*V'. +* A := A - V*W**H - W*V**H. * * The contents of A on exit are illustrated by the following examples * with n = 5 and nb = 2: diff --git a/SRC/zlatrz.f b/SRC/zlatrz.f index 438522e2..ca50049c 100644 --- a/SRC/zlatrz.f +++ b/SRC/zlatrz.f @@ -64,7 +64,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/zlatzm.f b/SRC/zlatzm.f index 6e5d887c..caa10780 100644 --- a/SRC/zlatzm.f +++ b/SRC/zlatzm.f @@ -21,8 +21,8 @@ * * ZLATZM applies a Householder matrix generated by ZTZRQF to a matrix. * -* Let P = I - tau*u*u', u = ( 1 ), -* ( v ) +* Let P = I - tau*u*u**H, u = ( 1 ), +* ( v ) * where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if * SIDE = 'R'. * @@ -112,14 +112,14 @@ * IF( LSAME( SIDE, 'L' ) ) THEN * -* w := conjg( C1 + v' * C2 ) +* w := ( C1 + v**H * C2 )**H * CALL ZCOPY( N, C1, LDC, WORK, 1 ) CALL ZLACGV( N, WORK, 1 ) CALL ZGEMV( 'Conjugate transpose', M-1, N, ONE, C2, LDC, V, $ INCV, ONE, WORK, 1 ) * -* [ C1 ] := [ C1 ] - tau* [ 1 ] * w' +* [ C1 ] := [ C1 ] - tau* [ 1 ] * w**H * [ C2 ] [ C2 ] [ v ] * CALL ZLACGV( N, WORK, 1 ) @@ -134,7 +134,7 @@ CALL ZGEMV( 'No transpose', M, N-1, ONE, C2, LDC, V, INCV, ONE, $ WORK, 1 ) * -* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v'] +* [ C1, C2 ] := [ C1, C2 ] - tau* w * [ 1 , v**H] * CALL ZAXPY( M, -TAU, WORK, 1, C1, 1 ) CALL ZGERC( M, N-1, -TAU, WORK, 1, V, INCV, C2, LDC ) diff --git a/SRC/zlauu2.f b/SRC/zlauu2.f index 84010fad..b8fd4d65 100644 --- a/SRC/zlauu2.f +++ b/SRC/zlauu2.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* ZLAUU2 computes the product U * U' or L' * L, where the triangular +* ZLAUU2 computes the product U * U**H or L**H * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) COMPLEX*16 array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**H; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**H * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -100,7 +100,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**H. * DO 10 I = 1, N AII = A( I, I ) @@ -119,7 +119,7 @@ * ELSE * -* Compute the product L' * L. +* Compute the product L**H * L. * DO 20 I = 1, N AII = A( I, I ) diff --git a/SRC/zlauum.f b/SRC/zlauum.f index e2aade0e..b257d02f 100644 --- a/SRC/zlauum.f +++ b/SRC/zlauum.f @@ -16,7 +16,7 @@ * Purpose * ======= * -* ZLAUUM computes the product U * U' or L' * L, where the triangular +* ZLAUUM computes the product U * U**H or L**H * L, where the triangular * factor U or L is stored in the upper or lower triangular part of * the array A. * @@ -42,9 +42,9 @@ * A (input/output) COMPLEX*16 array, dimension (LDA,N) * On entry, the triangular factor U or L. * On exit, if UPLO = 'U', the upper triangle of A is -* overwritten with the upper triangle of the product U * U'; +* overwritten with the upper triangle of the product U * U**H; * if UPLO = 'L', the lower triangle of A is overwritten with -* the lower triangle of the product L' * L. +* the lower triangle of the product L**H * L. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -114,7 +114,7 @@ * IF( UPPER ) THEN * -* Compute the product U * U'. +* Compute the product U * U**H. * DO 10 I = 1, N, NB IB = MIN( NB, N-I+1 ) @@ -134,7 +134,7 @@ 10 CONTINUE ELSE * -* Compute the product L' * L. +* Compute the product L**H * L. * DO 20 I = 1, N, NB IB = MIN( NB, N-I+1 ) diff --git a/SRC/zpbcon.f b/SRC/zpbcon.f index b283fbfe..880d08f4 100644 --- a/SRC/zpbcon.f +++ b/SRC/zpbcon.f @@ -147,7 +147,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL ZLATBS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, KD, AB, LDAB, WORK, SCALEL, RWORK, @@ -166,7 +166,7 @@ $ KD, AB, LDAB, WORK, SCALEL, RWORK, INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL ZLATBS( 'Lower', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, KD, AB, LDAB, WORK, SCALEU, RWORK, diff --git a/SRC/zpbsv.f b/SRC/zpbsv.f index dd4ea901..2b9fe269 100644 --- a/SRC/zpbsv.f +++ b/SRC/zpbsv.f @@ -58,7 +58,7 @@ * See below for further details. * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U**H*U or A = L*L**H of the band +* Cholesky factorization A = U**H *U or A = L*L**H of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER @@ -135,7 +135,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * CALL ZPBTRF( UPLO, N, KD, AB, LDAB, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zpbsvx.f b/SRC/zpbsvx.f index 8861fb8c..8631a8fc 100644 --- a/SRC/zpbsvx.f +++ b/SRC/zpbsvx.f @@ -118,17 +118,17 @@ * AFB (input or output) COMPLEX*16 array, dimension (LDAFB,N) * If FACT = 'F', then AFB is an input argument and on entry * contains the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the band matrix +* factorization A = U**H *U or A = L*L**H of the band matrix * A, in the same storage format as A (see AB). If EQUED = 'Y', * then AFB is the factored form of the equilibrated matrix A. * * If FACT = 'N', then AFB is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H. +* factorization A = U**H *U or A = L*L**H. * * If FACT = 'E', then AFB is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the equilibrated +* factorization A = U**H *U or A = L*L**H of the equilibrated * matrix A (see the description of A for the form of the * equilibrated matrix). * @@ -351,7 +351,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * IF( UPPER ) THEN DO 40 J = 1, N diff --git a/SRC/zpbtf2.f b/SRC/zpbtf2.f index b06eac27..93486f98 100644 --- a/SRC/zpbtf2.f +++ b/SRC/zpbtf2.f @@ -20,9 +20,9 @@ * positive definite band matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', -* where U is an upper triangular matrix, U' is the conjugate transpose +* A = U**H * U , if UPLO = 'U', or +* A = L * L**H, if UPLO = 'L', +* where U is an upper triangular matrix, U**H is the conjugate transpose * of U, and L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -52,7 +52,7 @@ * if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). * * On exit, if INFO = 0, the triangular factor U or L from the -* Cholesky factorization A = U'*U or A = L*L' of the band +* Cholesky factorization A = U**H *U or A = L*L**H of the band * matrix A, in the same storage format as A. * * LDAB (input) INTEGER @@ -137,7 +137,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H * U. * DO 10 J = 1, N * @@ -165,7 +165,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**H. * DO 20 J = 1, N * diff --git a/SRC/zpbtrs.f b/SRC/zpbtrs.f index 03f452b0..a732ce30 100644 --- a/SRC/zpbtrs.f +++ b/SRC/zpbtrs.f @@ -18,7 +18,7 @@ * * ZPBTRS solves a system of linear equations A*X = B with a Hermitian * positive definite band matrix A using the Cholesky factorization -* A = U**H*U or A = L*L**H computed by ZPBTRF. +* A = U**H *U or A = L*L**H computed by ZPBTRF. * * Arguments * ========= @@ -40,7 +40,7 @@ * * AB (input) COMPLEX*16 array, dimension (LDAB,N) * The triangular factor U or L from the Cholesky factorization -* A = U**H*U or A = L*L**H of the band matrix A, stored in the +* A = U**H *U or A = L*L**H of the band matrix A, stored in the * first KD+1 rows of the array. The j-th column of U or L is * stored in the j-th column of the array AB as follows: * if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j; @@ -107,11 +107,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**H *U. * DO 10 J = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**H *X = B, overwriting B with X. * CALL ZTBSV( 'Upper', 'Conjugate transpose', 'Non-unit', N, $ KD, AB, LDAB, B( 1, J ), 1 ) @@ -123,7 +123,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**H. * DO 20 J = 1, NRHS * @@ -132,7 +132,7 @@ CALL ZTBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB, $ LDAB, B( 1, J ), 1 ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**H *X = B, overwriting B with X. * CALL ZTBSV( 'Lower', 'Conjugate transpose', 'Non-unit', N, $ KD, AB, LDAB, B( 1, J ), 1 ) diff --git a/SRC/zpocon.f b/SRC/zpocon.f index 56dff353..3d5cbeef 100644 --- a/SRC/zpocon.f +++ b/SRC/zpocon.f @@ -136,7 +136,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL ZLATRS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, A, LDA, WORK, SCALEL, RWORK, INFO ) @@ -154,7 +154,7 @@ $ A, LDA, WORK, SCALEL, RWORK, INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL ZLATRS( 'Lower', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, A, LDA, WORK, SCALEU, RWORK, INFO ) diff --git a/SRC/zposv.f b/SRC/zposv.f index 14a51549..f56d1d5b 100644 --- a/SRC/zposv.f +++ b/SRC/zposv.f @@ -53,7 +53,7 @@ * triangular part of A is not referenced. * * On exit, if INFO = 0, the factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H. +* factorization A = U**H *U or A = L*L**H. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -105,7 +105,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * CALL ZPOTRF( UPLO, N, A, LDA, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zposvx.f b/SRC/zposvx.f index 137b4fee..3dc5b789 100644 --- a/SRC/zposvx.f +++ b/SRC/zposvx.f @@ -116,18 +116,18 @@ * AF (input or output) COMPLEX*16 array, dimension (LDAF,N) * If FACT = 'F', then AF is an input argument and on entry * contains the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H, in the same storage +* factorization A = U**H *U or A = L*L**H, in the same storage * format as A. If EQUED .ne. 'N', then AF is the factored form * of the equilibrated matrix diag(S)*A*diag(S). * * If FACT = 'N', then AF is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the original +* factorization A = U**H *U or A = L*L**H of the original * matrix A. * * If FACT = 'E', then AF is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the equilibrated +* factorization A = U**H *U or A = L*L**H of the equilibrated * matrix A (see the description of A for the form of the * equilibrated matrix). * @@ -319,7 +319,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * CALL ZLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL ZPOTRF( UPLO, N, AF, LDAF, INFO ) diff --git a/SRC/zpotf2.f b/SRC/zpotf2.f index 549601c8..228d530a 100644 --- a/SRC/zpotf2.f +++ b/SRC/zpotf2.f @@ -20,8 +20,8 @@ * positive definite matrix A. * * The factorization has the form -* A = U' * U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', +* A = U**H * U , if UPLO = 'U', or +* A = L * L**H, if UPLO = 'L', * where U is an upper triangular matrix and L is lower triangular. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -48,7 +48,7 @@ * triangular part of A is not referenced. * * On exit, if INFO = 0, the factor U or L from the Cholesky -* factorization A = U'*U or A = L*L'. +* factorization A = U**H *U or A = L*L**H. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -109,7 +109,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H *U. * DO 10 J = 1, N * @@ -136,7 +136,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**H. * DO 20 J = 1, N * diff --git a/SRC/zpotrf.f b/SRC/zpotrf.f index 5749bb03..73fec59c 100644 --- a/SRC/zpotrf.f +++ b/SRC/zpotrf.f @@ -46,7 +46,7 @@ * triangular part of A is not referenced. * * On exit, if INFO = 0, the factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H. +* factorization A = U**H *U or A = L*L**H. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -117,7 +117,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H *U. * DO 10 J = 1, N, NB * @@ -146,7 +146,7 @@ * ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L*L**H. * DO 20 J = 1, N, NB * diff --git a/SRC/zpotri.f b/SRC/zpotri.f index 068d746b..3ebd5f52 100644 --- a/SRC/zpotri.f +++ b/SRC/zpotri.f @@ -86,7 +86,7 @@ IF( INFO.GT.0 ) $ RETURN * -* Form inv(U)*inv(U)' or inv(L)'*inv(L). +* Form inv(U) * inv(U)**H or inv(L)**H * inv(L). * CALL ZLAUUM( UPLO, N, A, LDA, INFO ) * diff --git a/SRC/zpotrs.f b/SRC/zpotrs.f index 3ae63678..1e677855 100644 --- a/SRC/zpotrs.f +++ b/SRC/zpotrs.f @@ -18,7 +18,7 @@ * * ZPOTRS solves a system of linear equations A*X = B with a Hermitian * positive definite matrix A using the Cholesky factorization -* A = U**H*U or A = L*L**H computed by ZPOTRF. +* A = U**H * U or A = L * L**H computed by ZPOTRF. * * Arguments * ========= @@ -36,7 +36,7 @@ * * A (input) COMPLEX*16 array, dimension (LDA,N) * The triangular factor U or L from the Cholesky factorization -* A = U**H*U or A = L*L**H, as computed by ZPOTRF. +* A = U**H * U or A = L * L**H, as computed by ZPOTRF. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,N). @@ -100,9 +100,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**H *U. * -* Solve U'*X = B, overwriting B with X. +* Solve U**H *X = B, overwriting B with X. * CALL ZTRSM( 'Left', 'Upper', 'Conjugate transpose', 'Non-unit', $ N, NRHS, ONE, A, LDA, B, LDB ) @@ -113,14 +113,14 @@ $ NRHS, ONE, A, LDA, B, LDB ) ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L*L**H. * * Solve L*X = B, overwriting B with X. * CALL ZTRSM( 'Left', 'Lower', 'No transpose', 'Non-unit', N, $ NRHS, ONE, A, LDA, B, LDB ) * -* Solve L'*X = B, overwriting B with X. +* Solve L**H *X = B, overwriting B with X. * CALL ZTRSM( 'Left', 'Lower', 'Conjugate transpose', 'Non-unit', $ N, NRHS, ONE, A, LDA, B, LDB ) diff --git a/SRC/zppcon.f b/SRC/zppcon.f index 37136c2c..ab18a79a 100644 --- a/SRC/zppcon.f +++ b/SRC/zppcon.f @@ -135,7 +135,7 @@ IF( KASE.NE.0 ) THEN IF( UPPER ) THEN * -* Multiply by inv(U'). +* Multiply by inv(U**H). * CALL ZLATPS( 'Upper', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, AP, WORK, SCALEL, RWORK, INFO ) @@ -153,7 +153,7 @@ $ AP, WORK, SCALEL, RWORK, INFO ) NORMIN = 'Y' * -* Multiply by inv(L'). +* Multiply by inv(L**H). * CALL ZLATPS( 'Lower', 'Conjugate transpose', 'Non-unit', $ NORMIN, N, AP, WORK, SCALEU, RWORK, INFO ) diff --git a/SRC/zppsv.f b/SRC/zppsv.f index d4d3dfb7..27ccc9d0 100644 --- a/SRC/zppsv.f +++ b/SRC/zppsv.f @@ -22,7 +22,7 @@ * packed format and X and B are N-by-NRHS matrices. * * The Cholesky decomposition is used to factor A as -* A = U**H* U, if UPLO = 'U', or +* A = U**H * U, if UPLO = 'U', or * A = L * L**H, if UPLO = 'L', * where U is an upper triangular matrix and L is a lower triangular * matrix. The factored form of A is then used to solve the system of @@ -117,7 +117,7 @@ RETURN END IF * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H *U or A = L*L**H. * CALL ZPPTRF( UPLO, N, AP, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zppsvx.f b/SRC/zppsvx.f index 7e06c26f..c2cd22f4 100644 --- a/SRC/zppsvx.f +++ b/SRC/zppsvx.f @@ -20,7 +20,7 @@ * Purpose * ======= * -* ZPPSVX uses the Cholesky factorization A = U**H*U or A = L*L**H to +* ZPPSVX uses the Cholesky factorization A = U**H * U or A = L * L**H to * compute the solution to a complex system of linear equations * A * X = B, * where A is an N-by-N Hermitian positive definite matrix stored in @@ -43,8 +43,8 @@ * * 2. If FACT = 'N' or 'E', the Cholesky decomposition is used to * factor the matrix A (after equilibration if FACT = 'E') as -* A = U'* U , if UPLO = 'U', or -* A = L * L', if UPLO = 'L', +* A = U**H * U , if UPLO = 'U', or +* A = L * L**H, if UPLO = 'L', * where U is an upper triangular matrix, L is a lower triangular * matrix, and ' indicates conjugate transpose. * @@ -117,12 +117,12 @@ * * If FACT = 'N', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the original +* factorization A = U**H * U or A = L * L**H of the original * matrix A. * * If FACT = 'E', then AFP is an output argument and on exit * returns the triangular factor U or L from the Cholesky -* factorization A = U**H*U or A = L*L**H of the equilibrated +* factorization A = U**H * U or A = L * L**H of the equilibrated * matrix A (see the description of AP for the form of the * equilibrated matrix). * @@ -324,7 +324,7 @@ * IF( NOFACT .OR. EQUIL ) THEN * -* Compute the Cholesky factorization A = U'*U or A = L*L'. +* Compute the Cholesky factorization A = U**H * U or A = L * L**H. * CALL ZCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL ZPPTRF( UPLO, N, AFP, INFO ) diff --git a/SRC/zpptrf.f b/SRC/zpptrf.f index a1631ceb..89a9590f 100644 --- a/SRC/zpptrf.f +++ b/SRC/zpptrf.f @@ -115,7 +115,7 @@ * IF( UPPER ) THEN * -* Compute the Cholesky factorization A = U'*U. +* Compute the Cholesky factorization A = U**H * U. * JJ = 0 DO 10 J = 1, N @@ -140,7 +140,7 @@ 10 CONTINUE ELSE * -* Compute the Cholesky factorization A = L*L'. +* Compute the Cholesky factorization A = L * L**H. * JJ = 1 DO 20 J = 1, N diff --git a/SRC/zpptri.f b/SRC/zpptri.f index bc0d68d1..58959bb2 100644 --- a/SRC/zpptri.f +++ b/SRC/zpptri.f @@ -97,7 +97,7 @@ $ RETURN IF( UPPER ) THEN * -* Compute the product inv(U) * inv(U)'. +* Compute the product inv(U) * inv(U)**H. * JJ = 0 DO 10 J = 1, N @@ -111,7 +111,7 @@ * ELSE * -* Compute the product inv(L)' * inv(L). +* Compute the product inv(L)**H * inv(L). * JJ = 1 DO 20 J = 1, N diff --git a/SRC/zpptrs.f b/SRC/zpptrs.f index ef322f07..93a821e2 100644 --- a/SRC/zpptrs.f +++ b/SRC/zpptrs.f @@ -18,7 +18,7 @@ * * ZPPTRS solves a system of linear equations A*X = B with a Hermitian * positive definite matrix A in packed storage using the Cholesky -* factorization A = U**H*U or A = L*L**H computed by ZPPTRF. +* factorization A = U**H * U or A = L * L**H computed by ZPPTRF. * * Arguments * ========= @@ -36,7 +36,7 @@ * * AP (input) COMPLEX*16 array, dimension (N*(N+1)/2) * The triangular factor U or L from the Cholesky factorization -* A = U**H*U or A = L*L**H, packed columnwise in a linear +* A = U**H * U or A = L * L**H, packed columnwise in a linear * array. The j-th column of U or L is stored in the array AP * as follows: * if UPLO = 'U', AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j; @@ -96,11 +96,11 @@ * IF( UPPER ) THEN * -* Solve A*X = B where A = U'*U. +* Solve A*X = B where A = U**H * U. * DO 10 I = 1, NRHS * -* Solve U'*X = B, overwriting B with X. +* Solve U**H *X = B, overwriting B with X. * CALL ZTPSV( 'Upper', 'Conjugate transpose', 'Non-unit', N, $ AP, B( 1, I ), 1 ) @@ -112,7 +112,7 @@ 10 CONTINUE ELSE * -* Solve A*X = B where A = L*L'. +* Solve A*X = B where A = L * L**H. * DO 20 I = 1, NRHS * @@ -121,7 +121,7 @@ CALL ZTPSV( 'Lower', 'No transpose', 'Non-unit', N, AP, $ B( 1, I ), 1 ) * -* Solve L'*X = Y, overwriting B with X. +* Solve L**H *X = Y, overwriting B with X. * CALL ZTPSV( 'Lower', 'Conjugate transpose', 'Non-unit', N, $ AP, B( 1, I ), 1 ) diff --git a/SRC/zptcon.f b/SRC/zptcon.f index 43541b51..4c7992b0 100644 --- a/SRC/zptcon.f +++ b/SRC/zptcon.f @@ -118,7 +118,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**H. * * Solve M(L) * x = e. * @@ -127,7 +127,7 @@ RWORK( I ) = ONE + RWORK( I-1 )*ABS( E( I-1 ) ) 20 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**H * x = b. * RWORK( N ) = RWORK( N ) / D( N ) DO 30 I = N - 1, 1, -1 diff --git a/SRC/zptrfs.f b/SRC/zptrfs.f index ba6dde63..90577ca9 100644 --- a/SRC/zptrfs.f +++ b/SRC/zptrfs.f @@ -327,7 +327,7 @@ * m(i,j) = abs(A(i,j)), i = j, * m(i,j) = -abs(A(i,j)), i .ne. j, * -* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)'. +* and e = [ 1, 1, ..., 1 ]'. Note M(A) = M(L)*D*M(L)**H. * * Solve M(L) * x = e. * @@ -336,7 +336,7 @@ RWORK( I ) = ONE + RWORK( I-1 )*ABS( EF( I-1 ) ) 70 CONTINUE * -* Solve D * M(L)' * x = b. +* Solve D * M(L)**H * x = b. * RWORK( N ) = RWORK( N ) / DF( N ) DO 80 I = N - 1, 1, -1 diff --git a/SRC/zptsv.f b/SRC/zptsv.f index 8aee5cbe..246f7c76 100644 --- a/SRC/zptsv.f +++ b/SRC/zptsv.f @@ -45,7 +45,7 @@ * A. E can also be regarded as the superdiagonal of the unit * bidiagonal factor U from the U**H*D*U factorization of A. * -* B (input/output) COMPLEX*16 array, dimension (LDB,N) +* B (input/output) COMPLEX*16 array, dimension (LDB,NRHS) * On entry, the N-by-NRHS right hand side matrix B. * On exit, if INFO = 0, the N-by-NRHS solution matrix X. * @@ -85,7 +85,7 @@ RETURN END IF * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**H (or U**H*D*U) factorization of A. * CALL ZPTTRF( N, D, E, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zptsvx.f b/SRC/zptsvx.f index 7f782cbc..d933c443 100644 --- a/SRC/zptsvx.f +++ b/SRC/zptsvx.f @@ -191,7 +191,7 @@ * IF( NOFACT ) THEN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**H (or U**H*D*U) factorization of A. * CALL DCOPY( N, D, 1, DF, 1 ) IF( N.GT.1 ) diff --git a/SRC/zpttrf.f b/SRC/zpttrf.f index 20879ce5..fca677dc 100644 --- a/SRC/zpttrf.f +++ b/SRC/zpttrf.f @@ -16,9 +16,9 @@ * Purpose * ======= * -* ZPTTRF computes the L*D*L' factorization of a complex Hermitian +* ZPTTRF computes the L*D*L**H factorization of a complex Hermitian * positive definite tridiagonal matrix A. The factorization may also -* be regarded as having the form A = U'*D*U. +* be regarded as having the form A = U**H *D*U. * * Arguments * ========= @@ -29,14 +29,14 @@ * D (input/output) DOUBLE PRECISION array, dimension (N) * On entry, the n diagonal elements of the tridiagonal matrix * A. On exit, the n diagonal elements of the diagonal matrix -* D from the L*D*L' factorization of A. +* D from the L*D*L**H factorization of A. * * E (input/output) COMPLEX*16 array, dimension (N-1) * On entry, the (n-1) subdiagonal elements of the tridiagonal * matrix A. On exit, the (n-1) subdiagonal elements of the -* unit bidiagonal factor L from the L*D*L' factorization of A. +* unit bidiagonal factor L from the L*D*L**H factorization of A. * E can also be regarded as the superdiagonal of the unit -* bidiagonal factor U from the U'*D*U factorization of A. +* bidiagonal factor U from the U**H *D*U factorization of A. * * INFO (output) INTEGER * = 0: successful exit @@ -78,7 +78,7 @@ IF( N.EQ.0 ) $ RETURN * -* Compute the L*D*L' (or U'*D*U) factorization of A. +* Compute the L*D*L**H (or U**H *D*U) factorization of A. * I4 = MOD( N-1, 4 ) DO 10 I = 1, I4 diff --git a/SRC/zpttrs.f b/SRC/zpttrs.f index 988aa43a..667e543b 100644 --- a/SRC/zpttrs.f +++ b/SRC/zpttrs.f @@ -19,7 +19,7 @@ * * ZPTTRS solves a tridiagonal system of the form * A * X = B -* using the factorization A = U'*D*U or A = L*D*L' computed by ZPTTRF. +* using the factorization A = U**H *D* U or A = L*D*L**H computed by ZPTTRF. * D is a diagonal matrix specified in the vector D, U (or L) is a unit * bidiagonal matrix whose superdiagonal (subdiagonal) is specified in * the vector E, and X and B are N by NRHS matrices. @@ -31,8 +31,8 @@ * Specifies the form of the factorization and whether the * vector E is the superdiagonal of the upper bidiagonal factor * U or the subdiagonal of the lower bidiagonal factor L. -* = 'U': A = U'*D*U, E is the superdiagonal of U -* = 'L': A = L*D*L', E is the subdiagonal of L +* = 'U': A = U**H *D*U, E is the superdiagonal of U +* = 'L': A = L*D*L**H, E is the subdiagonal of L * * N (input) INTEGER * The order of the tridiagonal matrix A. N >= 0. @@ -43,13 +43,13 @@ * * D (input) DOUBLE PRECISION array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* factorization A = U'*D*U or A = L*D*L'. +* factorization A = U**H *D*U or A = L*D*L**H. * * E (input) COMPLEX*16 array, dimension (N-1) * If UPLO = 'U', the (n-1) superdiagonal elements of the unit -* bidiagonal factor U from the factorization A = U'*D*U. +* bidiagonal factor U from the factorization A = U**H*D*U. * If UPLO = 'L', the (n-1) subdiagonal elements of the unit -* bidiagonal factor L from the factorization A = L*D*L'. +* bidiagonal factor L from the factorization A = L*D*L**H. * * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of diff --git a/SRC/zptts2.f b/SRC/zptts2.f index 39b86590..d8701b69 100644 --- a/SRC/zptts2.f +++ b/SRC/zptts2.f @@ -18,7 +18,7 @@ * * ZPTTS2 solves a tridiagonal system of the form * A * X = B -* using the factorization A = U'*D*U or A = L*D*L' computed by ZPTTRF. +* using the factorization A = U**H *D*U or A = L*D*L**H computed by ZPTTRF. * D is a diagonal matrix specified in the vector D, U (or L) is a unit * bidiagonal matrix whose superdiagonal (subdiagonal) is specified in * the vector E, and X and B are N by NRHS matrices. @@ -30,8 +30,8 @@ * Specifies the form of the factorization and whether the * vector E is the superdiagonal of the upper bidiagonal factor * U or the subdiagonal of the lower bidiagonal factor L. -* = 1: A = U'*D*U, E is the superdiagonal of U -* = 0: A = L*D*L', E is the subdiagonal of L +* = 1: A = U**H *D*U, E is the superdiagonal of U +* = 0: A = L*D*L**H, E is the subdiagonal of L * * N (input) INTEGER * The order of the tridiagonal matrix A. N >= 0. @@ -42,13 +42,13 @@ * * D (input) DOUBLE PRECISION array, dimension (N) * The n diagonal elements of the diagonal matrix D from the -* factorization A = U'*D*U or A = L*D*L'. +* factorization A = U**H *D*U or A = L*D*L**H. * * E (input) COMPLEX*16 array, dimension (N-1) * If IUPLO = 1, the (n-1) superdiagonal elements of the unit -* bidiagonal factor U from the factorization A = U'*D*U. +* bidiagonal factor U from the factorization A = U**H*D*U. * If IUPLO = 0, the (n-1) subdiagonal elements of the unit -* bidiagonal factor L from the factorization A = L*D*L'. +* bidiagonal factor L from the factorization A = L*D*L**H. * * B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) * On entry, the right hand side vectors B for the system of @@ -81,14 +81,14 @@ * IF( IUPLO.EQ.1 ) THEN * -* Solve A * X = B using the factorization A = U'*D*U, +* Solve A * X = B using the factorization A = U**H *D*U, * overwriting each right hand side vector with its solution. * IF( NRHS.LE.2 ) THEN J = 1 10 CONTINUE * -* Solve U' * x = b. +* Solve U**H * x = b. * DO 20 I = 2, N B( I, J ) = B( I, J ) - B( I-1, J )*DCONJG( E( I-1 ) ) @@ -109,7 +109,7 @@ ELSE DO 70 J = 1, NRHS * -* Solve U' * x = b. +* Solve U**H * x = b. * DO 50 I = 2, N B( I, J ) = B( I, J ) - B( I-1, J )*DCONJG( E( I-1 ) ) @@ -125,7 +125,7 @@ END IF ELSE * -* Solve A * X = B using the factorization A = L*D*L', +* Solve A * X = B using the factorization A = L*D*L**H, * overwriting each right hand side vector with its solution. * IF( NRHS.LE.2 ) THEN @@ -138,7 +138,7 @@ B( I, J ) = B( I, J ) - B( I-1, J )*E( I-1 ) 90 CONTINUE * -* Solve D * L' * x = b. +* Solve D * L**H * x = b. * DO 100 I = 1, N B( I, J ) = B( I, J ) / D( I ) @@ -159,7 +159,7 @@ B( I, J ) = B( I, J ) - B( I-1, J )*E( I-1 ) 120 CONTINUE * -* Solve D * L' * x = b. +* Solve D * L**H * x = b. * B( N, J ) = B( N, J ) / D( N ) DO 130 I = N - 1, 1, -1 diff --git a/SRC/zspcon.f b/SRC/zspcon.f index 437f0b6b..b065a766 100644 --- a/SRC/zspcon.f +++ b/SRC/zspcon.f @@ -142,7 +142,7 @@ CALL ZLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL ZSPTRS( UPLO, N, 1, AP, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/zspsv.f b/SRC/zspsv.f index fcbdc72d..60474253 100644 --- a/SRC/zspsv.f +++ b/SRC/zspsv.f @@ -132,7 +132,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL ZSPTRF( UPLO, N, AP, IPIV, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zspsvx.f b/SRC/zspsvx.f index 4289a488..6505d51f 100644 --- a/SRC/zspsvx.f +++ b/SRC/zspsvx.f @@ -234,7 +234,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL ZCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) CALL ZSPTRF( UPLO, N, AFP, IPIV, INFO ) diff --git a/SRC/zsptrf.f b/SRC/zsptrf.f index 408de266..752b16b0 100644 --- a/SRC/zsptrf.f +++ b/SRC/zsptrf.f @@ -72,7 +72,7 @@ * 5-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -89,7 +89,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -162,7 +162,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -283,7 +283,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = CONE / AP( KC+K-1 ) CALL ZSPR( UPLO, K-1, -R1, AP( KC ), 1, AP ) @@ -302,8 +302,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -348,7 +348,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -476,7 +476,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * R1 = CONE / AP( KC ) CALL ZSPR( UPLO, N-K, -R1, AP( KC+1 ), 1, @@ -499,8 +499,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**T +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**T * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/zsptri.f b/SRC/zsptri.f index c7f24854..5491f997 100644 --- a/SRC/zsptri.f +++ b/SRC/zsptri.f @@ -128,7 +128,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -229,7 +229,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/zsptrs.f b/SRC/zsptrs.f index 546f5c02..2fc812bf 100644 --- a/SRC/zsptrs.f +++ b/SRC/zsptrs.f @@ -103,7 +103,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -177,7 +177,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T*X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL ZGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -212,7 +212,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL ZGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, AP( KC ), @@ -234,7 +234,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -311,7 +311,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T*X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -330,7 +330,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -347,7 +347,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/zsycon.f b/SRC/zsycon.f index 4749e2b7..adf2a05f 100644 --- a/SRC/zsycon.f +++ b/SRC/zsycon.f @@ -146,7 +146,7 @@ CALL ZLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE ) IF( KASE.NE.0 ) THEN * -* Multiply by inv(L*D*L') or inv(U*D*U'). +* Multiply by inv(L*D*L**T) or inv(U*D*U**T). * CALL ZSYTRS( UPLO, N, 1, A, LDA, IPIV, WORK, N, INFO ) GO TO 30 diff --git a/SRC/zsysv.f b/SRC/zsysv.f index d5e81c8d..7794f607 100644 --- a/SRC/zsysv.f +++ b/SRC/zsysv.f @@ -158,7 +158,7 @@ RETURN END IF * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL ZSYTRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) IF( INFO.EQ.0 ) THEN diff --git a/SRC/zsysvx.f b/SRC/zsysvx.f index 859dbd60..0a97d32b 100644 --- a/SRC/zsysvx.f +++ b/SRC/zsysvx.f @@ -255,7 +255,7 @@ * IF( NOFACT ) THEN * -* Compute the factorization A = U*D*U' or A = L*D*L'. +* Compute the factorization A = U*D*U**T or A = L*D*L**T. * CALL ZLACPY( UPLO, N, N, A, LDA, AF, LDAF ) CALL ZSYTRF( UPLO, N, AF, LDAF, IPIV, WORK, LWORK, INFO ) diff --git a/SRC/zsytf2.f b/SRC/zsytf2.f index 9d9e4d7e..abecad11 100644 --- a/SRC/zsytf2.f +++ b/SRC/zsytf2.f @@ -20,10 +20,10 @@ * ZSYTF2 computes the factorization of a complex symmetric matrix A * using the Bunch-Kaufman diagonal pivoting method: * -* A = U*D*U' or A = L*D*L' +* A = U*D*U**T or A = L*D*L**T * * where U (or L) is a product of permutation and unit upper (lower) -* triangular matrices, U' is the transpose of U, and D is symmetric and +* triangular matrices, U**T is the transpose of U, and D is symmetric and * block diagonal with 1-by-1 and 2-by-2 diagonal blocks. * * This is the unblocked version of the algorithm, calling Level 2 BLAS. @@ -87,7 +87,7 @@ * 1-96 - Based on modifications by J. Lewis, Boeing Computer Services * Company * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -104,7 +104,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -178,7 +178,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2 @@ -209,7 +209,7 @@ * IF( MAX( ABSAKK, COLMAX ).EQ.ZERO .OR. DISNAN(ABSAKK) ) THEN * -* Column K is zero or contains a NaN: set INFO and continue +* Column K is zero or NaN: set INFO and continue * IF( INFO.EQ.0 ) $ INFO = K @@ -284,7 +284,7 @@ * * Perform a rank-1 update of A(1:k-1,1:k-1) as * -* A := A - U(k)*D(k)*U(k)' = A - W(k)*1/D(k)*W(k)' +* A := A - U(k)*D(k)*U(k)**T = A - W(k)*1/D(k)*W(k)**T * R1 = CONE / A( K, K ) CALL ZSYR( UPLO, K-1, -R1, A( 1, K ), 1, A, LDA ) @@ -303,8 +303,8 @@ * * Perform a rank-2 update of A(1:k-2,1:k-2) as * -* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )' -* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )' +* A := A - ( U(k-1) U(k) )*D(k)*( U(k-1) U(k) )**T +* = A - ( W(k-1) W(k) )*inv(D(k))*( W(k-1) W(k) )**T * IF( K.GT.2 ) THEN * @@ -346,7 +346,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2 @@ -377,7 +377,7 @@ * IF( MAX( ABSAKK, COLMAX ).EQ.ZERO .OR. DISNAN(ABSAKK) ) THEN * -* Column K is zero or contains a NaN: set INFO and continue +* Column K is zero or NaN: set INFO and continue * IF( INFO.EQ.0 ) $ INFO = K @@ -455,7 +455,7 @@ * * Perform a rank-1 update of A(k+1:n,k+1:n) as * -* A := A - L(k)*D(k)*L(k)' = A - W(k)*(1/D(k))*W(k)' +* A := A - L(k)*D(k)*L(k)**T = A - W(k)*(1/D(k))*W(k)**T * R1 = CONE / A( K, K ) CALL ZSYR( UPLO, N-K, -R1, A( K+1, K ), 1, @@ -473,8 +473,8 @@ * * Perform a rank-2 update of A(k+2:n,k+2:n) as * -* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )' -* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )' +* A := A - ( L(k) L(k+1) )*D(k)*( L(k) L(k+1) )**T +* = A - ( W(k) W(k+1) )*inv(D(k))*( W(k) W(k+1) )**T * * where L(k) and L(k+1) are the k-th and (k+1)-th * columns of L diff --git a/SRC/zsytrf.f b/SRC/zsytrf.f index b6087999..6687826a 100644 --- a/SRC/zsytrf.f +++ b/SRC/zsytrf.f @@ -87,7 +87,7 @@ * Further Details * =============== * -* If UPLO = 'U', then A = U*D*U', where +* If UPLO = 'U', then A = U*D*U**T, where * U = P(n)*U(n)* ... *P(k)U(k)* ..., * i.e., U is a product of terms P(k)*U(k), where k decreases from n to * 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -104,7 +104,7 @@ * If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), * and A(k,k), and v overwrites A(1:k-2,k-1:k). * -* If UPLO = 'L', then A = L*D*L', where +* If UPLO = 'L', then A = L*D*L**T, where * L = P(1)*L(1)* ... *P(k)*L(k)* ..., * i.e., L is a product of terms P(k)*L(k), where k increases from 1 to * n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 @@ -187,7 +187,7 @@ * IF( UPPER ) THEN * -* Factorize A as U*D*U' using the upper triangle of A +* Factorize A as U*D*U**T using the upper triangle of A * * K is the main loop index, decreasing from N to 1 in steps of * KB, where KB is the number of columns factorized by ZLASYF; @@ -227,7 +227,7 @@ * ELSE * -* Factorize A as L*D*L' using the lower triangle of A +* Factorize A as L*D*L**T using the lower triangle of A * * K is the main loop index, increasing from 1 to N in steps of * KB, where KB is the number of columns factorized by ZLASYF; diff --git a/SRC/zsytri.f b/SRC/zsytri.f index b2e6ab6c..73be67c1 100644 --- a/SRC/zsytri.f +++ b/SRC/zsytri.f @@ -128,7 +128,7 @@ * IF( UPPER ) THEN * -* Compute inv(A) from the factorization A = U*D*U'. +* Compute inv(A) from the factorization A = U*D*U**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -217,7 +217,7 @@ * ELSE * -* Compute inv(A) from the factorization A = L*D*L'. +* Compute inv(A) from the factorization A = L*D*L**T. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. diff --git a/SRC/zsytri2x.f b/SRC/zsytri2x.f index 41cffcb2..c39e4175 100644 --- a/SRC/zsytri2x.f +++ b/SRC/zsytri2x.f @@ -154,7 +154,7 @@ IF( UPPER ) THEN * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL ZTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -182,9 +182,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=N DO WHILE (CUT .GT. 0) @@ -309,7 +309,7 @@ * END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=1 DO WHILE ( I .LE. N ) @@ -331,7 +331,7 @@ * * LOWER... * -* invA = P * inv(U')*inv(D)*inv(U)*P'. +* invA = P * inv(U**T)*inv(D)*inv(U)*P'. * CALL ZTRTRI( UPLO, 'U', N, A, LDA, INFO ) * @@ -359,9 +359,9 @@ END IF END DO * -* inv(U') = (inv(U))' +* inv(U**T) = (inv(U))**T * -* inv(U')*inv(D)*inv(U) +* inv(U**T)*inv(D)*inv(U) * CUT=0 DO WHILE (CUT .LT. N) @@ -493,7 +493,7 @@ CUT=CUT+NNB END DO * -* Apply PERMUTATIONS P and P': P * inv(U')*inv(D)*inv(U) *P' +* Apply PERMUTATIONS P and P': P * inv(U**T)*inv(D)*inv(U) *P' * I=N DO WHILE ( I .GE. 1 ) diff --git a/SRC/zsytrs.f b/SRC/zsytrs.f index f8ce8dfa..7ccee7cc 100644 --- a/SRC/zsytrs.f +++ b/SRC/zsytrs.f @@ -107,7 +107,7 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * * First solve U*D*X = B, overwriting B with X. * @@ -178,7 +178,7 @@ GO TO 10 30 CONTINUE * -* Next solve U'*X = B, overwriting B with X. +* Next solve U**T *X = B, overwriting B with X. * * K is the main loop index, increasing from 1 to N in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -195,7 +195,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(U'(K)), where U(K) is the transformation +* Multiply by inv(U**T(K)), where U(K) is the transformation * stored in column K of A. * CALL ZGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -211,7 +211,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(U'(K+1)), where U(K+1) is the transformation +* Multiply by inv(U**T(K+1)), where U(K+1) is the transformation * stored in columns K and K+1 of A. * CALL ZGEMV( 'Transpose', K-1, NRHS, -ONE, B, LDB, A( 1, K ), @@ -232,7 +232,7 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * * First solve L*D*X = B, overwriting B with X. * @@ -306,7 +306,7 @@ GO TO 60 80 CONTINUE * -* Next solve L'*X = B, overwriting B with X. +* Next solve L**T *X = B, overwriting B with X. * * K is the main loop index, decreasing from N to 1 in steps of * 1 or 2, depending on the size of the diagonal blocks. @@ -323,7 +323,7 @@ * * 1 x 1 diagonal block * -* Multiply by inv(L'(K)), where L(K) is the transformation +* Multiply by inv(L**T(K)), where L(K) is the transformation * stored in column K of A. * IF( K.LT.N ) @@ -340,7 +340,7 @@ * * 2 x 2 diagonal block * -* Multiply by inv(L'(K-1)), where L(K-1) is the transformation +* Multiply by inv(L**T(K-1)), where L(K-1) is the transformation * stored in columns K-1 and K of A. * IF( K.LT.N ) THEN diff --git a/SRC/zsytrs2.f b/SRC/zsytrs2.f index 31441e58..8588ec49 100644 --- a/SRC/zsytrs2.f +++ b/SRC/zsytrs2.f @@ -117,9 +117,9 @@ * IF( UPPER ) THEN * -* Solve A*X = B, where A = U*D*U'. +* Solve A*X = B, where A = U*D*U**T. * -* P' * B +* P**T * B K=N DO WHILE ( K .GE. 1 ) IF( IPIV( K ).GT.0 ) THEN @@ -139,11 +139,11 @@ END IF END DO * -* Compute (U \P' * B) -> B [ (U \P' * B) ] +* Compute (U \P**T * B) -> B [ (U \P**T * B) ] * CALL ZTRSM('L','U','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (U \P' * B) ] +* Compute D \ B -> B [ D \ (U \P**T * B) ] * I=N DO WHILE ( I .GE. 1 ) @@ -167,11 +167,11 @@ I = I - 1 END DO * -* Compute (U' \ B) -> B [ U' \ (D \ (U \P' * B) ) ] +* Compute (U**T \ B) -> B [ U**T \ (D \ (U \P**T * B) ) ] * CALL ZTRSM('L','U','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (U' \ (D \ (U \P' * B) )) ] +* P * B [ P * (U**T \ (D \ (U \P**T * B) )) ] * K=1 DO WHILE ( K .LE. N ) @@ -194,9 +194,9 @@ * ELSE * -* Solve A*X = B, where A = L*D*L'. +* Solve A*X = B, where A = L*D*L**T. * -* P' * B +* P**T * B K=1 DO WHILE ( K .LE. N ) IF( IPIV( K ).GT.0 ) THEN @@ -216,11 +216,11 @@ ENDIF END DO * -* Compute (L \P' * B) -> B [ (L \P' * B) ] +* Compute (L \P**T * B) -> B [ (L \P**T * B) ] * CALL ZTRSM('L','L','N','U',N,NRHS,ONE,A,LDA,B,LDB) * -* Compute D \ B -> B [ D \ (L \P' * B) ] +* Compute D \ B -> B [ D \ (L \P**T * B) ] * I=1 DO WHILE ( I .LE. N ) @@ -242,11 +242,11 @@ I = I + 1 END DO * -* Compute (L' \ B) -> B [ L' \ (D \ (L \P' * B) ) ] +* Compute (L**T \ B) -> B [ L**T \ (D \ (L \P**T * B) ) ] * CALL ZTRSM('L','L','T','U',N,NRHS,ONE,A,LDA,B,LDB) * -* P * B [ P * (L' \ (D \ (L \P' * B) )) ] +* P * B [ P * (L**T \ (D \ (L \P**T * B) )) ] * K=N DO WHILE ( K .GE. 1 ) diff --git a/SRC/ztgex2.f b/SRC/ztgex2.f index a715c1a6..d672e43e 100644 --- a/SRC/ztgex2.f +++ b/SRC/ztgex2.f @@ -28,8 +28,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**H = Q(out) * A(out) * Z(out)**H +* Q(in) * B(in) * Z(in)**H = Q(out) * B(out) * Z(out)**H * * * Arguments @@ -213,7 +213,7 @@ IF( WANDS ) THEN * * Strong stability test: -* F-norm((A-QL'*S*QR, B-QL'*T*QR)) <= O(EPS*F-norm((A, B))) +* F-norm((A-QL**H*S*QR, B-QL**H*T*QR)) <= O(EPS*F-norm((A, B))) * CALL ZLACPY( 'Full', M, M, S, LDST, WORK, M ) CALL ZLACPY( 'Full', M, M, T, LDST, WORK( M*M+1 ), M ) diff --git a/SRC/ztgexc.f b/SRC/ztgexc.f index ce632369..d5668359 100644 --- a/SRC/ztgexc.f +++ b/SRC/ztgexc.f @@ -29,8 +29,8 @@ * Optionally, the matrices Q and Z of generalized Schur vectors are * updated. * -* Q(in) * A(in) * Z(in)' = Q(out) * A(out) * Z(out)' -* Q(in) * B(in) * Z(in)' = Q(out) * B(out) * Z(out)' +* Q(in) * A(in) * Z(in)**H = Q(out) * A(out) * Z(out)**H +* Q(in) * B(in) * Z(in)**H = Q(out) * B(out) * Z(out)**H * * Arguments * ========= diff --git a/SRC/ztgsen.f b/SRC/ztgsen.f index 0e8736f5..70a0d48d 100644 --- a/SRC/ztgsen.f +++ b/SRC/ztgsen.f @@ -28,7 +28,7 @@ * * ZTGSEN reorders the generalized Schur decomposition of a complex * matrix pair (A, B) (in terms of an unitary equivalence trans- -* formation Q' * (A, B) * Z), so that a selected cluster of eigenvalues +* formation Q**H * (A, B) * Z), so that a selected cluster of eigenvalues * appears in the leading diagonal blocks of the pair (A,B). The leading * columns of Q and Z form unitary bases of the corresponding left and * right eigenspaces (deflating subspaces). (A, B) must be in @@ -197,19 +197,19 @@ * U and W that move them to the top left corner of (A, B). In other * words, the selected eigenvalues are the eigenvalues of (A11, B11) in * -* U'*(A, B)*W = (A11 A12) (B11 B12) n1 +* U**H*(A, B)*W = (A11 A12) (B11 B12) n1 * ( 0 A22),( 0 B22) n2 * n1 n2 n1 n2 * -* where N = n1+n2 and U' means the conjugate transpose of U. The first +* where N = n1+n2 and U**H means the conjugate transpose of U. The first * n1 columns of U and W span the specified pair of left and right * eigenspaces (deflating subspaces) of (A, B). * * If (A, B) has been obtained from the generalized real Schur -* decomposition of a matrix pair (C, D) = Q*(A, B)*Z', then the +* decomposition of a matrix pair (C, D) = Q*(A, B)*Z**H, then the * reordered generalized Schur form of (C, D) is given by * -* (C, D) = (Q*U)*(U'*(A, B)*W)*(Z*W)', +* (C, D) = (Q*U)*(U**H *(A, B)*W)*(Z*W)**H, * * and the first n1 columns of Q*U and Z*W span the corresponding * deflating subspaces of (C, D) (Q and Z store Q*U and Z*W, resp.). diff --git a/SRC/ztgsja.f b/SRC/ztgsja.f index e9ca0a34..3a0ed1a0 100644 --- a/SRC/ztgsja.f +++ b/SRC/ztgsja.f @@ -48,10 +48,10 @@ * * On exit, * -* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ), +* U**H *A*Q = D1*( 0 R ), V**H *B*Q = D2*( 0 R ), * -* where U, V and Q are unitary matrices, Z' denotes the conjugate -* transpose of Z, R is a nonsingular upper triangular matrix, and D1 +* where U, V and Q are unitary matrices. +* R is a nonsingular upper triangular matrix, and D1 * and D2 are ``diagonal'' matrices, which are of the following * structures: * @@ -184,7 +184,7 @@ * ALPHA(K+1:M)= C, ALPHA(M+1:K+L)= 0 * BETA(K+1:M) = S, BETA(M+1:K+L) = 1. * Furthermore, if K+L < N, -* ALPHA(K+L+1:N) = 0 +* ALPHA(K+L+1:N) = 0 and * BETA(K+L+1:N) = 0. * * U (input/output) COMPLEX*16 array, dimension (LDU,M) @@ -248,10 +248,10 @@ * min(L,M-K)-by-L triangular (or trapezoidal) matrix A23 and L-by-L * matrix B13 to the form: * -* U1'*A13*Q1 = C1*R1; V1'*B13*Q1 = S1*R1, +* U1**H *A13*Q1 = C1*R1; V1**H *B13*Q1 = S1*R1, * -* where U1, V1 and Q1 are unitary matrix, and Z' is the conjugate -* transpose of Z. C1 and S1 are diagonal matrices satisfying +* where U1, V1 and Q1 are unitary matrix. +* C1 and S1 are diagonal matrices satisfying * * C1**2 + S1**2 = I, * @@ -372,13 +372,13 @@ CALL ZLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, $ CSV, SNV, CSQ, SNQ ) * -* Update (K+I)-th and (K+J)-th rows of matrix A: U'*A +* Update (K+I)-th and (K+J)-th rows of matrix A: U**H *A * IF( K+J.LE.M ) $ CALL ZROT( L, A( K+J, N-L+1 ), LDA, A( K+I, N-L+1 ), $ LDA, CSU, DCONJG( SNU ) ) * -* Update I-th and J-th rows of matrix B: V'*B +* Update I-th and J-th rows of matrix B: V**H *B * CALL ZROT( L, B( J, N-L+1 ), LDB, B( I, N-L+1 ), LDB, $ CSV, DCONJG( SNV ) ) @@ -495,6 +495,7 @@ END IF * ELSE +* ALPHA( K+I ) = ZERO BETA( K+I ) = ONE CALL ZCOPY( L-I+1, B( I, N-L+I ), LDB, A( K+I, N-L+I ), diff --git a/SRC/ztgsna.f b/SRC/ztgsna.f index f4132a48..02d07e94 100644 --- a/SRC/ztgsna.f +++ b/SRC/ztgsna.f @@ -132,12 +132,12 @@ * The reciprocal of the condition number of the i-th generalized * eigenvalue w = (a, b) is defined as * -* S(I) = (|v'Au|**2 + |v'Bu|**2)**(1/2) / (norm(u)*norm(v)) +* S(I) = (|v**HAu|**2 + |v**HBu|**2)**(1/2) / (norm(u)*norm(v)) * * where u and v are the right and left eigenvectors of (A, B) * corresponding to w; |z| denotes the absolute value of the complex * number, and norm(u) denotes the 2-norm of the vector u. The pair -* (a, b) corresponds to an eigenvalue w = a/b (= v'Au/v'Bu) of the +* (a, b) corresponds to an eigenvalue w = a/b (= v**HAu/v**HBu) of the * matrix pair (A, B). If both a and b equal zero, then (A,B) is * singular and S(I) = -1 is returned. * @@ -166,7 +166,7 @@ * Zl = [ kron(a, In-1) -kron(1, A22) ] * [ kron(b, In-1) -kron(1, B22) ]. * -* Here In-1 is the identity matrix of size n-1 and X' is the conjugate +* Here In-1 is the identity matrix of size n-1 and X**H is the conjugate * transpose of X. kron(X, Y) is the Kronecker product between the * matrices X and Y. * diff --git a/SRC/ztgsy2.f b/SRC/ztgsy2.f index bcf692b6..f91363ad 100644 --- a/SRC/ztgsy2.f +++ b/SRC/ztgsy2.f @@ -298,7 +298,7 @@ ELSE * * Solve transposed (I, J) - system: -* A(I, I)' * R(I, J) + D(I, I)' * L(J, J) = C(I, J) +* A(I, I)**H * R(I, J) + D(I, I)**H * L(J, J) = C(I, J) * R(I, I) * B(J, J) + L(I, J) * E(J, J) = -F(I, J) * for I = 1, 2, ..., M, J = N, N - 1, ..., 1 * diff --git a/SRC/ztgsyl.f b/SRC/ztgsyl.f index f9e2bfc8..7548bbbd 100644 --- a/SRC/ztgsyl.f +++ b/SRC/ztgsyl.f @@ -46,11 +46,11 @@ * transpose of X. Kron(X, Y) is the Kronecker product between the * matrices X and Y. * -* If TRANS = 'C', y in the conjugate transposed system Z'*y = scale*b +* If TRANS = 'C', y in the conjugate transposed system Z**H *y = scale*b * is solved for, which is equivalent to solve for R and L in * -* A' * R + D' * L = scale * C (3) -* R * B' + L * E' = scale * -F +* A**H * R + D**H * L = scale * C (3) +* R * B**H + L * E**H = scale * -F * * This case (TRANS = 'C') is used to compute an one-norm-based estimate * of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) @@ -492,7 +492,7 @@ ELSE * * Solve transposed (I, J)-subsystem -* A(I, I)' * R(I, J) + D(I, I)' * L(I, J) = C(I, J) +* A(I, I)**H * R(I, J) + D(I, I)**H * L(I, J) = C(I, J) * R(I, J) * B(J, J) + L(I, J) * E(J, J) = -F(I, J) * for I = 1,2,..., P; J = Q, Q-1,..., 1 * diff --git a/SRC/ztrevc.f b/SRC/ztrevc.f index bd4473d8..2558fddf 100644 --- a/SRC/ztrevc.f +++ b/SRC/ztrevc.f @@ -332,7 +332,7 @@ 90 CONTINUE * * Solve the triangular system: -* (T(KI+1:N,KI+1:N) - T(KI,KI))'*X = SCALE*WORK. +* (T(KI+1:N,KI+1:N) - T(KI,KI))**H * X = SCALE*WORK. * DO 100 K = KI + 1, N T( K, K ) = T( K, K ) - T( KI, KI ) diff --git a/SRC/ztrsen.f b/SRC/ztrsen.f index 7050cd24..1400f141 100644 --- a/SRC/ztrsen.f +++ b/SRC/ztrsen.f @@ -119,16 +119,16 @@ * transformation Z to move them to the top left corner of T. In other * words, the selected eigenvalues are the eigenvalues of T11 in: * -* Z'*T*Z = ( T11 T12 ) n1 +* Z**H * T * Z = ( T11 T12 ) n1 * ( 0 T22 ) n2 * n1 n2 * -* where N = n1+n2 and Z' means the conjugate transpose of Z. The first +* where N = n1+n2. The first * n1 columns of Z span the specified invariant subspace of T. * * If T has been obtained from the Schur factorization of a matrix -* A = Q*T*Q', then the reordered Schur factorization of A is given by -* A = (Q*Z)*(Z'*T*Z)*(Q*Z)', and the first n1 columns of Q*Z span the +* A = Q*T*Q**H, then the reordered Schur factorization of A is given by +* A = (Q*Z)*(Z**H*T*Z)*(Q*Z)**H, and the first n1 columns of Q*Z span the * corresponding invariant subspace of A. * * The reciprocal condition number of the average of the eigenvalues of @@ -331,7 +331,7 @@ $ IERR ) ELSE * -* Solve T11'*R - R*T22' = scale*X. +* Solve T11**H*R - R*T22**H = scale*X. * CALL ZTRSYL( 'C', 'C', -1, N1, N2, T, LDT, $ T( N1+1, N1+1 ), LDT, WORK, N1, SCALE, diff --git a/SRC/ztrsna.f b/SRC/ztrsna.f index 20a8e2f8..69ace750 100644 --- a/SRC/ztrsna.f +++ b/SRC/ztrsna.f @@ -124,10 +124,10 @@ * The reciprocal of the condition number of an eigenvalue lambda is * defined as * -* S(lambda) = |v'*u| / (norm(u)*norm(v)) +* S(lambda) = |v**H*u| / (norm(u)*norm(v)) * * where u and v are the right and left eigenvectors of T corresponding -* to lambda; v' denotes the conjugate transpose of v, and norm(u) +* to lambda; v**H denotes the conjugate transpose of v, and norm(u) * denotes the Euclidean norm. These reciprocal condition numbers always * lie between zero (very badly conditioned) and one (very well * conditioned). If n = 1, S(lambda) is defined to be 1. @@ -302,7 +302,7 @@ WORK( I, I ) = WORK( I, I ) - WORK( 1, 1 ) 20 CONTINUE * -* Estimate a lower bound for the 1-norm of inv(C'). The 1st +* Estimate a lower bound for the 1-norm of inv(C**H). The 1st * and (N+1)th columns of WORK are used to store work vectors. * SEP( KS ) = ZERO @@ -315,7 +315,7 @@ IF( KASE.NE.0 ) THEN IF( KASE.EQ.1 ) THEN * -* Solve C'*x = scale*b +* Solve C**H*x = scale*b * CALL ZLATRS( 'Upper', 'Conjugate transpose', $ 'Nonunit', NORMIN, N-1, WORK( 2, 2 ), diff --git a/SRC/ztrsyl.f b/SRC/ztrsyl.f index baf619c0..4c32dba1 100644 --- a/SRC/ztrsyl.f +++ b/SRC/ztrsyl.f @@ -209,17 +209,17 @@ * ELSE IF( .NOT.NOTRNA .AND. NOTRNB ) THEN * -* Solve A' *X + ISGN*X*B = scale*C. +* Solve A**H *X + ISGN*X*B = scale*C. * * The (K,L)th block of X is determined starting from * upper-left corner column by column by * -* A'(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) +* A**H(K,K)*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) * * Where -* K-1 L-1 -* R(K,L) = SUM [A'(I,K)*X(I,L)] + ISGN*SUM [X(K,J)*B(J,L)] -* I=1 J=1 +* K-1 L-1 +* R(K,L) = SUM [A**H(I,K)*X(I,L)] + ISGN*SUM [X(K,J)*B(J,L)] +* I=1 J=1 * DO 60 L = 1, N DO 50 K = 1, M @@ -257,19 +257,19 @@ * ELSE IF( .NOT.NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A'*X + ISGN*X*B' = C. +* Solve A**H*X + ISGN*X*B**H = C. * * The (K,L)th block of X is determined starting from * upper-right corner column by column by * -* A'(K,K)*X(K,L) + ISGN*X(K,L)*B'(L,L) = C(K,L) - R(K,L) +* A**H(K,K)*X(K,L) + ISGN*X(K,L)*B**H(L,L) = C(K,L) - R(K,L) * * Where * K-1 -* R(K,L) = SUM [A'(I,K)*X(I,L)] + +* R(K,L) = SUM [A**H(I,K)*X(I,L)] + * I=1 * N -* ISGN*SUM [X(K,J)*B'(L,J)]. +* ISGN*SUM [X(K,J)*B**H(L,J)]. * J=L+1 * DO 90 L = N, 1, -1 @@ -309,16 +309,16 @@ * ELSE IF( NOTRNA .AND. .NOT.NOTRNB ) THEN * -* Solve A*X + ISGN*X*B' = C. +* Solve A*X + ISGN*X*B**H = C. * * The (K,L)th block of X is determined starting from * bottom-left corner column by column by * -* A(K,K)*X(K,L) + ISGN*X(K,L)*B'(L,L) = C(K,L) - R(K,L) +* A(K,K)*X(K,L) + ISGN*X(K,L)*B**H(L,L) = C(K,L) - R(K,L) * * Where * M N -* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B'(L,J)] +* R(K,L) = SUM [A(K,I)*X(I,L)] + ISGN*SUM [X(K,J)*B**H(L,J)] * I=K+1 J=L+1 * DO 120 L = N, 1, -1 diff --git a/SRC/ztzrqf.f b/SRC/ztzrqf.f index ab172d69..1b1a1bd0 100644 --- a/SRC/ztzrqf.f +++ b/SRC/ztzrqf.f @@ -66,9 +66,9 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), -* ( 0 ) -* ( z( k ) ) +* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), +* ( 0 ) +* ( z( k ) ) * * tau is a scalar and z( k ) is an ( n - m ) element vector. * tau and z( k ) are chosen to annihilate the elements of the kth row @@ -142,7 +142,7 @@ * IF( TAU( K ).NE.CZERO .AND. K.GT.1 ) THEN * -* We now perform the operation A := A*P( k )'. +* We now perform the operation A := A*P( k )**H. * * Use the first ( k - 1 ) elements of TAU to store a( k ), * where a( k ) consists of the first ( k - 1 ) elements of @@ -157,7 +157,7 @@ $ LDA, A( K, M1 ), LDA, CONE, TAU, 1 ) * * Now form a( k ) := a( k ) - conjg(tau)*w -* and B := B - conjg(tau)*w*z( k )'. +* and B := B - conjg(tau)*w*z( k )**H. * CALL ZAXPY( K-1, -DCONJG( TAU( K ) ), TAU, 1, A( 1, K ), $ 1 ) diff --git a/SRC/ztzrzf.f b/SRC/ztzrzf.f index 47746b1d..b5d916e7 100644 --- a/SRC/ztzrzf.f +++ b/SRC/ztzrzf.f @@ -81,7 +81,7 @@ * * where * -* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), +* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), * ( 0 ) * ( z( k ) ) * diff --git a/SRC/zungl2.f b/SRC/zungl2.f index fe45abf6..f636d7d1 100644 --- a/SRC/zungl2.f +++ b/SRC/zungl2.f @@ -19,7 +19,7 @@ * which is defined as the first m rows of a product of k elementary * reflectors of order n * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by ZGELQF. * @@ -110,7 +110,7 @@ * DO 40 I = K, 1, -1 * -* Apply H(i)' to A(i:m,i:n) from the right +* Apply H(i)**H to A(i:m,i:n) from the right * IF( I.LT.N ) THEN CALL ZLACGV( N-I, A( I, I+1 ), LDA ) diff --git a/SRC/zunglq.f b/SRC/zunglq.f index fa8edfe3..61992586 100644 --- a/SRC/zunglq.f +++ b/SRC/zunglq.f @@ -19,7 +19,7 @@ * which is defined as the first M rows of a product of K elementary * reflectors of order N * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by ZGELQF. * @@ -185,7 +185,7 @@ CALL ZLARFT( 'Forward', 'Rowwise', N-I+1, IB, A( I, I ), $ LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(i+ib:m,i:n) from the right +* Apply H**H to A(i+ib:m,i:n) from the right * CALL ZLARFB( 'Right', 'Conjugate transpose', 'Forward', $ 'Rowwise', M-I-IB+1, N-I+1, IB, A( I, I ), @@ -193,7 +193,7 @@ $ WORK( IB+1 ), LDWORK ) END IF * -* Apply H' to columns i:n of current block +* Apply H**H to columns i:n of current block * CALL ZUNGL2( IB, N-I+1, IB, A( I, I ), LDA, TAU( I ), WORK, $ IINFO ) diff --git a/SRC/zungr2.f b/SRC/zungr2.f index 701d30f1..5fe697c8 100644 --- a/SRC/zungr2.f +++ b/SRC/zungr2.f @@ -19,7 +19,7 @@ * which is defined as the last m rows of a product of k elementary * reflectors of order n * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by ZGERQF. * @@ -112,7 +112,7 @@ DO 40 I = 1, K II = M - K + I * -* Apply H(i)' to A(1:m-k+i,1:n-k+i) from the right +* Apply H(i)**H to A(1:m-k+i,1:n-k+i) from the right * CALL ZLACGV( N-M+II-1, A( II, 1 ), LDA ) A( II, N-M+II ) = ONE diff --git a/SRC/zungrq.f b/SRC/zungrq.f index ef1d8326..ecd13396 100644 --- a/SRC/zungrq.f +++ b/SRC/zungrq.f @@ -19,7 +19,7 @@ * which is defined as the last M rows of a product of K elementary * reflectors of order N * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by ZGERQF. * @@ -193,7 +193,7 @@ CALL ZLARFT( 'Backward', 'Rowwise', N-K+I+IB-1, IB, $ A( II, 1 ), LDA, TAU( I ), WORK, LDWORK ) * -* Apply H' to A(1:m-k+i-1,1:n-k+i+ib-1) from the right +* Apply H**H to A(1:m-k+i-1,1:n-k+i+ib-1) from the right * CALL ZLARFB( 'Right', 'Conjugate transpose', 'Backward', $ 'Rowwise', II-1, N-K+I+IB-1, IB, A( II, 1 ), @@ -201,7 +201,7 @@ $ LDWORK ) END IF * -* Apply H' to columns 1:n-k+i+ib-1 of current block +* Apply H**H to columns 1:n-k+i+ib-1 of current block * CALL ZUNGR2( IB, N-K+I+IB-1, IB, A( II, 1 ), LDA, TAU( I ), $ WORK, IINFO ) diff --git a/SRC/zunm2l.f b/SRC/zunm2l.f index f2aa1f2a..e683ce00 100644 --- a/SRC/zunm2l.f +++ b/SRC/zunm2l.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -168,17 +168,17 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(1:m-k+i,1:n) +* H(i) or H(i)**H is applied to C(1:m-k+i,1:n) * MI = M - K + I ELSE * -* H(i) or H(i)' is applied to C(1:m,1:n-k+i) +* H(i) or H(i)**H is applied to C(1:m,1:n-k+i) * NI = N - K + I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/zunm2r.f b/SRC/zunm2r.f index 6cf5779d..03322a2d 100644 --- a/SRC/zunm2r.f +++ b/SRC/zunm2r.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -170,19 +170,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/zunml2.f b/SRC/zunml2.f index 2397898d..a51dec3b 100644 --- a/SRC/zunml2.f +++ b/SRC/zunml2.f @@ -21,16 +21,16 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by ZGELQF. Q is of order m if SIDE = 'L' and of order n * if SIDE = 'R'. @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -170,19 +170,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = DCONJG( TAU( I ) ) diff --git a/SRC/zunmlq.f b/SRC/zunmlq.f index ee8dc3bc..b6a5d3d4 100644 --- a/SRC/zunmlq.f +++ b/SRC/zunmlq.f @@ -26,7 +26,7 @@ * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(k)' . . . H(2)' H(1)' +* Q = H(k)**H . . . H(2)**H H(1)**H * * as returned by ZGELQF. Q is of order M if SIDE = 'L' and of order N * if SIDE = 'R'. @@ -241,19 +241,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**H * CALL ZLARFB( SIDE, TRANST, 'Forward', 'Rowwise', MI, NI, IB, $ A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, WORK, diff --git a/SRC/zunmql.f b/SRC/zunmql.f index ba08aa08..fece8c9b 100644 --- a/SRC/zunmql.f +++ b/SRC/zunmql.f @@ -237,17 +237,17 @@ $ A( 1, I ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**H is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**H is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**H * CALL ZLARFB( SIDE, TRANS, 'Backward', 'Columnwise', MI, NI, $ IB, A( 1, I ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/zunmqr.f b/SRC/zunmqr.f index 19d236ac..c1bbe77e 100644 --- a/SRC/zunmqr.f +++ b/SRC/zunmqr.f @@ -234,19 +234,19 @@ $ LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**H * CALL ZLARFB( SIDE, TRANS, 'Forward', 'Columnwise', MI, NI, $ IB, A( I, I ), LDA, T, LDT, C( IC, JC ), LDC, diff --git a/SRC/zunmr2.f b/SRC/zunmr2.f index a4191b51..d341b399 100644 --- a/SRC/zunmr2.f +++ b/SRC/zunmr2.f @@ -21,16 +21,16 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by ZGERQF. Q is of order m if SIDE = 'L' and of order n * if SIDE = 'R'. @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -75,7 +75,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -168,17 +168,17 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(1:m-k+i,1:n) +* H(i) or H(i)**H is applied to C(1:m-k+i,1:n) * MI = M - K + I ELSE * -* H(i) or H(i)' is applied to C(1:m,1:n-k+i) +* H(i) or H(i)**H is applied to C(1:m,1:n-k+i) * NI = N - K + I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = DCONJG( TAU( I ) ) diff --git a/SRC/zunmr3.f b/SRC/zunmr3.f index 7f879b2f..335b725c 100644 --- a/SRC/zunmr3.f +++ b/SRC/zunmr3.f @@ -21,11 +21,11 @@ * * Q * C if SIDE = 'L' and TRANS = 'N', or * -* Q'* C if SIDE = 'L' and TRANS = 'C', or +* Q**H* C if SIDE = 'L' and TRANS = 'C', or * * C * Q if SIDE = 'R' and TRANS = 'N', or * -* C * Q' if SIDE = 'R' and TRANS = 'C', +* C * Q**H if SIDE = 'R' and TRANS = 'C', * * where Q is a complex unitary matrix defined as the product of k * elementary reflectors @@ -39,12 +39,12 @@ * ========= * * SIDE (input) CHARACTER*1 -* = 'L': apply Q or Q' from the Left -* = 'R': apply Q or Q' from the Right +* = 'L': apply Q or Q**H from the Left +* = 'R': apply Q or Q**H from the Right * * TRANS (input) CHARACTER*1 * = 'N': apply Q (No transpose) -* = 'C': apply Q' (Conjugate transpose) +* = 'C': apply Q**H (Conjugate transpose) * * M (input) INTEGER * The number of rows of the matrix C. M >= 0. @@ -80,7 +80,7 @@ * * C (input/output) COMPLEX*16 array, dimension (LDC,N) * On entry, the m-by-n matrix C. -* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. +* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. * * LDC (input) INTEGER * The leading dimension of the array C. LDC >= max(1,M). @@ -182,19 +182,19 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i:m,1:n) +* H(i) or H(i)**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H(i) or H(i)' is applied to C(1:m,i:n) +* H(i) or H(i)**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) diff --git a/SRC/zunmrq.f b/SRC/zunmrq.f index 507c5596..d16a9d59 100644 --- a/SRC/zunmrq.f +++ b/SRC/zunmrq.f @@ -26,7 +26,7 @@ * where Q is a complex unitary matrix defined as the product of k * elementary reflectors * -* Q = H(1)' H(2)' . . . H(k)' +* Q = H(1)**H H(2)**H . . . H(k)**H * * as returned by ZGERQF. Q is of order M if SIDE = 'L' and of order N * if SIDE = 'R'. @@ -244,17 +244,17 @@ $ A( I, 1 ), LDA, TAU( I ), T, LDT ) IF( LEFT ) THEN * -* H or H' is applied to C(1:m-k+i+ib-1,1:n) +* H or H**H is applied to C(1:m-k+i+ib-1,1:n) * MI = M - K + I + IB - 1 ELSE * -* H or H' is applied to C(1:m,1:n-k+i+ib-1) +* H or H**H is applied to C(1:m,1:n-k+i+ib-1) * NI = N - K + I + IB - 1 END IF * -* Apply H or H' +* Apply H or H**H * CALL ZLARFB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, A( I, 1 ), LDA, T, LDT, C, LDC, WORK, diff --git a/SRC/zunmrz.f b/SRC/zunmrz.f index f1dc10a2..53f0a8ec 100644 --- a/SRC/zunmrz.f +++ b/SRC/zunmrz.f @@ -268,19 +268,19 @@ * IF( LEFT ) THEN * -* H or H' is applied to C(i:m,1:n) +* H or H**H is applied to C(i:m,1:n) * MI = M - I + 1 IC = I ELSE * -* H or H' is applied to C(1:m,i:n) +* H or H**H is applied to C(1:m,i:n) * NI = N - I + 1 JC = I END IF * -* Apply H or H' +* Apply H or H**H * CALL ZLARZB( SIDE, TRANST, 'Backward', 'Rowwise', MI, NI, $ IB, L, A( I, JA ), LDA, T, LDT, C( IC, JC ), diff --git a/SRC/zupmtr.f b/SRC/zupmtr.f index 579ccae1..3b5bffe6 100644 --- a/SRC/zupmtr.f +++ b/SRC/zupmtr.f @@ -170,17 +170,17 @@ DO 10 I = I1, I2, I3 IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(1:i,1:n) +* H(i) or H(i)**H is applied to C(1:i,1:n) * MI = I ELSE * -* H(i) or H(i)' is applied to C(1:m,1:i) +* H(i) or H(i)**H is applied to C(1:m,1:i) * NI = I END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) @@ -231,19 +231,19 @@ AP( II ) = ONE IF( LEFT ) THEN * -* H(i) or H(i)' is applied to C(i+1:m,1:n) +* H(i) or H(i)**H is applied to C(i+1:m,1:n) * MI = M - I IC = I + 1 ELSE * -* H(i) or H(i)' is applied to C(1:m,i+1:n) +* H(i) or H(i)**H is applied to C(1:m,i+1:n) * NI = N - I JC = I + 1 END IF * -* Apply H(i) or H(i)' +* Apply H(i) or H(i)**H * IF( NOTRAN ) THEN TAUI = TAU( I ) |