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

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804