version 1.12, 2012/12/14 14:22:51
|
version 1.20, 2020/05/21 21:46:09
|
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 ZLAQR3 + dependencies |
*> Download ZLAQR3 + dependencies |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlaqr3.f"> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlaqr3.f"> |
*> [TGZ]</a> |
*> [TGZ]</a> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlaqr3.f"> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlaqr3.f"> |
*> [ZIP]</a> |
*> [ZIP]</a> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlaqr3.f"> |
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlaqr3.f"> |
*> [TXT]</a> |
*> [TXT]</a> |
*> \endhtmlonly |
*> \endhtmlonly |
* |
* |
* Definition: |
* Definition: |
* =========== |
* =========== |
Line 21
|
Line 21
|
* SUBROUTINE ZLAQR3( WANTT, WANTZ, N, KTOP, KBOT, NW, H, LDH, ILOZ, |
* SUBROUTINE ZLAQR3( WANTT, WANTZ, N, KTOP, KBOT, NW, H, LDH, ILOZ, |
* IHIZ, Z, LDZ, NS, ND, SH, V, LDV, NH, T, LDT, |
* IHIZ, Z, LDZ, NS, ND, SH, V, LDV, NH, T, LDT, |
* NV, WV, LDWV, WORK, LWORK ) |
* NV, WV, LDWV, WORK, LWORK ) |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
* INTEGER IHIZ, ILOZ, KBOT, KTOP, LDH, LDT, LDV, LDWV, |
* INTEGER IHIZ, ILOZ, KBOT, KTOP, LDH, LDT, LDV, LDWV, |
* $ LDZ, LWORK, N, ND, NH, NS, NV, NW |
* $ LDZ, LWORK, N, ND, NH, NS, NV, NW |
Line 31
|
Line 31
|
* COMPLEX*16 H( LDH, * ), SH( * ), T( LDT, * ), V( LDV, * ), |
* COMPLEX*16 H( LDH, * ), SH( * ), T( LDT, * ), V( LDV, * ), |
* $ WORK( * ), WV( LDWV, * ), Z( LDZ, * ) |
* $ WORK( * ), WV( LDWV, * ), Z( LDZ, * ) |
* .. |
* .. |
* |
* |
* |
* |
*> \par Purpose: |
*> \par Purpose: |
* ============= |
* ============= |
Line 100
|
Line 100
|
*> \param[in] NW |
*> \param[in] NW |
*> \verbatim |
*> \verbatim |
*> NW is INTEGER |
*> NW is INTEGER |
*> Deflation window size. 1 .LE. NW .LE. (KBOT-KTOP+1). |
*> Deflation window size. 1 <= NW <= (KBOT-KTOP+1). |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in,out] H |
*> \param[in,out] H |
Line 116
|
Line 116
|
*> |
*> |
*> \param[in] LDH |
*> \param[in] LDH |
*> \verbatim |
*> \verbatim |
*> LDH is integer |
*> LDH is INTEGER |
*> Leading dimension of H just as declared in the calling |
*> Leading dimension of H just as declared in the calling |
*> subroutine. N .LE. LDH |
*> subroutine. N <= LDH |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] ILOZ |
*> \param[in] ILOZ |
Line 130
|
Line 130
|
*> \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 |
Line 138
|
Line 138
|
*> Z is COMPLEX*16 array, dimension (LDZ,N) |
*> Z is COMPLEX*16 array, dimension (LDZ,N) |
*> IF WANTZ is .TRUE., then on output, the unitary |
*> IF WANTZ is .TRUE., then on output, the unitary |
*> similarity transformation mentioned above has been |
*> similarity transformation mentioned above has been |
*> accumulated into Z(ILOZ:IHIZ,ILO:IHI) from the right. |
*> accumulated into Z(ILOZ:IHIZ,ILOZ:IHIZ) from the right. |
*> If WANTZ is .FALSE., then Z is unreferenced. |
*> If WANTZ is .FALSE., then Z is unreferenced. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] LDZ |
*> \param[in] LDZ |
*> \verbatim |
*> \verbatim |
*> LDZ is integer |
*> LDZ is INTEGER |
*> The leading dimension of Z just as declared in the |
*> The leading dimension of Z just as declared in the |
*> calling subroutine. 1 .LE. LDZ. |
*> calling subroutine. 1 <= LDZ. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] NS |
*> \param[out] NS |
*> \verbatim |
*> \verbatim |
*> NS is integer |
*> NS is INTEGER |
*> The number of unconverged (ie approximate) eigenvalues |
*> The number of unconverged (ie approximate) eigenvalues |
*> returned in SR and SI that may be used as shifts by the |
*> returned in SR and SI that may be used as shifts by the |
*> calling subroutine. |
*> calling subroutine. |
Line 159
|
Line 159
|
*> |
*> |
*> \param[out] ND |
*> \param[out] ND |
*> \verbatim |
*> \verbatim |
*> ND is integer |
*> ND is INTEGER |
*> The number of converged eigenvalues uncovered by this |
*> The number of converged eigenvalues uncovered by this |
*> subroutine. |
*> subroutine. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] SH |
*> \param[out] SH |
*> \verbatim |
*> \verbatim |
*> SH is COMPLEX*16 array, dimension KBOT |
*> SH is COMPLEX*16 array, dimension (KBOT) |
*> On output, approximate eigenvalues that may |
*> On output, approximate eigenvalues that may |
*> be used for shifts are stored in SH(KBOT-ND-NS+1) |
*> be used for shifts are stored in SH(KBOT-ND-NS+1) |
*> through SR(KBOT-ND). Converged eigenvalues are |
*> through SR(KBOT-ND). Converged eigenvalues are |
Line 181
|
Line 181
|
*> |
*> |
*> \param[in] LDV |
*> \param[in] LDV |
*> \verbatim |
*> \verbatim |
*> LDV is integer scalar |
*> LDV is INTEGER |
*> The leading dimension of V just as declared in the |
*> The leading dimension of V just as declared in the |
*> calling subroutine. NW .LE. LDV |
*> calling subroutine. NW <= LDV |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] NH |
*> \param[in] NH |
*> \verbatim |
*> \verbatim |
*> NH is integer scalar |
*> NH is INTEGER |
*> The number of columns of T. NH.GE.NW. |
*> The number of columns of T. NH >= NW. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] T |
*> \param[out] T |
Line 199
|
Line 199
|
*> |
*> |
*> \param[in] LDT |
*> \param[in] LDT |
*> \verbatim |
*> \verbatim |
*> LDT is integer |
*> LDT is INTEGER |
*> The leading dimension of T just as declared in the |
*> The leading dimension of T just as declared in the |
*> calling subroutine. NW .LE. LDT |
*> calling subroutine. NW <= LDT |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] NV |
*> \param[in] NV |
*> \verbatim |
*> \verbatim |
*> NV is integer |
*> NV is INTEGER |
*> The number of rows of work array WV available for |
*> The number of rows of work array WV available for |
*> workspace. NV.GE.NW. |
*> workspace. NV >= NW. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] WV |
*> \param[out] WV |
Line 218
|
Line 218
|
*> |
*> |
*> \param[in] LDWV |
*> \param[in] LDWV |
*> \verbatim |
*> \verbatim |
*> LDWV is integer |
*> LDWV is INTEGER |
*> The leading dimension of W just as declared in the |
*> The leading dimension of W just as declared in the |
*> calling subroutine. NW .LE. LDV |
*> calling subroutine. NW <= LDV |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[out] WORK |
*> \param[out] WORK |
*> \verbatim |
*> \verbatim |
*> WORK is COMPLEX*16 array, dimension LWORK. |
*> WORK is COMPLEX*16 array, dimension (LWORK) |
*> On exit, WORK(1) is set to an estimate of the optimal value |
*> On exit, WORK(1) is set to an estimate of the optimal value |
*> of LWORK for the given values of N, NW, KTOP and KBOT. |
*> of LWORK for the given values of N, NW, KTOP and KBOT. |
*> \endverbatim |
*> \endverbatim |
*> |
*> |
*> \param[in] LWORK |
*> \param[in] LWORK |
*> \verbatim |
*> \verbatim |
*> LWORK is integer |
*> LWORK is INTEGER |
*> The dimension of the work array WORK. LWORK = 2*NW |
*> The dimension of the work array WORK. LWORK = 2*NW |
*> suffices, but greater efficiency may result from larger |
*> suffices, but greater efficiency may result from larger |
*> values of LWORK. |
*> values of LWORK. |
Line 247
|
Line 247
|
* 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 September 2012 |
*> \date June 2016 |
* |
* |
*> \ingroup complex16OTHERauxiliary |
*> \ingroup complex16OTHERauxiliary |
* |
* |
Line 267
|
Line 267
|
$ IHIZ, Z, LDZ, NS, ND, SH, V, LDV, NH, T, LDT, |
$ IHIZ, Z, LDZ, NS, ND, SH, V, LDV, NH, T, LDT, |
$ NV, WV, LDWV, WORK, LWORK ) |
$ NV, WV, LDWV, WORK, LWORK ) |
* |
* |
* -- LAPACK auxiliary routine (version 3.4.2) -- |
* -- 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..-- |
* September 2012 |
* June 2016 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER IHIZ, ILOZ, KBOT, KTOP, LDH, LDT, LDV, LDWV, |
INTEGER IHIZ, ILOZ, KBOT, KTOP, LDH, LDT, LDV, LDWV, |