version 1.18, 2017/06/17 10:53:55
|
version 1.20, 2018/05/29 06:55:17
|
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,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.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 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.7.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..-- |
* June 2016 |
* June 2016 |