First pass to homgenize notation for transpose (**T) and conjugate transpose (**H)
authorjulie <julielangou@users.noreply.github.com>
Sat, 2 Apr 2011 11:08:56 +0000 (11:08 +0000)
committerjulie <julielangou@users.noreply.github.com>
Sat, 2 Apr 2011 11:08:56 +0000 (11:08 +0000)
Corresponds to bug0024

610 files changed:
SRC/cgbbrd.f
SRC/cgbcon.f
SRC/cgebd2.f
SRC/cgebrd.f
SRC/cgecon.f
SRC/cgehd2.f
SRC/cgehrd.f
SRC/cgelq2.f
SRC/cgelqf.f
SRC/cgels.f
SRC/cgelsx.f
SRC/cgelsy.f
SRC/cgeql2.f
SRC/cgeqlf.f
SRC/cgeqp3.f
SRC/cgeqpf.f
SRC/cgeqr2.f
SRC/cgeqr2p.f
SRC/cgeqrf.f
SRC/cgeqrfp.f
SRC/cgerq2.f
SRC/cgerqf.f
SRC/cgetrs.f
SRC/cggglm.f
SRC/cgglse.f
SRC/cggqrf.f
SRC/cggrqf.f
SRC/cggsvd.f
SRC/cggsvp.f
SRC/cgtcon.f
SRC/cgtsv.f
SRC/checon.f
SRC/chegs2.f
SRC/chegst.f
SRC/chegv.f
SRC/chegvd.f
SRC/chegvx.f
SRC/chesv.f
SRC/chesvx.f
SRC/chetd2.f
SRC/chetf2.f
SRC/chetrd.f
SRC/chetrf.f
SRC/chetri.f
SRC/chetri2x.f
SRC/chetrs.f
SRC/chetrs2.f
SRC/chpcon.f
SRC/chpgst.f
SRC/chpgv.f
SRC/chpgvd.f
SRC/chpgvx.f
SRC/chpsv.f
SRC/chpsvx.f
SRC/chptrd.f
SRC/chptrf.f
SRC/chptri.f
SRC/chptrs.f
SRC/cla_gbamv.f
SRC/cla_geamv.f
SRC/clabrd.f
SRC/claed7.f
SRC/claein.f
SRC/clags2.f
SRC/clagtm.f
SRC/clahef.f
SRC/clahr2.f
SRC/clahrd.f
SRC/claic1.f
SRC/clalsd.f
SRC/claqhb.f
SRC/claqp2.f
SRC/claqps.f
SRC/claqsb.f
SRC/clar1v.f
SRC/clarf.f
SRC/clarfb.f
SRC/clarfg.f
SRC/clarfgp.f
SRC/clarft.f
SRC/clarfx.f
SRC/clarrv.f
SRC/clarz.f
SRC/clarzb.f
SRC/clarzt.f
SRC/clasyf.f
SRC/clatrd.f
SRC/clatrz.f
SRC/clatzm.f
SRC/clauu2.f
SRC/clauum.f
SRC/cpbcon.f
SRC/cpbsv.f
SRC/cpbsvx.f
SRC/cpbtf2.f
SRC/cpbtrs.f
SRC/cpocon.f
SRC/cposv.f
SRC/cposvx.f
SRC/cpotf2.f
SRC/cpotrf.f
SRC/cpotri.f
SRC/cpotrs.f
SRC/cppcon.f
SRC/cppsv.f
SRC/cppsvx.f
SRC/cpptrf.f
SRC/cpptri.f
SRC/cpptrs.f
SRC/cptcon.f
SRC/cptrfs.f
SRC/cptsv.f
SRC/cptsvx.f
SRC/cpttrf.f
SRC/cpttrs.f
SRC/cptts2.f
SRC/cspcon.f
SRC/cspsv.f
SRC/cspsvx.f
SRC/csptrf.f
SRC/csptri.f
SRC/csptrs.f
SRC/csycon.f
SRC/csysv.f
SRC/csysvx.f
SRC/csytf2.f
SRC/csytrf.f
SRC/csytri.f
SRC/csytri2x.f
SRC/csytrs.f
SRC/csytrs2.f
SRC/ctgex2.f
SRC/ctgexc.f
SRC/ctgsen.f
SRC/ctgsja.f
SRC/ctgsna.f
SRC/ctgsy2.f
SRC/ctgsyl.f
SRC/ctrevc.f
SRC/ctrsen.f
SRC/ctrsna.f
SRC/ctrsyl.f
SRC/ctzrqf.f
SRC/ctzrzf.f
SRC/cungl2.f
SRC/cunglq.f
SRC/cungr2.f
SRC/cungrq.f
SRC/cunm2l.f
SRC/cunm2r.f
SRC/cunml2.f
SRC/cunmlq.f
SRC/cunmql.f
SRC/cunmqr.f
SRC/cunmr2.f
SRC/cunmr3.f
SRC/cunmrq.f
SRC/cunmrz.f
SRC/cupmtr.f
SRC/dgbbrd.f
SRC/dgbcon.f
SRC/dgebd2.f
SRC/dgebrd.f
SRC/dgecon.f
SRC/dgeev.f
SRC/dgeevx.f
SRC/dgehd2.f
SRC/dgehrd.f
SRC/dgelq2.f
SRC/dgelqf.f
SRC/dgels.f
SRC/dgelsx.f
SRC/dgelsy.f
SRC/dgeql2.f
SRC/dgeqlf.f
SRC/dgeqp3.f
SRC/dgeqpf.f
SRC/dgeqr2.f
SRC/dgeqr2p.f
SRC/dgeqrf.f
SRC/dgeqrfp.f
SRC/dgerq2.f
SRC/dgerqf.f
SRC/dgetrs.f
SRC/dggglm.f
SRC/dgglse.f
SRC/dggqrf.f
SRC/dggrqf.f
SRC/dggsvd.f
SRC/dggsvp.f
SRC/dgtcon.f
SRC/dgtsv.f
SRC/dla_gbamv.f
SRC/dla_geamv.f
SRC/dlabrd.f
SRC/dlaed7.f
SRC/dlaein.f
SRC/dlags2.f
SRC/dlagtm.f
SRC/dlagts.f
SRC/dlahr2.f
SRC/dlahrd.f
SRC/dlaic1.f
SRC/dlaqp2.f
SRC/dlaqps.f
SRC/dlaqsb.f
SRC/dlaqtr.f
SRC/dlar1v.f
SRC/dlarf.f
SRC/dlarfb.f
SRC/dlarfg.f
SRC/dlarfgp.f
SRC/dlarft.f
SRC/dlarfx.f
SRC/dlarrv.f
SRC/dlarz.f
SRC/dlarzb.f
SRC/dlarzt.f
SRC/dlasd1.f
SRC/dlasyf.f
SRC/dlatrd.f
SRC/dlatrz.f
SRC/dlatzm.f
SRC/dlauu2.f
SRC/dlauum.f
SRC/dorglq.f
SRC/dorgrq.f
SRC/dorm2l.f
SRC/dorm2r.f
SRC/dorml2.f
SRC/dormlq.f
SRC/dormql.f
SRC/dormqr.f
SRC/dormr2.f
SRC/dormr3.f
SRC/dormrq.f
SRC/dormrz.f
SRC/dpbcon.f
SRC/dpbsv.f
SRC/dpbsvx.f
SRC/dpbtf2.f
SRC/dpbtrs.f
SRC/dpocon.f
SRC/dposv.f
SRC/dposvx.f
SRC/dpotf2.f
SRC/dpotrf.f
SRC/dpotri.f
SRC/dpotrs.f
SRC/dppcon.f
SRC/dppsv.f
SRC/dppsvx.f
SRC/dpptrf.f
SRC/dpptri.f
SRC/dpptrs.f
SRC/dptcon.f
SRC/dptrfs.f
SRC/dptsv.f
SRC/dptsvx.f
SRC/dpttrf.f
SRC/dpttrs.f
SRC/dptts2.f
SRC/dspcon.f
SRC/dspgst.f
SRC/dspgv.f
SRC/dspgvd.f
SRC/dspgvx.f
SRC/dspsv.f
SRC/dspsvx.f
SRC/dsptrd.f
SRC/dsptrf.f
SRC/dsptri.f
SRC/dsptrs.f
SRC/dsycon.f
SRC/dsygs2.f
SRC/dsygst.f
SRC/dsygv.f
SRC/dsygvd.f
SRC/dsygvx.f
SRC/dsysv.f
SRC/dsysvx.f
SRC/dsytd2.f
SRC/dsytf2.f
SRC/dsytrd.f
SRC/dsytrf.f
SRC/dsytri.f
SRC/dsytri2x.f
SRC/dsytrs.f
SRC/dsytrs2.f
SRC/dtbrfs.f
SRC/dtgex2.f
SRC/dtgexc.f
SRC/dtgsen.f
SRC/dtgsja.f
SRC/dtgsna.f
SRC/dtgsy2.f
SRC/dtgsyl.f
SRC/dtprfs.f
SRC/dtrevc.f
SRC/dtrrfs.f
SRC/dtrsen.f
SRC/dtrsna.f
SRC/dtrsyl.f
SRC/dtzrqf.f
SRC/dtzrzf.f
SRC/sgbbrd.f
SRC/sgbcon.f
SRC/sgebd2.f
SRC/sgebrd.f
SRC/sgecon.f
SRC/sgeev.f
SRC/sgeevx.f
SRC/sgehd2.f
SRC/sgehrd.f
SRC/sgelq2.f
SRC/sgelqf.f
SRC/sgels.f
SRC/sgelsx.f
SRC/sgelsy.f
SRC/sgeql2.f
SRC/sgeqlf.f
SRC/sgeqp3.f
SRC/sgeqpf.f
SRC/sgeqr2.f
SRC/sgeqr2p.f
SRC/sgeqrf.f
SRC/sgeqrfp.f
SRC/sgerq2.f
SRC/sgerqf.f
SRC/sgetrs.f
SRC/sggglm.f
SRC/sgglse.f
SRC/sggqrf.f
SRC/sggrqf.f
SRC/sggsvd.f
SRC/sggsvp.f
SRC/sgtcon.f
SRC/sgtsv.f
SRC/sla_gbamv.f
SRC/sla_geamv.f
SRC/slabrd.f
SRC/slaed7.f
SRC/slaein.f
SRC/slags2.f
SRC/slagtm.f
SRC/slagts.f
SRC/slahr2.f
SRC/slahrd.f
SRC/slaic1.f
SRC/slaqp2.f
SRC/slaqps.f
SRC/slaqsb.f
SRC/slaqtr.f
SRC/slar1v.f
SRC/slarf.f
SRC/slarfb.f
SRC/slarfg.f
SRC/slarfgp.f
SRC/slarft.f
SRC/slarfx.f
SRC/slarrv.f
SRC/slarz.f
SRC/slarzb.f
SRC/slarzt.f
SRC/slasd1.f
SRC/slasyf.f
SRC/slatrd.f
SRC/slatrz.f
SRC/slatzm.f
SRC/slauu2.f
SRC/slauum.f
SRC/sorglq.f
SRC/sorgrq.f
SRC/sorm2l.f
SRC/sorm2r.f
SRC/sorml2.f
SRC/sormlq.f
SRC/sormql.f
SRC/sormqr.f
SRC/sormr2.f
SRC/sormr3.f
SRC/sormrq.f
SRC/sormrz.f
SRC/spbcon.f
SRC/spbsv.f
SRC/spbsvx.f
SRC/spbtf2.f
SRC/spbtrs.f
SRC/spocon.f
SRC/sposv.f
SRC/sposvx.f
SRC/spotf2.f
SRC/spotrf.f
SRC/spotri.f
SRC/spotrs.f
SRC/sppcon.f
SRC/sppsv.f
SRC/sppsvx.f
SRC/spptrf.f
SRC/spptri.f
SRC/spptrs.f
SRC/sptcon.f
SRC/sptrfs.f
SRC/sptsv.f
SRC/sptsvx.f
SRC/spttrf.f
SRC/spttrs.f
SRC/sptts2.f
SRC/sspcon.f
SRC/sspgst.f
SRC/sspgv.f
SRC/sspgvd.f
SRC/sspgvx.f
SRC/sspsv.f
SRC/sspsvx.f
SRC/ssptrd.f
SRC/ssptrf.f
SRC/ssptri.f
SRC/ssptrs.f
SRC/ssycon.f
SRC/ssygs2.f
SRC/ssygst.f
SRC/ssygv.f
SRC/ssygvd.f
SRC/ssygvx.f
SRC/ssysv.f
SRC/ssysvx.f
SRC/ssytd2.f
SRC/ssytf2.f
SRC/ssytrd.f
SRC/ssytrf.f
SRC/ssytri.f
SRC/ssytri2x.f
SRC/ssytrs.f
SRC/ssytrs2.f
SRC/stbrfs.f
SRC/stgex2.f
SRC/stgexc.f
SRC/stgsen.f
SRC/stgsja.f
SRC/stgsna.f
SRC/stgsy2.f
SRC/stgsyl.f
SRC/stprfs.f
SRC/strevc.f
SRC/strrfs.f
SRC/strsen.f
SRC/strsna.f
SRC/strsyl.f
SRC/stzrqf.f
SRC/stzrzf.f
SRC/zgbbrd.f
SRC/zgbcon.f
SRC/zgebd2.f
SRC/zgebrd.f
SRC/zgecon.f
SRC/zgehd2.f
SRC/zgehrd.f
SRC/zgelq2.f
SRC/zgelqf.f
SRC/zgels.f
SRC/zgelsx.f
SRC/zgelsy.f
SRC/zgeql2.f
SRC/zgeqlf.f
SRC/zgeqp3.f
SRC/zgeqpf.f
SRC/zgeqr2.f
SRC/zgeqr2p.f
SRC/zgeqrf.f
SRC/zgeqrfp.f
SRC/zgerq2.f
SRC/zgerqf.f
SRC/zgetrs.f
SRC/zggglm.f
SRC/zgglse.f
SRC/zggqrf.f
SRC/zggrqf.f
SRC/zggsvd.f
SRC/zggsvp.f
SRC/zgtcon.f
SRC/zgtsv.f
SRC/zhecon.f
SRC/zhegs2.f
SRC/zhegst.f
SRC/zhegv.f
SRC/zhegvd.f
SRC/zhegvx.f
SRC/zhesv.f
SRC/zhesvx.f
SRC/zhetd2.f
SRC/zhetf2.f
SRC/zhetrd.f
SRC/zhetrf.f
SRC/zhetri.f
SRC/zhetri2x.f
SRC/zhetrs.f
SRC/zhetrs2.f
SRC/zhpcon.f
SRC/zhpgst.f
SRC/zhpgv.f
SRC/zhpgvd.f
SRC/zhpgvx.f
SRC/zhpsv.f
SRC/zhpsvx.f
SRC/zhptrd.f
SRC/zhptrf.f
SRC/zhptri.f
SRC/zhptrs.f
SRC/zla_gbamv.f
SRC/zla_geamv.f
SRC/zlabrd.f
SRC/zlaed7.f
SRC/zlaein.f
SRC/zlags2.f
SRC/zlagtm.f
SRC/zlahef.f
SRC/zlahr2.f
SRC/zlahrd.f
SRC/zlaic1.f
SRC/zlalsd.f
SRC/zlaqhb.f
SRC/zlaqp2.f
SRC/zlaqps.f
SRC/zlaqsb.f
SRC/zlar1v.f
SRC/zlarf.f
SRC/zlarfb.f
SRC/zlarfg.f
SRC/zlarfgp.f
SRC/zlarft.f
SRC/zlarfx.f
SRC/zlarrv.f
SRC/zlarz.f
SRC/zlarzb.f
SRC/zlarzt.f
SRC/zlasyf.f
SRC/zlatrd.f
SRC/zlatrz.f
SRC/zlatzm.f
SRC/zlauu2.f
SRC/zlauum.f
SRC/zpbcon.f
SRC/zpbsv.f
SRC/zpbsvx.f
SRC/zpbtf2.f
SRC/zpbtrs.f
SRC/zpocon.f
SRC/zposv.f
SRC/zposvx.f
SRC/zpotf2.f
SRC/zpotrf.f
SRC/zpotri.f
SRC/zpotrs.f
SRC/zppcon.f
SRC/zppsv.f
SRC/zppsvx.f
SRC/zpptrf.f
SRC/zpptri.f
SRC/zpptrs.f
SRC/zptcon.f
SRC/zptrfs.f
SRC/zptsv.f
SRC/zptsvx.f
SRC/zpttrf.f
SRC/zpttrs.f
SRC/zptts2.f
SRC/zspcon.f
SRC/zspsv.f
SRC/zspsvx.f
SRC/zsptrf.f
SRC/zsptri.f
SRC/zsptrs.f
SRC/zsycon.f
SRC/zsysv.f
SRC/zsysvx.f
SRC/zsytf2.f
SRC/zsytrf.f
SRC/zsytri.f
SRC/zsytri2x.f
SRC/zsytrs.f
SRC/zsytrs2.f
SRC/ztgex2.f
SRC/ztgexc.f
SRC/ztgsen.f
SRC/ztgsja.f
SRC/ztgsna.f
SRC/ztgsy2.f
SRC/ztgsyl.f
SRC/ztrevc.f
SRC/ztrsen.f
SRC/ztrsna.f
SRC/ztrsyl.f
SRC/ztzrqf.f
SRC/ztzrzf.f
SRC/zungl2.f
SRC/zunglq.f
SRC/zungr2.f
SRC/zungrq.f
SRC/zunm2l.f
SRC/zunm2r.f
SRC/zunml2.f
SRC/zunmlq.f
SRC/zunmql.f
SRC/zunmqr.f
SRC/zunmr2.f
SRC/zunmr3.f
SRC/zunmrq.f
SRC/zunmrz.f
SRC/zupmtr.f

index 4de5366..fc47ca8 100644 (file)
 *  =======
 *
 *  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
          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 )
 *
                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,
index 8acd43a..0493c0f 100644 (file)
      $                   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
index d1148a1..6d85c00 100644 (file)
@@ -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
 *
 *  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);
             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,
                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,
index 72749e3..06c95fb 100644 (file)
 *
 *  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
 *
 *  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
      $                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,
index de14d31..affb98b 100644 (file)
      $                   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 )
index 9237dca..866ff47 100644 (file)
@@ -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
          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 )
index 6f7f985..8cf805d 100644 (file)
@@ -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
             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 )
index ae39d8d..c513d49 100644 (file)
 *
 *  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
index 0c90359..06a6097 100644 (file)
 *
 *  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
index 646d6e8..3fd0e06 100644 (file)
 *
 *           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,
    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,
index b321bc6..1642ea8 100644 (file)
@@ -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
 *
 *     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 )
    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
index e0da0be..636b170 100644 (file)
 *     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 )
    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,
index 2e7c31a..d42fae1 100644 (file)
@@ -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
          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,
index 340f7c2..c99a4b2 100644 (file)
@@ -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
                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,
index e97c55a..d70f613 100644 (file)
@@ -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
index c438538..3ff2984 100644 (file)
@@ -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).
index 9123ba1..28c0b99 100644 (file)
@@ -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),
      $                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
index a869fba..5984104 100644 (file)
@@ -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),
      $                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
index 01d2af1..b5f303b 100644 (file)
@@ -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),
                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,
index 9f96f7d..26dd05d 100644 (file)
@@ -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),
                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,
index 574aa7e..c900b35 100644 (file)
 *
 *  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
index 04e7f53..cf03cde 100644 (file)
 *
 *  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
index 2b85559..62bb3a0 100644 (file)
 *
 *        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 )
index 7bc72af..9e738cc 100644 (file)
 *
 *     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.
      $             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 )
          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,
index 43984c9..e361401 100644 (file)
 *
 *     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.
      $             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,
          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 )
index d409bfb..7f8fb74 100644 (file)
@@ -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.
 *
 *  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),
 *
 *  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
       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 )
index 5ed0408..51f3973 100644 (file)
@@ -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
 *
 *  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
 *
 *  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),
       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,
index 0396e58..e830697 100644 (file)
 *  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) ),
 *
 *  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
 *  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.
 *  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
index e4aa67c..f194cbd 100644 (file)
 *
 *  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
 *  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.
 *
          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 )
 *
 *     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
      $      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 )
 *
          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 )
index a279184..67d478b 100644 (file)
      $                   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 )
index 4dc3c47..40c857f 100644 (file)
@@ -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
index 226c17a..a4e0e92 100644 (file)
       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
index f88631f..ebaaf90 100644 (file)
 *  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
       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
 *
    10       CONTINUE
          ELSE
 *
-*           Compute inv(L)*A*inv(L')
+*           Compute inv(L)*A*inv(L**H)
 *
             DO 20 K = 1, N
 *
       ELSE
          IF( UPPER ) THEN
 *
-*           Compute U*A*U'
+*           Compute U*A*U**H
 *
             DO 30 K = 1, N
 *
    30       CONTINUE
          ELSE
 *
-*           Compute L'*A*L
+*           Compute L**H *A*L
 *
             DO 40 K = 1, N
 *
index 10a2c26..c61bd36 100644 (file)
          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 )
    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 )
          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 )
    30          CONTINUE
             ELSE
 *
-*              Compute L'*A*L
+*              Compute L**H*A*L
 *
                DO 40 K = 1, N, NB
                   KB = MIN( N-K+1, NB )
index d8e45a7..6d5c4a3 100644 (file)
          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'
          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'
index 61ee89a..7d0362a 100644 (file)
          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'
          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'
index eb6b875..c07a829 100644 (file)
          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'
          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'
index 2705bb5..5e59ca4 100644 (file)
          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
index ea0c5e2..2a22358 100644 (file)
 *
       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 )
index 89eb1e9..541ac52 100644 (file)
@@ -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),
          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 )
                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 )
          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 )
                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 )
index 99c1150..5d41a37 100644 (file)
 *  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
 *  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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index 367aca1..2868958 100644 (file)
@@ -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
 *
 *  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),
      $                   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 )
      $                   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,
index c9b94ad..ad6ad54 100644 (file)
@@ -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
 *
       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;
 *
       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;
index 6160f60..582c482 100644 (file)
 *
       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.
 *
       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.
index 6a01d5d..9bafd61 100644 (file)
 
       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 )
 *
          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)
 *
        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 )
 *
 *        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 )
 *
          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)
            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 )
index 9decc88..a7767c0 100644 (file)
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
index 72a9559..90ea801 100644 (file)
@@ -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
 *  =========
 *
       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
          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 )
             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 )
 *
       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
          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 )
             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 )
index c83a0ed..cae21d0 100644 (file)
       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
index acc6acf..f3b607a 100644 (file)
       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)
 *
    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)
 *
       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)
 *
    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)
 *
index 8973bbf..727768a 100644 (file)
          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'
          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'
index f7eb424..4a55b7b 100644 (file)
                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
          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'
          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'
index 1f01775..910fd96 100644 (file)
          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'
          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'
index fcb5d1c..7ff3dc1 100644 (file)
          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
index 390b2c8..d5a6b12 100644 (file)
 *
       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 )
index eeb80e0..82d2fd2 100644 (file)
@@ -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,
          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 )
                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 )
 *
          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 )
                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 ) )
index 13846f9..184d739 100644 (file)
@@ -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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index d02dca8..e922ac1 100644 (file)
 *
       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.
 *
       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.
index 0cfa967..658e893 100644 (file)
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
index 5773177..18c765f 100644 (file)
@@ -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
 *  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.
 *           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
+*  LDA    (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.
 *           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.
 *           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.
index e359364..927cd87 100644 (file)
@@ -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.
 *           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.
 *           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.
 *           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.
index c96fe00..f731337 100644 (file)
@@ -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
 *
 *  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.
 *  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:
index 2f773a4..c8c3433 100644 (file)
@@ -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
index b036e9e..75b5c5e 100644 (file)
       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,
index 508d3ea..4b035d3 100644 (file)
 *  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
          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
             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,
 *
          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
             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 )
          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
             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 )
 *
          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
             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 )
index 990f406..c0cfae9 100644 (file)
   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
   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
index 5527f20..3b30a2f 100644 (file)
 *  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
 *
 *        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)
 *
 *        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)
index ddf73b8..9c002c2 100644 (file)
@@ -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:
 *
 *           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)
      $                  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,
index f7b97b6..ffabde3 100644 (file)
@@ -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:
 *
 *           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)
 *
 *           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 )
index 37877d6..f17c2b6 100644 (file)
@@ -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
 *  =========
index a670b0c..da84ca1 100644 (file)
          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
                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
index 199a902..c648dd2 100644 (file)
@@ -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
index a96fa28..61ec1bf 100644 (file)
 *
          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
index acc4d47..ba4bf1c 100644 (file)
@@ -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).
          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
 *
 *        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 ),
    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
          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,
 *
 *     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,
index bcd97d6..8ea7adf 100644 (file)
@@ -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
index f27e46f..9fff18c 100644 (file)
 *
 *  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
 *  =========
 *
 *  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.
 *
 *  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
 *           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
 *  ===============
index e4ee75c..c9fd3ef 100644 (file)
 *  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
 *
          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
             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
index 9fd89d6..c4980bd 100644 (file)
 *  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).
 *
             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'
 *
      $              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
 *
             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 )
      $                 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,
      $                 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 )
 *
             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,
      $              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
 *
             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 )
      $                 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,
 *
             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,
      $                 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,
                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
 *
             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
 *
                   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 )
 *
             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,
                   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,
      $              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
 *
             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
 *
      $                 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 )
index 786419c..274b899 100644 (file)
 *  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
index 35b8a65..0e189ab 100644 (file)
 *  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
index 3b8b997..d4eff11 100644 (file)
 *  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
 *  =========
                   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,
                   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 )
                      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 ),
                      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,
index 5b76e6e..97e14f1 100644 (file)
@@ -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.
 *
index 42d7d9a..234fb20 100644 (file)
@@ -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
index ead41fe..3327703 100644 (file)
 *  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.
             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 )
             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 )
             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 )
index 82a46c7..099f846 100644 (file)
 *  =========
 *
 *  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).
 *
       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
    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,
 *
       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 )
 *
    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 )
index 8d807ab..3abd29b 100644 (file)
 *
             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 ),
index 136ef5e..ea749f7 100644 (file)
 *  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
 *
 *        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
 *
 *
 *        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
 *
index 24b3ba4..6d736a3 100644 (file)
@@ -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),
 *
 *  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),
 *  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:
index 048892b..a572b8c 100644 (file)
@@ -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 ) )
 *
index 87ec683..ed41044 100644 (file)
@@ -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'.
 *
 *
       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 )
          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 )
index ccfecec..732f420 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the product U * U'.
+*        Compute the product U * U**H.
 *
          DO 10 I = 1, N
             AII = A( I, I )
 *
       ELSE
 *
-*        Compute the product L' * L.
+*        Compute the product L**H * L.
 *
          DO 20 I = 1, N
             AII = A( I, I )
index 498ae80..01e5d4c 100644 (file)
@@ -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).
 *
          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 )
    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 )
index a3f4a89..cb2238a 100644 (file)
       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,
      $                   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,
index e14b5d9..9b23f18 100644 (file)
          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
index 9407a07..cea2d80 100644 (file)
 *
       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
index 4a6bb91..62547f9 100644 (file)
@@ -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
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**H * U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**H.
 *
          DO 20 J = 1, N
 *
index 6db8cd7..857e128 100644 (file)
 *
       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 )
    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
 *
             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 )
index 9faf372..526e441 100644 (file)
       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 )
      $                   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 )
index a37afc6..1520561 100644 (file)
          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
index 6156315..b829faf 100644 (file)
 *
       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 )
index f15d8d0..49d31d8 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**H *U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**H.
 *
          DO 20 J = 1, N
 *
index 34f4541..174e582 100644 (file)
 *
          IF( UPPER ) THEN
 *
-*           Compute the Cholesky factorization A = U'*U.
+*           Compute the Cholesky factorization A = U**H *U.
 *
             DO 10 J = 1, N, NB
 *
 *
          ELSE
 *
-*           Compute the Cholesky factorization A = L*L'.
+*           Compute the Cholesky factorization A = L*L**H.
 *
             DO 20 J = 1, N, NB
 *
index 041b080..1d8ff3b 100644 (file)
@@ -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 )
 *
index 6020d33..fe5e830 100644 (file)
 *
       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 )
      $               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 )
index 10ff477..7b67efc 100644 (file)
       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 )
      $                   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 )
index 0e437b7..f697442 100644 (file)
@@ -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
          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
index 4352299..0997cde 100644 (file)
@@ -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.
 *
 *
 *          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
 *
       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 )
index bf214eb..d308009 100644 (file)
 *
       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
    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
index bcab454..753331a 100644 (file)
@@ -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
 *
       ELSE
 *
-*        Compute the product inv(L)' * inv(L).
+*        Compute the product inv(L)**H * inv(L).
 *
          JJ = 1
          DO 20 J = 1, N
index f9d2c2f..dc06efa 100644 (file)
 *
       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 )
    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
 *
             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 )
index 6ed1103..e60b41b 100644 (file)
 *        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.
 *
          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
index 0e4e9dd..88e6450 100644 (file)
 *           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.
 *
             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
index 9803221..bd263cc 100644 (file)
@@ -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
index 23361c7..6b98480 100644 (file)
 *
       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 )
index d350901..91d20d3 100644 (file)
@@ -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
 *  =========
 *  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
index ed6b5c4..0f5db51 100644 (file)
@@ -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.
 *
 *  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
index 46c5911..6c2785f 100644 (file)
@@ -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.
 *
 *  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
 *
       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 ) )
          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 ) )
          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
                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 )
                   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
index c3ea45e..e907461 100644 (file)
       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
index cbdbbfe..c26d2c4 100644 (file)
          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
index eb6304f..6db4603 100644 (file)
 *
       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 )
index bdd2857..9eac37f 100644 (file)
@@ -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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index 07eeab1..81bf98d 100644 (file)
 *
       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.
 *
       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.
index 753a0c3..bc71d28 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index 5b40df5..1aff138 100644 (file)
       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
index faa9900..c54c41c 100644 (file)
          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
index b73ad9a..0194337 100644 (file)
 *
       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 )
index 64be166..7534c7f 100644 (file)
 *  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
 *  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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index 2084d96..a3dac79 100644 (file)
@@ -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
 *  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
 *
       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;
 *
       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;
index 8b54abe..d2de840 100644 (file)
 *
       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.
 *
       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.
index a10661b..489bf45 100644 (file)
 
       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 )
 *
          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)
 *
        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 )
 *
 *        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 )
 *
          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)
            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 )
index 4f23061..c4233a3 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index d90ff47..abe7079 100644 (file)
 *
       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
          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 )
             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 )
 *
       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
          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 )
             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 )
index 8114b09..8008ea3 100644 (file)
@@ -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
       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 )
index e048435..06f3c7a 100644 (file)
@@ -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
 *  =========
index 8312f2f..de9b77e 100644 (file)
@@ -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
 *  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).
 *
 *  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.).
index 9a14ff6..3f07b22 100644 (file)
 *
 *  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:
 *
 *  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,
 *
                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 ) )
index 37c11e3..1e832e4 100644 (file)
 *  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.
 *
 *         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.
 *
index b762b23..a9fdf83 100644 (file)
       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
 *
index 333cbce..2d3374c 100644 (file)
 *  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)
       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
 *
index 900248f..9bfe2b9 100644 (file)
    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 )
index 2b35ef3..a5eb9d7 100644 (file)
 *  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
      $                      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,
index f538b7d..6ed7f96 100644 (file)
 *  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.
                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
             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 ),
index 721c584..28c930c 100644 (file)
 *
       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
 *
       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
 *
       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
index a98aebd..3e90546 100644 (file)
@@ -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
 *
             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
      $                     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 )
index bcdf422..7afbbd2 100644 (file)
@@ -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 ) )
 *
index daf16e0..03e2967 100644 (file)
@@ -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.
 *
 *
       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 )
index ef32e5c..c180940 100644 (file)
@@ -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.
 *
                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 ),
      $                      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 )
index 4e75e51..3f104be 100644 (file)
@@ -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.
 *
       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
index bd9c416..a09442c 100644 (file)
@@ -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.
 *
                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 ),
      $                      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 )
index 0690423..6aebcaf 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index f710288..69f22ae 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index e923d92..191656d 100644 (file)
 *
 *        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'.
 *  =========
 *
 *  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).
       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 ) )
index acc4c17..c700d85 100644 (file)
@@ -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'.
      $                   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,
index 2312847..cf448bb 100644 (file)
      $                   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,
index 0e7da56..0215f28 100644 (file)
      $                   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,
index e1fc7f0..cea1873 100644 (file)
 *
 *        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'.
 *  =========
 *
 *  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).
       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 ) )
index a9f6321..ce440ab 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index 3ed1cbe..54cea54 100644 (file)
@@ -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'.
      $                   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,
index 55b6262..26c224a 100644 (file)
 *
             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 ),
index 6d6e893..c5ab2e9 100644 (file)
          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 )
             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 )
index 5cefa7f..12f0d8f 100644 (file)
 *  =======
 *
 *  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
          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 )
 *
                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,
index 1e43d4d..7596cf5 100644 (file)
      $                   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
index df13baa..5807773 100644 (file)
@@ -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);
 *
 *  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);
index eb6b6f5..737d85c 100644 (file)
@@ -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);
 *
 *  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);
      $                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,
index b49a91f..207ca98 100644 (file)
      $                   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 )
index 8f8d0b8..98cae6d 100644 (file)
@@ -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.
index 2f914fa..0632f0a 100644 (file)
@@ -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.
index 8853657..e182e5f 100644 (file)
@@ -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
index 0cdfdd0..f3dc450 100644 (file)
@@ -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
             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 )
index 823dc16..8ca127e 100644 (file)
@@ -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),
index 6e67d40..1459051 100644 (file)
@@ -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),
index dc9a92f..53d3fc6 100644 (file)
 *
 *           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,
    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,
index e9194c8..da7b0ce 100644 (file)
@@ -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
 *
 *     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 )
    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
index 9b5a784..4200e4d 100644 (file)
@@ -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
 *     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 )
    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,
index f803702..4e7e724 100644 (file)
@@ -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
index 989468b..9c5edc1 100644 (file)
@@ -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
                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,
index aa47160..fa65ffe 100644 (file)
@@ -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
index e704d43..3809cf4 100644 (file)
@@ -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).
index f21bb79..aa18f8f 100644 (file)
@@ -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),
index b1bd36c..767ea3a 100644 (file)
@@ -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),
index c6bd63f..3d1392d 100644 (file)
@@ -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),
                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,
index 862de90..1960972 100644 (file)
@@ -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),
                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,
index d791750..aff63ee 100644 (file)
@@ -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
index 062638a..67f1192 100644 (file)
@@ -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
index 927d25c..89e13dc 100644 (file)
@@ -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.
      $               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 )
index 12a8208..b75e9af 100644 (file)
 *
 *     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.
      $             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 )
          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,
index 8b80dde..d10c75a 100644 (file)
 *
 *     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.
      $             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 )
          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 )
index edcdb6a..c466032 100644 (file)
@@ -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
 *
 *  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),
 *
 *  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
       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 )
index da8ce67..56d1fc9 100644 (file)
@@ -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
 *
 *  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
 *
 *  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),
       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,
index c03c4ca..9b5bb01 100644 (file)
 *  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:
 *
 *  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
 *  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.
 *  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
index 89f1e09..ce71767 100644 (file)
 *
 *  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.
 *
          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 )
 *
 *     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
      $      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 )
 *
          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 )
index 330a0c9..f90190a 100644 (file)
      $                   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 )
index ab6a9f5..0d81a24 100644 (file)
@@ -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
index c0f246a..85dc22d 100644 (file)
@@ -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.
 *           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.
 *           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.
 *           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.
 *  Level 2 Blas routine.
 *
 *  =====================================================================
-
+*
 *     .. Parameters ..
       DOUBLE PRECISION   ONE, ZERO
       PARAMETER          ( ONE = 1.0D+0, ZERO = 0.0D+0 )
index da11197..37482b4 100644 (file)
@@ -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.
 *           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.
 *           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
 *           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.
index f48ee89..1793c99 100644 (file)
@@ -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
 *          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
 *  ===============
 *
 *  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.
 *
 *  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:
index 72a52a4..015942b 100644 (file)
@@ -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
index 892df31..991b7f2 100644 (file)
          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,
index 2e1ccf0..d854112 100644 (file)
 *  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
 *
          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
             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 /
 *
          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
             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 /
          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
             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 /
 *
          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
             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 /
index 5c8ee6e..4699e19 100644 (file)
    60       CONTINUE
          ELSE
 *
-*           Compute B := B + A'*X
+*           Compute B := B + A**T*X
 *
             DO 80 J = 1, NRHS
                IF( N.EQ.1 ) THEN
   100       CONTINUE
          ELSE
 *
-*           Compute B := B - A'*X
+*           Compute B := B - A**T*X
 *
             DO 120 J = 1, NRHS
                IF( N.EQ.1 ) THEN
index be33157..c31c7c5 100644 (file)
@@ -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.
index c5363d4..87bf422 100644 (file)
@@ -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:
 *
 *           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)
      $                  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,
index 2e46e2f..7fd4736 100644 (file)
@@ -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:
 *
 *           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)
 *
 *           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 )
index bcd4bd2..b62a69d 100644 (file)
@@ -40,7 +40,7 @@
 *      diag(sest*sest, 0) + [alpha  gamma] * [ alpha ]
 *                                            [ gamma ]
 *
-*  where  alpha =  x'*w.
+*  where  alpha =  x**T*w.
 *
 *  Arguments
 *  =========
index eac307a..2a67755 100644 (file)
 *
          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
index e1ba122..150b081 100644 (file)
          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 ),
 *
 *        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 ),
    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
          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,
 *
 *     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,
index a57db19..84eb9f4 100644 (file)
@@ -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
index e56a1c2..18c42f4 100644 (file)
@@ -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:
 *
          ELSE
 *
-*           Solve (T + iB)'*(p+iq) = c+id
+*           Solve (T + iB)**T*(p+iq) = c+id
 *
             JNEXT = 1
             DO 80 J = 1, N
index 7dfaabf..43d6f5e 100644 (file)
 *
 *  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
 *  =========
 *
 *  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
 *
 *  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
index 2223d71..ebc6877 100644 (file)
@@ -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.
 *
 *
          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
             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
index 3c5cb4e..024a0b4 100644 (file)
 *  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
 *
 *  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)
 *
 *
             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 )
      $              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,
      $                 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,
      $                 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
 *
             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 )
      $                 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,
      $                 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 )
 *
             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,
      $              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
 *
             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 )
      $                 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 )
 *
                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,
 *
             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,
      $                 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,
                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
 *
             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
 *
                   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,
      $                 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 )
 *
             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,
      $              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
 *
             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
 *
      $                 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 )
index 36e5d89..e8190d5 100644 (file)
 *  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
index e65bf47..3c5819f 100644 (file)
 *  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
index 9b05e86..fde95a0 100644 (file)
 *  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
 *  =========
                   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,
                   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,
                      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,
                      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,
index 6f056e1..24a0258 100644 (file)
@@ -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.
 *
index 8adcd24..e5bd217 100644 (file)
@@ -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
index 1b6570f..0200d89 100644 (file)
@@ -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.
 *
 *
             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 )
             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 )
             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 )
index 9fc839d..fbe5a9a 100644 (file)
 *  =========
 *
 *  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).
 *
       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,
          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
    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,
 *
       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 )
 *
    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 )
index 0f73475..dbbe29c 100644 (file)
 *
             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,
index f13a2ab..797cc0c 100644 (file)
@@ -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.
index 0e817cb..cd69b1e 100644 (file)
 *  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.
 *
 *        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
 *
 *
 *        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
 *
index 1b5b603..0c39a82 100644 (file)
@@ -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),
 *
 *  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),
 *  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:
index 07e581b..2fac6e8 100644 (file)
@@ -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 ) )
 *
index 2d735fe..f7a688f 100644 (file)
@@ -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'.
 *
 *
       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 )
          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 )
index 77bda09..1e6bdfe 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the product U * U'.
+*        Compute the product U * U**T.
 *
          DO 10 I = 1, N
             AII = A( I, I )
 *
       ELSE
 *
-*        Compute the product L' * L.
+*        Compute the product L**T * L.
 *
          DO 20 I = 1, N
             AII = A( I, I )
index 21734b7..fb9fdb5 100644 (file)
@@ -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).
 *
          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 )
    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 )
index abe409c..eb83f24 100644 (file)
                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,
      $                      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 )
index c2e0a91..b4499c8 100644 (file)
                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 )
index 27489cb..ac1990a 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
index 9959c33..6e84745 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
index dca1bc8..ab784bb 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
index aa1b839..edb381f 100644 (file)
      $                   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,
index 29affb6..f4e9dcf 100644 (file)
      $                   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,
index 1cf67e1..5cc54e1 100644 (file)
      $                   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,
index 9a8ce03..8c1fcae 100644 (file)
 *
 *        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).
index 94b960f..cf33553 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index 097a1a0..07d54b8 100644 (file)
      $                   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,
index b9f775a..a6c5f2a 100644 (file)
 *
             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 ),
index e474b6a..297cc2a 100644 (file)
       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 ),
      $                   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 ),
index 0095f56..e4a89bc 100644 (file)
          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
index 6469b1e..4986097 100644 (file)
 *
       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
index 1b6b1bf..2296f8b 100644 (file)
@@ -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
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**T*U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**T.
 *
          DO 20 J = 1, N
 *
index 951df58..eb1dcd7 100644 (file)
 *
       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 )
    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
 *
             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 )
index 6456e60..6e6a108 100644 (file)
       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 )
      $                   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 )
index 57a4682..c93b9fd 100644 (file)
          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
index c2744f7..a9ce927 100644 (file)
 *
       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 )
index feaa553..6c7adae 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**T *U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**T.
 *
          DO 20 J = 1, N
 *
index 271e929..e3d7baf 100644 (file)
 *
          IF( UPPER ) THEN
 *
-*           Compute the Cholesky factorization A = U'*U.
+*           Compute the Cholesky factorization A = U**T*U.
 *
             DO 10 J = 1, N, NB
 *
 *
          ELSE
 *
-*           Compute the Cholesky factorization A = L*L'.
+*           Compute the Cholesky factorization A = L*L**T.
 *
             DO 20 J = 1, N, NB
 *
index b3d0eb4..e0c7a75 100644 (file)
@@ -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 )
 *
index 7b199d0..6851fea 100644 (file)
 *
       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 )
      $               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 )
index c0040af..239fd8d 100644 (file)
       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 )
      $                   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 )
index 6eb40e2..a8a5fe8 100644 (file)
          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
index cb0cf4e..76051de 100644 (file)
 *                            (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).
 *
 *
       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 )
index 8efaa34..99648e4 100644 (file)
 *
       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
    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
index 80a33f3..b5a317e 100644 (file)
@@ -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
 *
       ELSE
 *
-*        Compute the product inv(L)' * inv(L).
+*        Compute the product inv(L)**T * inv(L).
 *
          JJ = 1
          DO 20 J = 1, N
index d3e93a0..de90cfa 100644 (file)
 *
       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 )
    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
 *
             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 )
index 2b9979c..a0d162c 100644 (file)
 *        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.
 *
          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
index a1d822d..2f7dfd9 100644 (file)
 *           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.
 *
             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
index a7e0a28..c1975f2 100644 (file)
@@ -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
index 6717ea5..9b4fd27 100644 (file)
 *
       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 )
index dae49d2..adffa11 100644 (file)
@@ -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
 *  =========
 *  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
index b12a905..d0ea407 100644 (file)
@@ -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.
 *
 *  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
index 17abc09..f5e1aa7 100644 (file)
@@ -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.
 *
 *  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
index c3467fe..f145711 100644 (file)
       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
index d806c5d..86729f6 100644 (file)
       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)
 *
    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)
 *
       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)
 *
    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)
 *
index 918d7ef..9369275 100644 (file)
          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'
          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'
index 63ffad0..323645a 100644 (file)
          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
          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'
          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'
index 0747ff8..11c88f5 100644 (file)
          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'
          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'
index 3c04c48..7af58c4 100644 (file)
          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
index aa03894..6f1da4b 100644 (file)
 *
       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 )
index f91adbd..331dd2a 100644 (file)
@@ -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,
          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 )
                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 )
 *
          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 )
                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 ) )
index 5853891..889596b 100644 (file)
@@ -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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index bc69a17..48b0eb0 100644 (file)
 *
       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.
 *
       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.
index 1fd67b5..26e6b95 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index 6326a1c..209ea1c 100644 (file)
       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
index 7d0f87c..100c99d 100644 (file)
 *  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
       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
 *
    10       CONTINUE
          ELSE
 *
-*           Compute inv(L)*A*inv(L')
+*           Compute inv(L)*A*inv(L**T)
 *
             DO 20 K = 1, N
 *
       ELSE
          IF( UPPER ) THEN
 *
-*           Compute U*A*U'
+*           Compute U*A*U**T
 *
             DO 30 K = 1, N
 *
    30       CONTINUE
          ELSE
 *
-*           Compute L'*A*L
+*           Compute L**T *A*L
 *
             DO 40 K = 1, N
 *
index c1b2a95..97ad94c 100644 (file)
          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 )
    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 )
          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 )
    30          CONTINUE
             ELSE
 *
-*              Compute L'*A*L
+*              Compute L**T*A*L
 *
                DO 40 K = 1, N, NB
                   KB = MIN( N-K+1, NB )
index 43607d3..9fc2c25 100644 (file)
          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'
          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'
index f123fa8..857abfd 100644 (file)
          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'
          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'
index b0108d9..e70009d 100644 (file)
          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'
          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'
index 65ba671..5979f38 100644 (file)
          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
index 89ae68f..3149606 100644 (file)
 *
       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 )
index f3e6f0a..da799b9 100644 (file)
@@ -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),
 *
          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 )
                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 )
 *
          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,
                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 )
index 261651f..689ef11 100644 (file)
 *  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
 *  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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index befbee3..1bc8fec 100644 (file)
@@ -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
 *
 *  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),
      $                   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 )
      $                   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,
index e0a1b19..377aa21 100644 (file)
@@ -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
 *  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
 *
       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;
 *
       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;
index 4cbc40e..3e7d88e 100644 (file)
 *
       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.
 *
       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.
index d0481f5..52d9953 100644 (file)
 
       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 )
 *
          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)
 *
        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 )
 *
 *        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 )
 *
          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)
            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 )
index 65cc729..7a4a0f7 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index 3e2e674..9e256d8 100644 (file)
 *
       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
          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 )
             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 )
 *
       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
          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 )
             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 )
index c15bf9c..2c56acd 100644 (file)
          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 )
index 9334ba8..9362fe2 100644 (file)
@@ -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
          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 )
 *
 *        Compute orthogonal matrix QL:
 *
-*                    QL' * LI = [ TL ]
-*                               [ 0  ]
+*                    QL**T * LI = [ TL ]
+*                                 [ 0  ]
 *        where
 *                    LI =  [      -L              ]
 *                          [ SCALE * identity(N2) ]
 *
 *        Compute orthogonal matrix RQ:
 *
-*                    IR * RQ' =   [ 0  TR],
+*                    IR * RQ**T =   [ 0  TR],
 *
 *         where IR = [ SCALE * identity(N1), R ]
 *
          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 )
index 4262778..56158d4 100644 (file)
@@ -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
index 5c269fd..583d087 100644 (file)
@@ -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-
 *  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
 *
 *  (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.).
 *  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.
 *
index cd011e8..1cb3b24 100644 (file)
 *
 *  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,
 *  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
                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 )
index 2b2c4fe..4f3d1dc 100644 (file)
@@ -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),
 *  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.
 *
 *
 *     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
 *
 *
 *     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
 *
 *     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
 *                    [ 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
index c86a235..72dcf69 100644 (file)
       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
 *
index 3712c07..1b82a5c 100644 (file)
 *  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)
       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
index c5d1ee8..f0ac8d3 100644 (file)
          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
index bbb2d45..a37e226 100644 (file)
@@ -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.
 *  
   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
      $                             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,
 *              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
index 4ecf6fa..49fedcc 100644 (file)
          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 )
index 28e62c6..ba5528c 100644 (file)
 *  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
 *
 *  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
      $                      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,
index 33e1d99..6595d87 100644 (file)
 *  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.
 *
 *                 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.
 *
                   NN = 2*( N-1 )
                END IF
 *
-*              Estimate norm(inv(C'))
+*              Estimate norm(inv(C**T))
 *
                EST = ZERO
                KASE = 0
                   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,
                      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,
index ec3e23d..e63db3c 100644 (file)
 *
       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)
 *
       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)
 *
       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)
index 5652be5..cbec29e 100644 (file)
@@ -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
      $                     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,
index 1a4c307..bf7135b 100644 (file)
@@ -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 ) )
 *
index ccf61e0..b219386 100644 (file)
 *  =======
 *
 *  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
          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 )
 *
                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,
index b4b3c68..473c4eb 100644 (file)
      $                   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
index 86875f0..4a782f7 100644 (file)
@@ -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);
 *
 *  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);
index 47eb1e1..9a49eac 100644 (file)
@@ -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);
 *
 *  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);
      $                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,
index a2a1112..56c3023 100644 (file)
      $                   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 )
index d74fe71..87b9861 100644 (file)
@@ -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.
index b3124a7..483930f 100644 (file)
@@ -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.
index f8419d2..466fef4 100644 (file)
@@ -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
index 1a76c89..3ba7851 100644 (file)
@@ -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
             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 )
index 45eee7d..d7f5c10 100644 (file)
@@ -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),
index 8eac302..40140ff 100644 (file)
@@ -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),
index 0c34a0e..d20e4f0 100644 (file)
 *
 *           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,
    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,
index 409ba1a..b7ea0f1 100644 (file)
@@ -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
 *
 *     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 )
    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
index 3a7b84c..9e7bcd1 100644 (file)
@@ -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
 *     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 )
    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,
index 35db4a2..91e1aa3 100644 (file)
@@ -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
index 79914c2..65aa74a 100644 (file)
@@ -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
                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,
index fdd9170..12bfb58 100644 (file)
@@ -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
index 2312488..1c63141 100644 (file)
@@ -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).
index 666015f..e5fce4a 100644 (file)
@@ -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),
index b2b9133..070e93b 100644 (file)
@@ -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),
index 203e7fb..a2b71d8 100644 (file)
@@ -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),
                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,
index 08f2c89..6c6493f 100644 (file)
@@ -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),
                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,
index ea4a1af..3f6e572 100644 (file)
@@ -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
index 8f4a268..639906a 100644 (file)
@@ -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
index 558e6e8..5aae04d 100644 (file)
@@ -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.
      $               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 )
index a2b107d..4b5eac4 100644 (file)
 *
 *     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.
      $             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 )
          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,
index e8e3b76..706853d 100644 (file)
 *
 *     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.
      $             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 )
             RETURN
          END IF
 *
-*        Put the solution in X
+*        Put the solutions in X
 *
          CALL SCOPY( N-P, C, 1, X, 1 )
       END IF
          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 )
index 6f76c50..bb4f50f 100644 (file)
@@ -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
 *
 *  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),
 *
 *  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
       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 )
index c752c7b..aed20ed 100644 (file)
@@ -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
 *
 *  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
 *
 *  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),
       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,
index 65b0e7f..61405d7 100644 (file)
 *  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:
 *
 *  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
 *  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.
 *  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
index a62fbea..4b633f3 100644 (file)
 *
 *  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.
 *
          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 )
 *
 *     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
      $      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 )
 *
          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 )
index 3d45394..53e8eb1 100644 (file)
      $                   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 )
index a8d7738..b2de976 100644 (file)
@@ -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
index f5fbfe1..cab2aa1 100644 (file)
@@ -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.
 *           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.
 *           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.
 *           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.
index ca9e1ba..2968199 100644 (file)
@@ -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.
 *           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.
 *           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
 *           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.
index 5a1b222..a4e3a7a 100644 (file)
@@ -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
 *          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
 *  ===============
 *
 *  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.
 *
 *  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:
index 98ca681..b0fd20e 100644 (file)
@@ -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
index b43fed4..557d20c 100644 (file)
          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,
index da34ecc..e2b854c 100644 (file)
 *  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
 *
          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
             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 /
 *
          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
             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 /
          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
             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 /
 *
          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
             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 /
index a91fbdd..fe96b30 100644 (file)
    60       CONTINUE
          ELSE
 *
-*           Compute B := B + A'*X
+*           Compute B := B + A**T*X
 *
             DO 80 J = 1, NRHS
                IF( N.EQ.1 ) THEN
   100       CONTINUE
          ELSE
 *
-*           Compute B := B - A'*X
+*           Compute B := B - A**T*X
 *
             DO 120 J = 1, NRHS
                IF( N.EQ.1 ) THEN
index 619a4e2..16e9538 100644 (file)
@@ -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.
index 2a9d264..1d63053 100644 (file)
@@ -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:
 *
 *           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)
      $                  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,
index fc6d5a1..9c99546 100644 (file)
@@ -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:
 *
 *           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)
 *
 *           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 )
index fb3a94e..ab4680a 100644 (file)
@@ -40,7 +40,7 @@
 *      diag(sest*sest, 0) + [alpha  gamma] * [ alpha ]
 *                                            [ gamma ]
 *
-*  where  alpha =  x'*w.
+*  where  alpha =  x**T*w.
 *
 *  Arguments
 *  =========
index 337ddc6..d838c8f 100644 (file)
 *
          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
index f251cab..ed99d00 100644 (file)
          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 ),
 *
 *        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 ),
    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
          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,
 *
 *     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,
index 14647a7..d693fab 100644 (file)
@@ -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
index 52a4027..46843f0 100644 (file)
@@ -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:
 *
          ELSE
 *
-*           Solve (T + iB)'*(p+iq) = c+id
+*           Solve (T + iB)**T*(p+iq) = c+id
 *
             JNEXT = 1
             DO 80 J = 1, N
index 19287c6..1c059ed 100644 (file)
 *
 *  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
 *  =========
 *
 *  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.
 *
 *  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
 *           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
 *  ===============
index b1e1539..380d808 100644 (file)
@@ -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.
 *
 *
          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
             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
index a4f23c1..597aaaf 100644 (file)
 *  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
 *
 *  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)
 *
 *
             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 )
      $              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,
      $                 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,
      $                 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
 *
             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 )
      $                 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,
      $                 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 )
 *
             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,
      $              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
 *
             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 )
      $                 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 )
 *
                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,
 *
             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,
      $                 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,
                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
 *
             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
 *
                   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,
      $                 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 )
 *
             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,
      $              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
 *
             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
 *
      $                 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 )
index 9da24ab..8afa18d 100644 (file)
 *  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
index 5b08c06..14f6134 100644 (file)
 *  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
index f4eaab0..d280183 100644 (file)
 *  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
 *  =========
                   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,
                   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,
                      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,
                      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,
index e227989..3af7f92 100644 (file)
@@ -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.
 *
index a59cd94..aa60876 100644 (file)
@@ -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
index 22ab06f..f842ee0 100644 (file)
@@ -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.
 *
 *
             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 )
             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 )
             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 )
index fcd26c8..1c335cc 100644 (file)
 *  =========
 *
 *  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).
 *
       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,
          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
    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,
 *
       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 )
 *
    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 )
index a30ecb1..077ee70 100644 (file)
 *
             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,
index b76a6fd..4fae39a 100644 (file)
@@ -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.
index 71d7ab0..b905388 100644 (file)
 *  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.
 *
 *        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
 *
 *
 *        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
 *
index 9672401..f73fecc 100644 (file)
@@ -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),
 *
 *  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),
 *  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:
index 0359a26..a5852bc 100644 (file)
@@ -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 ) )
 *
index 54574f3..1694dd6 100644 (file)
@@ -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'.
 *
 *
       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 )
          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 )
index 25e9c82..e1eb9c6 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the product U * U'.
+*        Compute the product U * U**T.
 *
          DO 10 I = 1, N
             AII = A( I, I )
 *
       ELSE
 *
-*        Compute the product L' * L.
+*        Compute the product L**T * L.
 *
          DO 20 I = 1, N
             AII = A( I, I )
index 581767d..de0081c 100644 (file)
@@ -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).
 *
          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 )
    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 )
index d284670..8285f32 100644 (file)
                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,
      $                      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 )
index 7577739..82814d2 100644 (file)
                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 )
index a261a78..e8fc91f 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
index fb907dd..971e539 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
index 78f5d76..4501505 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
index 54142f9..d291876 100644 (file)
      $                   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,
index 37a2bac..7ed15d7 100644 (file)
      $                   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,
index 1193cf1..a35c71d 100644 (file)
      $                   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,
index 966f76a..05e3293 100644 (file)
 *
 *        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).
index 9bc3430..541a2d2 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index 042de56..cfb7267 100644 (file)
      $                   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,
index 149eb6c..801f137 100644 (file)
 *
             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 ),
index 76a9829..0fb53dd 100644 (file)
       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 ),
      $                   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 ),
index a2abc6f..b32d58a 100644 (file)
          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
index 4c4d5f3..95dc5ac 100644 (file)
 *
       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
index f20207a..6dd688e 100644 (file)
@@ -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
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**T*U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**T.
 *
          DO 20 J = 1, N
 *
index 00733da..a52834b 100644 (file)
 *
       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 )
    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
 *
             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 )
index 2880cd7..0a50fa1 100644 (file)
       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 )
      $                   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 )
index f88006e..19909a3 100644 (file)
          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
index fa1c116..090ae30 100644 (file)
 *
       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 )
index fd8d189..2b8d515 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**T *U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**T.
 *
          DO 20 J = 1, N
 *
index 0af0c91..45dc72b 100644 (file)
 *
          IF( UPPER ) THEN
 *
-*           Compute the Cholesky factorization A = U'*U.
+*           Compute the Cholesky factorization A = U**T*U.
 *
             DO 10 J = 1, N, NB
 *
 *
          ELSE
 *
-*           Compute the Cholesky factorization A = L*L'.
+*           Compute the Cholesky factorization A = L*L**T.
 *
             DO 20 J = 1, N, NB
 *
index 59c21cc..401a792 100644 (file)
@@ -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 )
 *
index 6c2c7cb..1792841 100644 (file)
 *
       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 )
      $               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 )
index ddc9ec9..1d49275 100644 (file)
       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 )
      $                   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 )
index 2b71a06..e0f4259 100644 (file)
          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
index 578785b..b7be904 100644 (file)
 *                            (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).
 *
 *
       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 )
index 1ec242f..b0d7cd2 100644 (file)
 *
       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
    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
index ff4e850..5bb7961 100644 (file)
@@ -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
 *
       ELSE
 *
-*        Compute the product inv(L)' * inv(L).
+*        Compute the product inv(L)**T * inv(L).
 *
          JJ = 1
          DO 20 J = 1, N
index d729ed1..b099f55 100644 (file)
 *
       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 )
    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
 *
             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 )
index b556e8d..7266677 100644 (file)
 *        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.
 *
          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
index 865205c..2b7e3b6 100644 (file)
 *           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.
 *
             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
index f46a9b2..09b0861 100644 (file)
@@ -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
index 4ceb923..8e1fa86 100644 (file)
 *
       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 )
index 1cc6a92..ab88d09 100644 (file)
@@ -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
 *  =========
 *  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
index 3521666..d4a9e5f 100644 (file)
@@ -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.
 *
 *  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
index fdc5699..6e185fd 100644 (file)
@@ -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.
 *
 *  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
index 9afbaea..7b2d467 100644 (file)
       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
index b8a0ca9..f448225 100644 (file)
       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)
 *
    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)
 *
       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)
 *
    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)
 *
index 269a53d..27ea007 100644 (file)
          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'
          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'
index 682a485..48cb24b 100644 (file)
          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
          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'
          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'
index f8717c8..26f0b71 100644 (file)
          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'
          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'
index de14e87..a199499 100644 (file)
          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
index 364a770..f1a2f86 100644 (file)
 *
       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 )
index e4eabbf..4599f50 100644 (file)
@@ -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,
          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 )
                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 )
 *
          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 )
                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 ) )
index 8e6b3be..3b38eb8 100644 (file)
@@ -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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index a00872b..634f6f2 100644 (file)
 *
       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.
 *
       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.
index 80e2e71..04b95d2 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index 377aa80..fe5dc16 100644 (file)
       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
index 50c73ab..b1b940e 100644 (file)
 *  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
       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
 *
    10       CONTINUE
          ELSE
 *
-*           Compute inv(L)*A*inv(L')
+*           Compute inv(L)*A*inv(L**T)
 *
             DO 20 K = 1, N
 *
       ELSE
          IF( UPPER ) THEN
 *
-*           Compute U*A*U'
+*           Compute U*A*U**T
 *
             DO 30 K = 1, N
 *
    30       CONTINUE
          ELSE
 *
-*           Compute L'*A*L
+*           Compute L**T *A*L
 *
             DO 40 K = 1, N
 *
index e9fb56d..7537b7b 100644 (file)
          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 )
    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 )
          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 )
    30          CONTINUE
             ELSE
 *
-*              Compute L'*A*L
+*              Compute L**T*A*L
 *
                DO 40 K = 1, N, NB
                   KB = MIN( N-K+1, NB )
index e1c623e..a05dd70 100644 (file)
          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'
          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'
index 432eb1a..6dd5738 100644 (file)
          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'
          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'
index d8446f2..7a6aa96 100644 (file)
          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'
          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'
index 9743dd8..fdaa147 100644 (file)
          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
index 4dcc0e1..7776f41 100644 (file)
 *
       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 )
index 576450d..e15280e 100644 (file)
@@ -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),
 *
          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 )
                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 )
 *
          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,
                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 )
index c20b474..d94f7f7 100644 (file)
 *  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
 *  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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index 3399e5e..b122d9c 100644 (file)
@@ -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
 *
 *  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),
      $                   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 )
      $                   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,
index 46a1af8..6fb06d7 100644 (file)
@@ -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
 *  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
 *
       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;
 *
       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;
index 0ce0701..118fc6b 100644 (file)
 *
       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.
 *
       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.
index 9c16305..ea07f02 100644 (file)
 
       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 )
 *
          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)
 *
        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 )
 *
 *        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 )
 *
          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)
            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 )
index 9d2c806..80600ea 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index ff212ea..2091ac9 100644 (file)
@@ -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
 *
       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
          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 )
             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 )
 *
       ELSE
 *
-*        Solve A*X = B, where A = L*D*L'.
+*        Solve A*X = B, where A = L*D*L**T.
 *
 *       P' * B  
         K=1
          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 )
             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 )
index 178d3af..98a4fc9 100644 (file)
          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 )
index d77670a..2c3ea65 100644 (file)
@@ -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
          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 )
 *
 *        Compute orthogonal matrix QL:
 *
-*                    QL' * LI = [ TL ]
-*                               [ 0  ]
+*                    QL**T * LI = [ TL ]
+*                                 [ 0  ]
 *        where
 *                    LI =  [      -L              ]
 *                          [ SCALE * identity(N2) ]
 *
 *        Compute orthogonal matrix RQ:
 *
-*                    IR * RQ' =   [ 0  TR],
+*                    IR * RQ**T =   [ 0  TR],
 *
 *         where IR = [ SCALE * identity(N1), R ]
 *
          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 )
index 7ff8bd6..8c9c834 100644 (file)
@@ -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
index fd9702d..356e986 100644 (file)
@@ -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-
 *  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
 *
 *  (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.).
 *  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.
 *
index d96bad5..af472d8 100644 (file)
 *
 *  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,
 *  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
                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 )
index 39fb8ee..d3db541 100644 (file)
@@ -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),
 *  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.
 *
 *
 *     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
 *
 *
 *     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
 *
 *     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
 *                    [ 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
index 2f57f3c..20a4ae5 100644 (file)
       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
 *
index beff047..f2c2a94 100644 (file)
 *  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)
       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
index d73f59c..c8bd6cd 100644 (file)
          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
index 1ffb629..82fe2fb 100644 (file)
@@ -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.
 *  
   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
      $                             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,
 *              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
index 2a368d9..42766a2 100644 (file)
          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 )
index 8054d6c..724de08 100644 (file)
 *  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
 *
 *  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
      $                      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,
index 5324b79..62c90af 100644 (file)
 *  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.
 *
 *                 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.
 *
                   NN = 2*( N-1 )
                END IF
 *
-*              Estimate norm(inv(C'))
+*              Estimate norm(inv(C**T))
 *
                EST = ZERO
                KASE = 0
                   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,
                      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,
index f2246ac..c947a07 100644 (file)
 *
       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)
 *
       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)
 *
       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)
index 9f6fef8..a7f0b77 100644 (file)
@@ -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
      $                     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,
index b3f6ead..b333b1b 100644 (file)
@@ -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 ) )
 *
index 66e0d5c..e556485 100644 (file)
 *  =======
 *
 *  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
          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 )
 *
                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,
index 37138bb..82d8829 100644 (file)
      $                   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
index 5effb30..2d2db95 100644 (file)
@@ -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
 *
 *  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);
             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,
                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,
index b78bbc7..fcc4bdf 100644 (file)
@@ -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
 *
 *  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
      $                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,
index b969b58..c74680f 100644 (file)
      $                   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 )
index 59d2fe6..b545b15 100644 (file)
@@ -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
          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 )
index 2599aad..becbd5f 100644 (file)
@@ -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
             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 )
index 57d5dec..f0118ca 100644 (file)
 *
 *  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
index c4ebe46..1417b7f 100644 (file)
 *
 *  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
index 2e52b01..e9bb64e 100644 (file)
 *
 *           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,
    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,
index 73182e7..40653f2 100644 (file)
@@ -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
 *
 *     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 )
    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
index adacdf6..929c511 100644 (file)
@@ -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
 *     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 )
    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,
index 99c20d9..0287bb0 100644 (file)
@@ -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
          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,
index 8fb6442..3579972 100644 (file)
@@ -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
                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,
index 870d273..234b09d 100644 (file)
@@ -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
index c5808a1..9912913 100644 (file)
@@ -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).
index fb397f1..d829a2f 100644 (file)
@@ -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),
      $                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
index 6ad8feb..03a755f 100644 (file)
@@ -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),
      $                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
index e0a2eeb..9312a3e 100644 (file)
@@ -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),
                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,
index a3d1d6e..138aeb9 100644 (file)
@@ -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),
                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,
index ab57793..92d1aca 100644 (file)
 *
 *  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
index 7a86a18..9a825b6 100644 (file)
 *
 *  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
index ce459b5..c9086d2 100644 (file)
 *
 *        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 )
index 8f3a035..3ede5ed 100644 (file)
 *
 *     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.
      $             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 )
          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,
index 853b0aa..2c021cc 100644 (file)
@@ -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
 *
 *     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.
      $             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,
          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 )
index b04615b..a5c652f 100644 (file)
@@ -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
 *
 *  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),
 *
 *  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
       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 )
index c112c5f..29dbf09 100644 (file)
@@ -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
 *
 *  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
 *
 *  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),
       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,
index 6727531..c7be33f 100644 (file)
 *  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:
 *
 *
 *  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
 *  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.
 *  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
index 8db862f..6d2373a 100644 (file)
 *
 *  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
 *  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.
 *
          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 )
 *
 *     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
      $      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 )
 *
          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 )
index 1b2e1ff..46cb8f0 100644 (file)
      $                   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 )
index 92cf415..291ea43 100644 (file)
@@ -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
index 5b35d75..44ed425 100644 (file)
       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
index 05e90b5..8e28624 100644 (file)
 *  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
       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
 *
    10       CONTINUE
          ELSE
 *
-*           Compute inv(L)*A*inv(L')
+*           Compute inv(L)*A*inv(L**H)
 *
             DO 20 K = 1, N
 *
       ELSE
          IF( UPPER ) THEN
 *
-*           Compute U*A*U'
+*           Compute U*A*U**H
 *
             DO 30 K = 1, N
 *
    30       CONTINUE
          ELSE
 *
-*           Compute L'*A*L
+*           Compute L**H *A*L
 *
             DO 40 K = 1, N
 *
index 74dae9a..e2ae9ba 100644 (file)
          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 )
    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 )
          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 )
    30          CONTINUE
             ELSE
 *
-*              Compute L'*A*L
+*              Compute L**H*A*L
 *
                DO 40 K = 1, N, NB
                   KB = MIN( N-K+1, NB )
index 226ae26..4593bf5 100644 (file)
          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'
          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'
index 786cbe1..4f961ef 100644 (file)
          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'
          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'
index cf11803..f002b64 100644 (file)
          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'
          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'
index ed6a06f..8ea5533 100644 (file)
          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
index 8591af7..a2d1313 100644 (file)
 *
       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 )
index 997e6a0..464702e 100644 (file)
@@ -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),
 *     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
          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 )
                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 )
          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 )
                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 )
index 78c5cfe..b1980d0 100644 (file)
 *  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
 *  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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index e2f2001..f406b01 100644 (file)
@@ -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
 *
 *  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),
      $                   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 )
      $                   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,
index 21085b1..5d21da9 100644 (file)
@@ -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
 *
       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;
 *
       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;
index afe2650..8e4d66c 100644 (file)
 *
       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.
 *
       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.
index 71e780e..67ee4b9 100644 (file)
 
       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 )
 *
          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)
 *
        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 )
 *
 *        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 )
 *
          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)
            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 )
index 395f786..86a5327 100644 (file)
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
index d57620d..d0259b8 100644 (file)
@@ -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
 *  =========
 *
       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
          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 )
             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 )
 *
       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
          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 )
             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 )
index d87fd6b..07ccf50 100644 (file)
       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
index 3f560ff..8cfa244 100644 (file)
       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)
 *
    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)
 *
       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)
 *
    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)
 *
index daa5064..269fd49 100644 (file)
          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'
          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'
index bb26e8e..94e5904 100644 (file)
@@ -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.
          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'
          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'
index ea41c03..0770eeb 100644 (file)
          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'
          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'
index d6ae4a2..811bd0f 100644 (file)
          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
index 1e464fd..80341a2 100644 (file)
 *
       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 )
index d59fd0d..403bc4c 100644 (file)
@@ -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,
          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 )
                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 )
 *
          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 )
                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 ) )
index 8981cb9..d3aecf0 100644 (file)
@@ -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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index eadcd25..738359f 100644 (file)
 *
       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.
 *
       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.
index cad8345..f302d89 100644 (file)
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
 *
       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.
 *
          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.
 *
 *           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
 *
 *           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
index 3cd59e5..59451f5 100644 (file)
 *  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.
 *           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.
 *           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.
 *           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.
index b0af67a..add4162 100644 (file)
@@ -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.
 *  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.
 *           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.
 *           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.
index b94e7da..bd928a7 100644 (file)
@@ -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
 *
 *  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.
 *  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:
index 8dd3aa7..393ef4f 100644 (file)
@@ -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
index 9c31177..c9c4f50 100644 (file)
       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,
index 6727c21..39b8d58 100644 (file)
 *  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
          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
             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,
 *
          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
             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,
          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
             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 )
 *
          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
             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 )
index 83aff56..7d3bdd6 100644 (file)
   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
   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
index 860d93a..c37a449 100644 (file)
 *  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
 *
 *        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)
 *
 *        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)
index e6bffc2..db31090 100644 (file)
@@ -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:
 *
 *           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)
      $                  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,
index 3ad1684..81d039c 100644 (file)
@@ -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:
 *
 *           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)
 *
 *           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 )
index c5c8ff6..5b73020 100644 (file)
@@ -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
 *  =========
index 24594c7..24cf551 100644 (file)
          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
                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
index 6526162..4ae039f 100644 (file)
@@ -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
index cacdea6..0e70a49 100644 (file)
 *
          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
index cca6352..5dc5207 100644 (file)
@@ -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).
 *    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 ..
          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
 *
 *        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 ),
    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
          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,
 *
 *     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,
index 666109b..5ec4adb 100644 (file)
@@ -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
index 6183b64..fdd8e5b 100644 (file)
 *
 *  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
 *  =========
 *
 *  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
 *
 *  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
index 7b05ed3..4ff7362 100644 (file)
 *  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
 *
          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
             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
index dbed8f5..a2b93be 100644 (file)
 *  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).
 *
             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 )
      $              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,
      $                 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
 *
             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 )
      $                 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,
      $                 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 )
 *
             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,
      $              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,
      $                 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,
      $                 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
 *
             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 )
      $                 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,
 *
             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,
      $                 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,
                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
 *
             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
 *
                   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 )
 *
             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,
                   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,
      $              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
 *
             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
 *
      $                 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 )
index 6d9742f..1c33883 100644 (file)
 *  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
index 98c44a4..bc8af14 100644 (file)
 *  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
index 954f8e2..a3e85c3 100644 (file)
 *  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
 *  =========
                   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,
                   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 )
                      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 ),
                      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,
index 60354d9..686f0e2 100644 (file)
@@ -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.
 *
index 854872f..1849c76 100644 (file)
@@ -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
index d235191..f2a90d0 100644 (file)
 *  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.
             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 )
             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 )
             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 )
index bb51f60..0ee1237 100644 (file)
 *  =========
 *
 *  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).
 *
       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
    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,
 *
       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 )
 *
    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 )
index e283d57..2ae745e 100644 (file)
 *
             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 ),
index 1e29fcc..a4a8d54 100644 (file)
 *  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
 *
 *        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
 *
 *
 *        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
 *
index 73609eb..5203189 100644 (file)
@@ -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),
 *
 *  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),
 *  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:
index 438522e..ca50049 100644 (file)
@@ -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 ) )
 *
index 6e5d887..caa1078 100644 (file)
@@ -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'.
 *
 *
       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 )
          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 )
index 84010fa..b8fd4d6 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the product U * U'.
+*        Compute the product U * U**H.
 *
          DO 10 I = 1, N
             AII = A( I, I )
 *
       ELSE
 *
-*        Compute the product L' * L.
+*        Compute the product L**H * L.
 *
          DO 20 I = 1, N
             AII = A( I, I )
index e2aade0..b257d02 100644 (file)
@@ -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).
 *
          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 )
    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 )
index b283fbf..880d08f 100644 (file)
       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,
      $                   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,
index dd4ea90..2b9fe26 100644 (file)
@@ -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
          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
index 8861fb8..8631a8f 100644 (file)
 *  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).
 *
 *
       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
index b06eac2..93486f9 100644 (file)
@@ -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
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**H * U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**H.
 *
          DO 20 J = 1, N
 *
index 03f452b..a732ce3 100644 (file)
@@ -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;
 *
       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 )
    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
 *
             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 )
index 56dff35..3d5cbee 100644 (file)
       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 )
      $                   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 )
index 14a5154..f56d1d5 100644 (file)
@@ -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).
          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
index 137b4fe..3dc5b78 100644 (file)
 *  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).
 *
 *
       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 )
index 549601c..228d530 100644 (file)
@@ -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).
 *
       IF( UPPER ) THEN
 *
-*        Compute the Cholesky factorization A = U'*U.
+*        Compute the Cholesky factorization A = U**H *U.
 *
          DO 10 J = 1, N
 *
    10    CONTINUE
       ELSE
 *
-*        Compute the Cholesky factorization A = L*L'.
+*        Compute the Cholesky factorization A = L*L**H.
 *
          DO 20 J = 1, N
 *
index 5749bb0..73fec59 100644 (file)
@@ -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).
 *
          IF( UPPER ) THEN
 *
-*           Compute the Cholesky factorization A = U'*U.
+*           Compute the Cholesky factorization A = U**H *U.
 *
             DO 10 J = 1, N, NB
 *
 *
          ELSE
 *
-*           Compute the Cholesky factorization A = L*L'.
+*           Compute the Cholesky factorization A = L*L**H.
 *
             DO 20 J = 1, N, NB
 *
index 068d746..3ebd5f5 100644 (file)
@@ -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 )
 *
index 3ae6367..1e67785 100644 (file)
@@ -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).
 *
       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 )
      $               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 )
index 37136c2..ab18a79 100644 (file)
       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 )
      $                   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 )
index d4d3dfb..27ccc9d 100644 (file)
@@ -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
          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
index 7e06c26..c2cd22f 100644 (file)
@@ -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.
 *
 *
 *          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).
 *
 *
       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 )
index a1631ce..89a9590 100644 (file)
 *
       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
    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
index bc0d68d..58959bb 100644 (file)
@@ -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
 *
       ELSE
 *
-*        Compute the product inv(L)' * inv(L).
+*        Compute the product inv(L)**H * inv(L).
 *
          JJ = 1
          DO 20 J = 1, N
index ef322f0..93a821e 100644 (file)
@@ -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;
 *
       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 )
    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
 *
             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 )
index 43541b5..4c7992b 100644 (file)
 *        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.
 *
          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
index ba6dde6..90577ca 100644 (file)
 *           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.
 *
             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
index 8aee5cb..246f7c7 100644 (file)
@@ -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
index 7f782cb..d933c44 100644 (file)
 *
       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 )
index 20879ce..fca677d 100644 (file)
@@ -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
 *  =========
 *  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
index 988aa43..667e543 100644 (file)
@@ -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.
 *
 *  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
index 39b8659..d8701b6 100644 (file)
@@ -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.
 *
 *  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
 *
       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 ) )
          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 ) )
          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
                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 )
                   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
index 437f0b6..b065a76 100644 (file)
       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
index fcbdc72..6047425 100644 (file)
          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
index 4289a48..6505d51 100644 (file)
 *
       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 )
index 408de26..752b16b 100644 (file)
@@ -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
 *
       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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
 *                 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,
 *
 *                 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
index c7f2485..5491f99 100644 (file)
 *
       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.
 *
       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.
index 546f5c0..2fc812b 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index 4749e2b..adf2a05 100644 (file)
       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
index d5e81c8..7794f60 100644 (file)
          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
index 859dbd6..0a97d32 100644 (file)
 *
       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 )
index 9d9e4d7..abecad1 100644 (file)
 *  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
 *  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
 *
       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
 *
          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
 *
 *              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 )
 *
 *              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
 *
 *
       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
 *
          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
 *
 *                 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,
 *
 *                 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
index b608799..6687826 100644 (file)
@@ -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
 *  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
 *
       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;
 *
       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;
index b2e6ab6..73be67c 100644 (file)
 *
       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.
 *
       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.
index 41cffcb..c39e417 100644 (file)
 
       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 )
 *
          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)
 *
        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 )
 *
 *        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 )
 *
          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)
            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 )
index f8ce8df..7ccee7c 100644 (file)
 *
       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.
 *
          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.
 *
 *           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 ),
 *
 *           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 ),
 *
       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.
 *
          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.
 *
 *           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 )
 *
 *           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
index 31441e5..8588ec4 100644 (file)
 *
       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
          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 )
             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 )
 *
       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
          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 )
             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 )
index a715c1a..d672e43 100644 (file)
@@ -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
       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 )
index ce63236..d566835 100644 (file)
@@ -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
 *  =========
index 0e8736f..70a0d48 100644 (file)
@@ -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
 *  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.).
index e9ca0a3..3a0ed1a 100644 (file)
 *
 *  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:
 *
 *            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)
 *  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,
 *
                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 ) )
             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 ),
index f4132a4..02d07e9 100644 (file)
 *  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.
 *
 *         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.
 *
index bcf692b..f91363a 100644 (file)
       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
 *
index f9e2bfc..7548bbb 100644 (file)
 *  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)
       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
 *
index bd4473d..2558fdd 100644 (file)
    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 )
index 7050cd2..1400f14 100644 (file)
 *  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
      $                      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,
index 20a8e2f..69ace75 100644 (file)
 *  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.
                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
             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 ),
index baf619c..4c32dba 100644 (file)
 *
       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
 *
       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
 *
       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
index ab172d6..1b1a1bd 100644 (file)
@@ -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
 *
             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
      $                     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 )
index 47746b1..b5d916e 100644 (file)
@@ -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 ) )
 *
index fe45abf..f636d7d 100644 (file)
@@ -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.
 *
 *
       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 )
index fa8edfe..6199258 100644 (file)
@@ -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.
 *
                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 ),
      $                      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 )
index 701d30f..5fe697c 100644 (file)
@@ -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.
 *
       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
index ef1d832..ecd1339 100644 (file)
@@ -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.
 *
                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 ),
      $                      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 )
index f2aa1f2..e683ce0 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index 6cf5779..03322a2 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index 2397898..a51dec3 100644 (file)
 *
 *        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'.
 *  =========
 *
 *  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).
       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 ) )
index ee8dc3b..b6a5d3d 100644 (file)
@@ -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'.
      $                   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,
index ba08aa0..fece8c9 100644 (file)
      $                   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,
index 19d236a..c1bbe77 100644 (file)
      $                   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,
index a4191b5..d341b39 100644 (file)
 *
 *        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'.
 *  =========
 *
 *  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).
       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 ) )
index 7f879b2..335b725 100644 (file)
 *
 *        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
 *  =========
 *
 *  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).
       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 )
index 507c559..d16a9d5 100644 (file)
@@ -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'.
      $                   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,
index f1dc10a..53f0a8e 100644 (file)
 *
             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 ),
index 579ccae..3b5bffe 100644 (file)
          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 )
             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 )