MB4DBZ

Inverse of a balancing transformation for a complex skew-Hamiltonian/Hamiltonian pencil

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

To apply from the left the inverse of a balancing transformation,
computed by the SLICOT Library routine MB4DPZ, to the complex
matrix

[   V1   ]
[        ],
[ sgn*V2 ]

where sgn is either +1 or -1.

Specification
SUBROUTINE MB4DBZ( JOB, SGN, N, ILO, LSCALE, RSCALE, M, V1, LDV1,
\$                   V2, LDV2, INFO )
C     .. Scalar Arguments ..
CHARACTER         JOB, SGN
INTEGER           ILO, INFO, LDV1, LDV2, M, N
C     .. Array Arguments ..
DOUBLE PRECISION  LSCALE(*), RSCALE(*)
COMPLEX*16        V1(LDV1,*), V2(LDV2,*)

Arguments

Mode Parameters

JOB     CHARACTER*1
Specifies the type of inverse transformation required:
= 'N':  do nothing, return immediately;
= 'P':  do inverse transformation for permutation only;
= 'S':  do inverse transformation for scaling only;
= 'B':  do inverse transformations for both permutation
and scaling.
JOB must be the same as the argument JOB supplied to
MB4DPZ.

SGN     CHARACTER*1
Specifies the sign to use for V2:
= 'P':  sgn = +1;
= 'N':  sgn = -1.

Input/Output Parameters
N       (input) INTEGER
The number of rows of the matrices V1 and V2. N >= 0.

ILO     (input) INTEGER
The integer ILO determined by MB4DPZ.
1 <= ILO <= N+1.

LSCALE  (input) DOUBLE PRECISION array, dimension (N)
Details of the permutation and scaling factors applied
from the left, as returned by MB4DPZ.

RSCALE  (input) DOUBLE PRECISION array, dimension (N)
Details of the permutation and scaling factors applied
from the right, as returned by MB4DPZ.

M       (input) INTEGER
The number of columns of the matrices V1 and V2.  M >= 0.

V1      (input/output) COMPLEX*16 array, dimension (LDV1,M)
On entry, the leading N-by-M part of this array must
contain the matrix V1.
On exit, the leading N-by-M part of this array is
overwritten by the updated matrix V1 of the transformed
matrix.

LDV1    INTEGER
The leading dimension of the array V1. LDV1 >= max(1,N).

V2      (input/output) COMPLEX*16 array, dimension (LDV2,M)
On entry, the leading N-by-M part of this array must
contain the matrix V2.
On exit, the leading N-by-M part of this array is
overwritten by the updated matrix V2 of the transformed
matrix.

LDV2    INTEGER
The leading dimension of the array V2. LDV2 >= max(1,N).

Error Indicator
INFO    INTEGER
= 0:  successful exit;
< 0:  if INFO = -i, the i-th argument had an illegal
value.

References
[1] Anderson, E., Bai, Z., Bischof, C., Demmel, J., Dongarra, J.,
Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A.,
Ostrouchov, S., and Sorensen, D.
LAPACK Users' Guide: Second Edition.

[2] Benner, P.
Symplectic balancing of Hamiltonian matrices.
SIAM J. Sci. Comput., 22 (5), pp. 1885-1904, 2001.