--- rpl/lapack/lapack/zggbak.f 2010/12/21 13:53:44 1.7 +++ rpl/lapack/lapack/zggbak.f 2011/11/21 20:43:10 1.8 @@ -1,10 +1,157 @@ +*> \brief \b ZGGBAK +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download ZGGBAK + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* SUBROUTINE ZGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V, +* LDV, INFO ) +* +* .. Scalar Arguments .. +* CHARACTER JOB, SIDE +* INTEGER IHI, ILO, INFO, LDV, M, N +* .. +* .. Array Arguments .. +* DOUBLE PRECISION LSCALE( * ), RSCALE( * ) +* COMPLEX*16 V( LDV, * ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> ZGGBAK forms the right or left eigenvectors of a complex generalized +*> eigenvalue problem A*x = lambda*B*x, by backward transformation on +*> the computed eigenvectors of the balanced pair of matrices output by +*> ZGGBAL. +*> \endverbatim +* +* Arguments: +* ========== +* +*> \param[in] JOB +*> \verbatim +*> JOB is CHARACTER*1 +*> Specifies the type of backward transformation required: +*> = 'N': do nothing, return immediately; +*> = 'P': do backward transformation for permutation only; +*> = 'S': do backward transformation for scaling only; +*> = 'B': do backward transformations for both permutation and +*> scaling. +*> JOB must be the same as the argument JOB supplied to ZGGBAL. +*> \endverbatim +*> +*> \param[in] SIDE +*> \verbatim +*> SIDE is CHARACTER*1 +*> = 'R': V contains right eigenvectors; +*> = 'L': V contains left eigenvectors. +*> \endverbatim +*> +*> \param[in] N +*> \verbatim +*> N is INTEGER +*> The number of rows of the matrix V. N >= 0. +*> \endverbatim +*> +*> \param[in] ILO +*> \verbatim +*> ILO is INTEGER +*> \endverbatim +*> +*> \param[in] IHI +*> \verbatim +*> IHI is INTEGER +*> The integers ILO and IHI determined by ZGGBAL. +*> 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. +*> \endverbatim +*> +*> \param[in] LSCALE +*> \verbatim +*> LSCALE is DOUBLE PRECISION array, dimension (N) +*> Details of the permutations and/or scaling factors applied +*> to the left side of A and B, as returned by ZGGBAL. +*> \endverbatim +*> +*> \param[in] RSCALE +*> \verbatim +*> RSCALE is DOUBLE PRECISION array, dimension (N) +*> Details of the permutations and/or scaling factors applied +*> to the right side of A and B, as returned by ZGGBAL. +*> \endverbatim +*> +*> \param[in] M +*> \verbatim +*> M is INTEGER +*> The number of columns of the matrix V. M >= 0. +*> \endverbatim +*> +*> \param[in,out] V +*> \verbatim +*> V is COMPLEX*16 array, dimension (LDV,M) +*> On entry, the matrix of right or left eigenvectors to be +*> transformed, as returned by ZTGEVC. +*> On exit, V is overwritten by the transformed eigenvectors. +*> \endverbatim +*> +*> \param[in] LDV +*> \verbatim +*> LDV is INTEGER +*> The leading dimension of the matrix V. LDV >= max(1,N). +*> \endverbatim +*> +*> \param[out] INFO +*> \verbatim +*> INFO is INTEGER +*> = 0: successful exit. +*> < 0: if INFO = -i, the i-th argument had an illegal value. +*> \endverbatim +* +* Authors: +* ======== +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup complex16GBcomputational +* +*> \par Further Details: +* ===================== +*> +*> \verbatim +*> +*> See R.C. Ward, Balancing the generalized eigenvalue problem, +*> SIAM J. Sci. Stat. Comp. 2 (1981), 141-152. +*> \endverbatim +*> +* ===================================================================== SUBROUTINE ZGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V, $ LDV, INFO ) * -* -- LAPACK routine (version 3.2) -- +* -- LAPACK computational routine (version 3.4.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2006 +* November 2011 * * .. Scalar Arguments .. CHARACTER JOB, SIDE @@ -15,67 +162,6 @@ COMPLEX*16 V( LDV, * ) * .. * -* Purpose -* ======= -* -* ZGGBAK forms the right or left eigenvectors of a complex generalized -* eigenvalue problem A*x = lambda*B*x, by backward transformation on -* the computed eigenvectors of the balanced pair of matrices output by -* ZGGBAL. -* -* Arguments -* ========= -* -* JOB (input) CHARACTER*1 -* Specifies the type of backward transformation required: -* = 'N': do nothing, return immediately; -* = 'P': do backward transformation for permutation only; -* = 'S': do backward transformation for scaling only; -* = 'B': do backward transformations for both permutation and -* scaling. -* JOB must be the same as the argument JOB supplied to ZGGBAL. -* -* SIDE (input) CHARACTER*1 -* = 'R': V contains right eigenvectors; -* = 'L': V contains left eigenvectors. -* -* N (input) INTEGER -* The number of rows of the matrix V. N >= 0. -* -* ILO (input) INTEGER -* IHI (input) INTEGER -* The integers ILO and IHI determined by ZGGBAL. -* 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. -* -* LSCALE (input) DOUBLE PRECISION array, dimension (N) -* Details of the permutations and/or scaling factors applied -* to the left side of A and B, as returned by ZGGBAL. -* -* RSCALE (input) DOUBLE PRECISION array, dimension (N) -* Details of the permutations and/or scaling factors applied -* to the right side of A and B, as returned by ZGGBAL. -* -* M (input) INTEGER -* The number of columns of the matrix V. M >= 0. -* -* V (input/output) COMPLEX*16 array, dimension (LDV,M) -* On entry, the matrix of right or left eigenvectors to be -* transformed, as returned by ZTGEVC. -* On exit, V is overwritten by the transformed eigenvectors. -* -* LDV (input) INTEGER -* The leading dimension of the matrix V. LDV >= max(1,N). -* -* INFO (output) INTEGER -* = 0: successful exit. -* < 0: if INFO = -i, the i-th argument had an illegal value. -* -* Further Details -* =============== -* -* See R.C. Ward, Balancing the generalized eigenvalue problem, -* SIAM J. Sci. Stat. Comp. 2 (1981), 141-152. -* * ===================================================================== * * .. Local Scalars ..