Developer Reference

Contents

?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
job
=
'N'
, then no operations are done; return.
If
job
=
'P'
, then do backward transformation for permutation only.
If
job
=
'S'
, then do backward transformation for scaling only.
If
job
=
'B'
, then do backward transformation for both permutation and scaling. This argument must be the same as the argument
job
supplied to
?ggbal
.
side
Must be
'L'
or
'R'
.
If
side
=
'L'
, then
v
contains left eigenvectors.
If
side
=
'R'
, then
v
contains right eigenvectors.
n
The number of rows of the matrix
V
(
n
0).
ilo
,
ihi
The integers
ilo
and
ihi
determined by
?gebal
. Constraint:
If
n
> 0
, then 1
ilo
ihi
n
;
if
n
= 0
, then
ilo
= 1
and
ihi
= 0
.
lscale
,
rscale
Arrays, size at least max(1,
n
).
The array
lscale
contains details of the permutations and/or scaling factors applied to the left side of
A
and
B
, as returned by
?ggbal
.
The array
rscale
contains details of the permutations and/or scaling factors applied to the right side of
A
and
B
, as returned by
?ggbal
.
m
The number of columns of the matrix
V
(
m
0).
v
Array
v
(size max(1,
ldv
*
m
) for column major layout and max(1,
ldv
*
n
) for row major layout)
. Contains the matrix of right or left eigenvectors to be transformed, as returned by tgevc.
ldv
The leading dimension of
v
; 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
info
=0
, the execution is successful.
If
info
=
-i
, the
i
-th parameter had an illegal value.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.