Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?gebak

Transforms eigenvectors of a balanced matrix to those of the original nonsymmetric matrix.

Syntax

call sgebak
(
job
,
side
,
n
,
ilo
,
ihi
,
scale
,
m
,
v
,
ldv
,
info
)
call dgebak
(
job
,
side
,
n
,
ilo
,
ihi
,
scale
,
m
,
v
,
ldv
,
info
)
call cgebak
(
job
,
side
,
n
,
ilo
,
ihi
,
scale
,
m
,
v
,
ldv
,
info
)
call zgebak
(
job
,
side
,
n
,
ilo
,
ihi
,
scale
,
m
,
v
,
ldv
,
info
)
call gebak
(
v
,
scale
[
,
ilo
]
[
,
ihi
]
[
,
job
]
[
,
side
]
[
,
info
]
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routine is intended to be used after a matrix
A
has been balanced by a call to
?gebal
, and eigenvectors of the balanced matrix
A''
22
have subsequently been computed. For a description of balancing, see gebal. The balanced matrix
A''
is obtained as
A''
=
D*P*A*P
T
*inv(
D
)
, where
P
is a permutation matrix and
D
is a diagonal scaling matrix. This routine transforms the eigenvectors as follows:
if
x
is a right eigenvector of
A''
, then
P
T
*
inv(
D
)*
x
is a right eigenvector of
A
; if
y
is a left eigenvector of
A''
, then
P
T
*
D
*
y
is a left eigenvector of
A
.
Input Parameters
job
CHARACTER*1
.
Must be
'N'
or
'P'
or
'S'
or
'B'
. The same parameter
job
as supplied to
?gebal
.
side
CHARACTER*1
.
Must be
'L'
or
'R'
.
If
side
=
'L'
, then left eigenvectors are transformed.
If
side
=
'R'
, then right eigenvectors are transformed.
n
INTEGER
.
The number of rows of the matrix of eigenvectors
(
n
0).
ilo
,
ihi
INTEGER
.
The values
ilo
and
ihi
, as returned by
?gebal
. (If
n
> 0
, then
1
ilo
ihi
n
;
if
n
= 0
, then
ilo
= 1
a