Diff for /rpl/lapack/lapack/dlaqr5.f between versions 1.10 and 1.20

version 1.10, 2011/11/21 20:42:57 version 1.20, 2018/05/29 06:55:17
Line 1 Line 1
 *> \brief \b DLAQR5  *> \brief \b DLAQR5 performs a single small-bulge multi-shift QR sweep.
 *  *
 *  =========== DOCUMENTATION ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *> \htmlonly  *> \htmlonly
 *> Download DLAQR5 + dependencies   *> Download DLAQR5 + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlaqr5.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlaqr5.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlaqr5.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlaqr5.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlaqr5.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlaqr5.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
Line 21 Line 21
 *       SUBROUTINE DLAQR5( WANTT, WANTZ, KACC22, N, KTOP, KBOT, NSHFTS,  *       SUBROUTINE DLAQR5( WANTT, WANTZ, KACC22, N, KTOP, KBOT, NSHFTS,
 *                          SR, SI, H, LDH, ILOZ, IHIZ, Z, LDZ, V, LDV, U,  *                          SR, SI, H, LDH, ILOZ, IHIZ, Z, LDZ, V, LDV, U,
 *                          LDU, NV, WV, LDWV, NH, WH, LDWH )  *                          LDU, NV, WV, LDWV, NH, WH, LDWH )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       INTEGER            IHIZ, ILOZ, KACC22, KBOT, KTOP, LDH, LDU, LDV,  *       INTEGER            IHIZ, ILOZ, KACC22, KBOT, KTOP, LDH, LDU, LDV,
 *      $                   LDWH, LDWV, LDZ, N, NH, NSHFTS, NV  *      $                   LDWH, LDWV, LDZ, N, NH, NSHFTS, NV
Line 32 Line 32
 *      $                   V( LDV, * ), WH( LDWH, * ), WV( LDWV, * ),  *      $                   V( LDV, * ), WH( LDWH, * ), WV( LDWV, * ),
 *      $                   Z( LDZ, * )  *      $                   Z( LDZ, * )
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 48 Line 48
 *  *
 *> \param[in] WANTT  *> \param[in] WANTT
 *> \verbatim  *> \verbatim
 *>          WANTT is logical scalar  *>          WANTT is LOGICAL
 *>             WANTT = .true. if the quasi-triangular Schur factor  *>             WANTT = .true. if the quasi-triangular Schur factor
 *>             is being computed.  WANTT is set to .false. otherwise.  *>             is being computed.  WANTT is set to .false. otherwise.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] WANTZ  *> \param[in] WANTZ
 *> \verbatim  *> \verbatim
 *>          WANTZ is logical scalar  *>          WANTZ is LOGICAL
 *>             WANTZ = .true. if the orthogonal Schur factor is being  *>             WANTZ = .true. if the orthogonal Schur factor is being
 *>             computed.  WANTZ is set to .false. otherwise.  *>             computed.  WANTZ is set to .false. otherwise.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] KACC22  *> \param[in] KACC22
 *> \verbatim  *> \verbatim
 *>          KACC22 is integer with value 0, 1, or 2.  *>          KACC22 is INTEGER with value 0, 1, or 2.
 *>             Specifies the computation mode of far-from-diagonal  *>             Specifies the computation mode of far-from-diagonal
 *>             orthogonal updates.  *>             orthogonal updates.
 *>        = 0: DLAQR5 does not accumulate reflections and does not  *>        = 0: DLAQR5 does not accumulate reflections and does not
Line 78 Line 78
 *>  *>
 *> \param[in] N  *> \param[in] N
 *> \verbatim  *> \verbatim
 *>          N is integer scalar  *>          N is INTEGER
 *>             N is the order of the Hessenberg matrix H upon which this  *>             N is the order of the Hessenberg matrix H upon which this
 *>             subroutine operates.  *>             subroutine operates.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] KTOP  *> \param[in] KTOP
 *> \verbatim  *> \verbatim
 *>          KTOP is integer scalar  *>          KTOP is INTEGER
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] KBOT  *> \param[in] KBOT
 *> \verbatim  *> \verbatim
 *>          KBOT is integer scalar  *>          KBOT is INTEGER
 *>             These are the first and last rows and columns of an  *>             These are the first and last rows and columns of an
 *>             isolated diagonal block upon which the QR sweep is to be  *>             isolated diagonal block upon which the QR sweep is to be
 *>             applied. It is assumed without a check that  *>             applied. It is assumed without a check that
Line 101 Line 101
 *>  *>
 *> \param[in] NSHFTS  *> \param[in] NSHFTS
 *> \verbatim  *> \verbatim
 *>          NSHFTS is integer scalar  *>          NSHFTS is INTEGER
 *>             NSHFTS gives the number of simultaneous shifts.  NSHFTS  *>             NSHFTS gives the number of simultaneous shifts.  NSHFTS
 *>             must be positive and even.  *>             must be positive and even.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in,out] SR  *> \param[in,out] SR
 *> \verbatim  *> \verbatim
 *>          SR is DOUBLE PRECISION array of size (NSHFTS)  *>          SR is DOUBLE PRECISION array, dimension (NSHFTS)
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in,out] SI  *> \param[in,out] SI
 *> \verbatim  *> \verbatim
 *>          SI is DOUBLE PRECISION array of size (NSHFTS)  *>          SI is DOUBLE PRECISION array, dimension (NSHFTS)
 *>             SR contains the real parts and SI contains the imaginary  *>             SR contains the real parts and SI contains the imaginary
 *>             parts of the NSHFTS shifts of origin that define the  *>             parts of the NSHFTS shifts of origin that define the
 *>             multi-shift QR sweep.  On output SR and SI may be  *>             multi-shift QR sweep.  On output SR and SI may be
Line 122 Line 122
 *>  *>
 *> \param[in,out] H  *> \param[in,out] H
 *> \verbatim  *> \verbatim
 *>          H is DOUBLE PRECISION array of size (LDH,N)  *>          H is DOUBLE PRECISION array, dimension (LDH,N)
 *>             On input H contains a Hessenberg matrix.  On output a  *>             On input H contains a Hessenberg matrix.  On output a
 *>             multi-shift QR sweep with shifts SR(J)+i*SI(J) is applied  *>             multi-shift QR sweep with shifts SR(J)+i*SI(J) is applied
 *>             to the isolated diagonal block in rows and columns KTOP  *>             to the isolated diagonal block in rows and columns KTOP
Line 131 Line 131
 *>  *>
 *> \param[in] LDH  *> \param[in] LDH
 *> \verbatim  *> \verbatim
 *>          LDH is integer scalar  *>          LDH is INTEGER
 *>             LDH is the leading dimension of H just as declared in the  *>             LDH is the leading dimension of H just as declared in the
 *>             calling procedure.  LDH.GE.MAX(1,N).  *>             calling procedure.  LDH.GE.MAX(1,N).
 *> \endverbatim  *> \endverbatim
Line 150 Line 150
 *>  *>
 *> \param[in,out] Z  *> \param[in,out] Z
 *> \verbatim  *> \verbatim
 *>          Z is DOUBLE PRECISION array of size (LDZ,IHI)  *>          Z is DOUBLE PRECISION array, dimension (LDZ,IHIZ)
 *>             If WANTZ = .TRUE., then the QR Sweep orthogonal  *>             If WANTZ = .TRUE., then the QR Sweep orthogonal
 *>             similarity transformation is accumulated into  *>             similarity transformation is accumulated into
 *>             Z(ILOZ:IHIZ,ILO:IHI) from the right.  *>             Z(ILOZ:IHIZ,ILOZ:IHIZ) from the right.
 *>             If WANTZ = .FALSE., then Z is unreferenced.  *>             If WANTZ = .FALSE., then Z is unreferenced.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDZ  *> \param[in] LDZ
 *> \verbatim  *> \verbatim
 *>          LDZ is integer scalar  *>          LDZ is INTEGER
 *>             LDA is the leading dimension of Z just as declared in  *>             LDA is the leading dimension of Z just as declared in
 *>             the calling procedure. LDZ.GE.N.  *>             the calling procedure. LDZ.GE.N.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] V  *> \param[out] V
 *> \verbatim  *> \verbatim
 *>          V is DOUBLE PRECISION array of size (LDV,NSHFTS/2)  *>          V is DOUBLE PRECISION array, dimension (LDV,NSHFTS/2)
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDV  *> \param[in] LDV
 *> \verbatim  *> \verbatim
 *>          LDV is integer scalar  *>          LDV is INTEGER
 *>             LDV is the leading dimension of V as declared in the  *>             LDV is the leading dimension of V as declared in the
 *>             calling procedure.  LDV.GE.3.  *>             calling procedure.  LDV.GE.3.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] U  *> \param[out] U
 *> \verbatim  *> \verbatim
 *>          U is DOUBLE PRECISION array of size  *>          U is DOUBLE PRECISION array, dimension (LDU,3*NSHFTS-3)
 *>             (LDU,3*NSHFTS-3)  
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDU  *> \param[in] LDU
 *> \verbatim  *> \verbatim
 *>          LDU is integer scalar  *>          LDU is INTEGER
 *>             LDU is the leading dimension of U just as declared in the  *>             LDU is the leading dimension of U just as declared in the
 *>             in the calling subroutine.  LDU.GE.3*NSHFTS-3.  *>             in the calling subroutine.  LDU.GE.3*NSHFTS-3.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] NH  *> \param[in] NH
 *> \verbatim  *> \verbatim
 *>          NH is integer scalar  *>          NH is INTEGER
 *>             NH is the number of columns in array WH available for  *>             NH is the number of columns in array WH available for
 *>             workspace. NH.GE.1.  *>             workspace. NH.GE.1.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] WH  *> \param[out] WH
 *> \verbatim  *> \verbatim
 *>          WH is DOUBLE PRECISION array of size (LDWH,NH)  *>          WH is DOUBLE PRECISION array, dimension (LDWH,NH)
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDWH  *> \param[in] LDWH
 *> \verbatim  *> \verbatim
 *>          LDWH is integer scalar  *>          LDWH is INTEGER
 *>             Leading dimension of WH just as declared in the  *>             Leading dimension of WH just as declared in the
 *>             calling procedure.  LDWH.GE.3*NSHFTS-3.  *>             calling procedure.  LDWH.GE.3*NSHFTS-3.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] NV  *> \param[in] NV
 *> \verbatim  *> \verbatim
 *>          NV is integer scalar  *>          NV is INTEGER
 *>             NV is the number of rows in WV agailable for workspace.  *>             NV is the number of rows in WV agailable for workspace.
 *>             NV.GE.1.  *>             NV.GE.1.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] WV  *> \param[out] WV
 *> \verbatim  *> \verbatim
 *>          WV is DOUBLE PRECISION array of size  *>          WV is DOUBLE PRECISION array, dimension (LDWV,3*NSHFTS-3)
 *>             (LDWV,3*NSHFTS-3)  
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDWV  *> \param[in] LDWV
 *> \verbatim  *> \verbatim
 *>          LDWV is integer scalar  *>          LDWV is INTEGER
 *>             LDWV is the leading dimension of WV as declared in the  *>             LDWV is the leading dimension of WV as declared in the
 *>             in the calling subroutine.  LDWV.GE.NV.  *>             in the calling subroutine.  LDWV.GE.NV.
 *> \endverbatim  *> \endverbatim
Line 231 Line 229
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  *
 *> \date November 2011  *> \date June 2016
 *  *
 *> \ingroup doubleOTHERauxiliary  *> \ingroup doubleOTHERauxiliary
 *  *
Line 259 Line 257
      $                   SR, SI, H, LDH, ILOZ, IHIZ, Z, LDZ, V, LDV, U,       $                   SR, SI, H, LDH, ILOZ, IHIZ, Z, LDZ, V, LDV, U,
      $                   LDU, NV, WV, LDWV, NH, WH, LDWH )       $                   LDU, NV, WV, LDWV, NH, WH, LDWH )
 *  *
 *  -- LAPACK auxiliary routine (version 3.4.0) --  *  -- LAPACK auxiliary routine (version 3.7.1) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     November 2011  *     June 2016
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            IHIZ, ILOZ, KACC22, KBOT, KTOP, LDH, LDU, LDV,        INTEGER            IHIZ, ILOZ, KACC22, KBOT, KTOP, LDH, LDU, LDV,

Removed from v.1.10  
changed lines
  Added in v.1.20


CVSweb interface <joel.bertrand@systella.fr>