ZGGBAK  - form the right or left eigenvectors of a complex
       generalized eigenvalue problem A*x = lambda*B*x, by  back­
       ward  transformation  on  the computed eigenvectors of the
       balanced pair of matrices output by ZGGBAL


SYNOPSIS

       SUBROUTINE ZGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE,
                          M, V, LDV, INFO )

           CHARACTER      JOB, SIDE

           INTEGER        IHI, ILO, INFO, LDV, M, N

           DOUBLE         PRECISION LSCALE( * ), RSCALE( * )

           COMPLEX*16     V( LDV, * )


PURPOSE

       ZGGBAK  forms  the right or left eigenvectors of a complex
       generalized eigenvalue problem A*x = lambda*B*x, by  back­
       ward  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 per­
               mutation 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.

               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  eigen­
               vectors.

       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 ille­
               gal value.


FURTHER DETAILS

       See  R.C. Ward, Balancing the generalized eigenvalue prob­
       lem,
                      SIAM J. Sci. Stat. Comp. 2 (1981), 141-152.


Man(1) output converted with man2html