CGGBAK(3f)

NAME
CGGBAK - 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 CGGBAL

SYNOPSIS

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

CHARACTER
    JOB, SIDE

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

REAL
    LSCALE( * ), RSCALE( * )

COMPLEX
    V( LDV, * )

PURPOSE
CGGBAK 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 CGGBAL.

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 CGGBAL.

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 CGGBAL. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0.

LSCALE  (input) REAL array, dimension (N)
    Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by CGGBAL.

RSCALE  (input) REAL array, dimension (N)
    Details of the permutations and/or scaling factors applied to the right side of A and B, as returned by CGGBAL.

M       (input) INTEGER
    The number of columns of the matrix V. M >= 0.

V       (input/output) COMPLEX array, dimension (LDV,M)
    On entry, the matrix of right or left eigenvectors to be transformed, as returned by CTGEVC. 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.