zggbak


NAME

zggbak - form 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 ZGGBAK( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V, 
 *      LDV, INFO)
  CHARACTER * 1 JOB, SIDE
  DOUBLE COMPLEX V(LDV,*)
  INTEGER N, ILO, IHI, M, LDV, INFO
  DOUBLE PRECISION LSCALE(*), RSCALE(*)
 
  SUBROUTINE ZGGBAK_64( JOB, SIDE, N, ILO, IHI, LSCALE, RSCALE, M, V, 
 *      LDV, INFO)
  CHARACTER * 1 JOB, SIDE
  DOUBLE COMPLEX V(LDV,*)
  INTEGER*8 N, ILO, IHI, M, LDV, INFO
  DOUBLE PRECISION LSCALE(*), RSCALE(*)
 

F95 INTERFACE

  SUBROUTINE GGBAK( JOB, SIDE, [N], ILO, IHI, LSCALE, RSCALE, [M], V, 
 *       [LDV], [INFO])
  CHARACTER(LEN=1) :: JOB, SIDE
  COMPLEX(8), DIMENSION(:,:) :: V
  INTEGER :: N, ILO, IHI, M, LDV, INFO
  REAL(8), DIMENSION(:) :: LSCALE, RSCALE
 
  SUBROUTINE GGBAK_64( JOB, SIDE, [N], ILO, IHI, LSCALE, RSCALE, [M], 
 *       V, [LDV], [INFO])
  CHARACTER(LEN=1) :: JOB, SIDE
  COMPLEX(8), DIMENSION(:,:) :: V
  INTEGER(8) :: N, ILO, IHI, M, LDV, INFO
  REAL(8), DIMENSION(:) :: LSCALE, RSCALE
 

C INTERFACE

#include <sunperf.h>

void zggbak(char job, char side, int n, int ilo, int ihi, double *lscale, double *rscale, int m, doublecomplex *v, int ldv, int *info);

void zggbak_64(char job, char side, long n, long ilo, long ihi, double *lscale, double *rscale, long m, doublecomplex *v, long ldv, long *info);


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


ARGUMENTS

* JOB (input)
Specifies the type of backward transformation required:

* SIDE (input)
* N (input)
The number of rows of the matrix V. N >= 0.

* ILO (input)
The integers ILO and IHI determined by CGGBAL. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0.

* IHI (input)
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)
Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by CGGBAL.

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

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

* V (input/output)
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)
The leading dimension of the matrix V. LDV >= max(1,N).

* INFO (output)