cgebak - form the right or left eigenvectors of a complex general matrix by backward transformation on the computed eigenvectors of the balanced matrix output by CGEBAL
SUBROUTINE CGEBAK(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER*1 JOB, SIDE COMPLEX V(LDV,*) INTEGER N, ILO, IHI, M, LDV, INFO REAL SCALE(*) SUBROUTINE CGEBAK_64(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER*1 JOB, SIDE COMPLEX V(LDV,*) INTEGER*8 N, ILO, IHI, M, LDV, INFO REAL SCALE(*) F95 INTERFACE SUBROUTINE GEBAK(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER(LEN=1) :: JOB, SIDE COMPLEX, DIMENSION(:,:) :: V INTEGER :: N, ILO, IHI, M, LDV, INFO REAL, DIMENSION(:) :: SCALE SUBROUTINE GEBAK_64(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER(LEN=1) :: JOB, SIDE COMPLEX, DIMENSION(:,:) :: V INTEGER(8) :: N, ILO, IHI, M, LDV, INFO REAL, DIMENSION(:) :: SCALE C INTERFACE #include <sunperf.h> void cgebak(char job, char side, int n, int ilo, int ihi, float *scale, int m, complex *v, int ldv, int *info); void cgebak_64(char job, char side, long n, long ilo, long ihi, float *scale, long m, complex *v, long ldv, long *info);
Oracle Solaris Studio Performance Library cgebak(3P) NAME cgebak - form the right or left eigenvectors of a complex general matrix by backward transformation on the computed eigenvectors of the balanced matrix output by CGEBAL SYNOPSIS SUBROUTINE CGEBAK(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER*1 JOB, SIDE COMPLEX V(LDV,*) INTEGER N, ILO, IHI, M, LDV, INFO REAL SCALE(*) SUBROUTINE CGEBAK_64(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER*1 JOB, SIDE COMPLEX V(LDV,*) INTEGER*8 N, ILO, IHI, M, LDV, INFO REAL SCALE(*) F95 INTERFACE SUBROUTINE GEBAK(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER(LEN=1) :: JOB, SIDE COMPLEX, DIMENSION(:,:) :: V INTEGER :: N, ILO, IHI, M, LDV, INFO REAL, DIMENSION(:) :: SCALE SUBROUTINE GEBAK_64(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO) CHARACTER(LEN=1) :: JOB, SIDE COMPLEX, DIMENSION(:,:) :: V INTEGER(8) :: N, ILO, IHI, M, LDV, INFO REAL, DIMENSION(:) :: SCALE C INTERFACE #include <sunperf.h> void cgebak(char job, char side, int n, int ilo, int ihi, float *scale, int m, complex *v, int ldv, int *info); void cgebak_64(char job, char side, long n, long ilo, long ihi, float *scale, long m, complex *v, long ldv, long *info); PURPOSE cgebak forms the right or left eigenvectors of a complex general matrix by backward transformation on the computed eigenvectors of the balanced matrix output by CGEBAL. ARGUMENTS JOB (input) 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 transfor- mations for both permutation and scaling. JOB must be the same as the argument JOB supplied to CGEBAL. SIDE (input) = 'R': V contains right eigenvectors; = 'L': V contains left eigenvectors. N (input) The number of rows of the matrix V. N >= 0. ILO (input) The integer ILO determined by CGEBAL. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. IHI (input) The integer IHI determined by CGEBAL. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. SCALE (input) Details of the permutation and scaling factors, as returned by CGEBAL. 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 CHSEIN or CTREVC. On exit, V is overwritten by the transformed eigenvectors. LDV (input) The leading dimension of the array V. LDV >= max(1,N). INFO (output) = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value. 7 Nov 2015 cgebak(3P)