Diff for /rpl/lapack/lapack/dlaqr5.f between versions 1.17 and 1.22

version 1.17, 2016/08/27 15:34:29 version 1.22, 2020/05/21 21:46:00
Line 2 Line 2
 *  *
 *  =========== 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 >= MAX(1,N).
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] ILOZ  *> \param[in] ILOZ
Line 145 Line 145
 *> \verbatim  *> \verbatim
 *>          IHIZ is INTEGER  *>          IHIZ is INTEGER
 *>             Specify the rows of Z to which transformations must be  *>             Specify the rows of Z to which transformations must be
 *>             applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N  *>             applied if WANTZ is .TRUE.. 1 <= ILOZ <= IHIZ <= N
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in,out] Z  *> \param[in,out] Z
 *> \verbatim  *> \verbatim
 *>          Z is DOUBLE PRECISION array of size (LDZ,IHIZ)  *>          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,ILOZ:IHIZ) from the right.  *>             Z(ILOZ:IHIZ,ILOZ:IHIZ) from the right.
Line 159 Line 159
 *>  *>
 *> \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 >= 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 >= 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 >= 3*NSHFTS-3.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] NH  *> \param[in] NV
 *> \verbatim  *> \verbatim
 *>          NH is integer scalar  *>          NV is INTEGER
 *>             NH is the number of columns in array WH available for  *>             NV is the number of rows in WV agailable for workspace.
 *>             workspace. NH.GE.1.  *>             NV >= 1.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] WH  *> \param[out] WV
 *> \verbatim  *> \verbatim
 *>          WH is DOUBLE PRECISION array of size (LDWH,NH)  *>          WV is DOUBLE PRECISION array, dimension (LDWV,3*NSHFTS-3)
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDWH  *> \param[in] LDWV
 *> \verbatim  *> \verbatim
 *>          LDWH is integer scalar  *>          LDWV is INTEGER
 *>             Leading dimension of WH just as declared in the  *>             LDWV is the leading dimension of WV as declared in the
 *>             calling procedure.  LDWH.GE.3*NSHFTS-3.  *>             in the calling subroutine.  LDWV >= NV.
 *> \endverbatim  *> \endverbatim
 *>  *
 *> \param[in] NV  *> \param[in] NH
 *> \verbatim  *> \verbatim
 *>          NV is integer scalar  *>          NH is INTEGER
 *>             NV is the number of rows in WV agailable for workspace.  *>             NH is the number of columns in array WH available for
 *>             NV.GE.1.  *>             workspace. NH >= 1.
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[out] WV  *> \param[out] WH
 *> \verbatim  *> \verbatim
 *>          WV is DOUBLE PRECISION array of size  *>          WH is DOUBLE PRECISION array, dimension (LDWH,NH)
 *>             (LDWV,3*NSHFTS-3)  
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] LDWV  *> \param[in] LDWH
 *> \verbatim  *> \verbatim
 *>          LDWV is integer scalar  *>          LDWH is INTEGER
 *>             LDWV is the leading dimension of WV as declared in the  *>             Leading dimension of WH just as declared in the
 *>             in the calling subroutine.  LDWV.GE.NV.  *>             calling procedure.  LDWH >= 3*NSHFTS-3.
 *> \endverbatim  *> \endverbatim
 *  *>
 *  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 June 2016  *> \date June 2016
 *  *
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.6.1) --  *  -- 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..--
 *     June 2016  *     June 2016

Removed from v.1.17  
changed lines
  Added in v.1.22


CVSweb interface <joel.bertrand@systella.fr>