?ggbak
?ggbak
Forms the right or left eigenvectors of a generalized eigenvalue problem.
Syntax
lapack_int LAPACKE_sggbak
(
int
matrix_layout
,
char
job
,
char
side
,
lapack_int
n
,
lapack_int
ilo
,
lapack_int
ihi
,
const float*
lscale
,
const float*
rscale
,
lapack_int
m
,
float*
v
,
lapack_int
ldv
);
lapack_int LAPACKE_dggbak
(
int
matrix_layout
,
char
job
,
char
side
,
lapack_int
n
,
lapack_int
ilo
,
lapack_int
ihi
,
const double*
lscale
,
const double*
rscale
,
lapack_int
m
,
double*
v
,
lapack_int
ldv
);
lapack_int LAPACKE_cggbak
(
int
matrix_layout
,
char
job
,
char
side
,
lapack_int
n
,
lapack_int
ilo
,
lapack_int
ihi
,
const float*
lscale
,
const float*
rscale
,
lapack_int
m
,
lapack_complex_float*
v
,
lapack_int
ldv
);
lapack_int LAPACKE_zggbak
(
int
matrix_layout
,
char
job
,
char
side
,
lapack_int
n
,
lapack_int
ilo
,
lapack_int
ihi
,
const double*
lscale
,
const double*
rscale
,
lapack_int
m
,
lapack_complex_double*
v
,
lapack_int
ldv
);
Include Files
- mkl.h
Description
The routine forms the right or left eigenvectors of a real/complex generalized eigenvalue problem
A
*x
= λ
*B
*x
by backward transformation on the computed eigenvectors of the balanced pair of matrices output by ggbal.
Input Parameters
- matrix_layout
- Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- job
- Specifies the type of backward transformation required. Must be'N','P','S', or'B'.If, then no operations are done; return.job='N'If, then do backward transformation for permutation only.job='P'If, then do backward transformation for scaling only.job='S'If, then do backward transformation for both permutation and scaling. This argument must be the same as the argumentjob='B'jobsupplied to?ggbal.
- side
- Must be'L'or'R'.If, thenside='L'vcontains left eigenvectors.If, thenside='R'vcontains right eigenvectors.
- n
- The number of rows of the matrixV(n≥0).
- ilo,ihi
- The integersiloandihidetermined by?gebal. Constraint:If, then 1n> 0≤ilo≤ihi≤n;if, thenn= 0andilo= 1.ihi= 0
- lscale,rscale
- Arrays, size at least max(1,n).The arraylscalecontains details of the permutations and/or scaling factors applied to the left side ofAandB, as returned by?ggbal.The arrayrscalecontains details of the permutations and/or scaling factors applied to the right side ofAandB, as returned by?ggbal.
- m
- The number of columns of the matrixV(m≥0).
- v
- Arrayv(size max(1,. Contains the matrix of right or left eigenvectors to be transformed, as returned by tgevc.ldv*m) for column major layout and max(1,ldv*n) for row major layout)
- ldv
- The leading dimension ofv; at least max(1,n)for column major layout and at least max(1,.m) for row major layout
Output Parameters
- v
- Overwritten by the transformed eigenvectors
Return Values
This function returns a value
info
.If , the execution is successful.
info
=0If , the
info
= -i
i
-th parameter had an illegal value.