sggbal(3)

NAME

SGGBAL - balance a pair of general real matrices (A,B)

SYNOPSIS

SUBROUTINE SGGBAL( JOB, N,  A,  LDA,  B,  LDB,  ILO,  IHI,
LSCALE, RSCALE, WORK, INFO )
    CHARACTER      JOB
    INTEGER        IHI, ILO, INFO, LDA, LDB, N
    REAL            A( LDA, * ), B( LDB, * ), LSCALE( * ),
RSCALE( * ), WORK( * )

PURPOSE

SGGBAL balances a pair of general real matrices (A,B).
This involves, first, permuting A and B by similarity transforma
tions to isolate eigenvalues in the first 1 to ILO$-$1 and last
IHI+1 to N elements on the diagonal; and second, applying a diag
onal similarity transformation to rows and columns ILO to IHI to
make the rows and columns as close in norm as possible. Both
steps are optional.
Balancing may reduce the 1-norm of the matrices, and im
prove the accuracy of the computed eigenvalues and/or eigenvec
tors in the generalized eigenvalue problem A*x = lambda*B*x.

ARGUMENTS

JOB (input) CHARACTER*1
Specifies the operations to be performed on A and
B:
= 'N': none: simply set ILO = 1, IHI = N,
LSCALE(I) = 1.0 and RSCALE(I) = 1.0 for i = 1,...,N. = 'P':
permute only;
= 'S': scale only;
= 'B': both permute and scale.
N (input) INTEGER
The order of the matrices A and B. N >= 0.
A (input/output) REAL array, dimension (LDA,N)
On entry, the input matrix A. On exit, A is
overwritten by the balanced matrix. If JOB = 'N', A is not ref
erenced.
LDA (input) INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
B (input/output) REAL array, dimension (LDB,N)
On entry, the input matrix B. On exit, B is
overwritten by the balanced matrix. If JOB = 'N', B is not ref
erenced.
LDB (input) INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
ILO (output) INTEGER
IHI (output) INTEGER ILO and IHI are set to
integers such that on exit A(i,j) = 0 and B(i,j) = 0 if i > j and
j = 1,...,ILO-1 or i = IHI+1,...,N. If JOB = 'N' or 'S', ILO = 1
and IHI = N.
LSCALE (output) REAL array, dimension (N)
Details of the permutations and scaling factors
applied to the left side of A and B. If P(j) is the index of the
row interchanged with row j, and D(j) is the scaling factor ap
plied to row j, then LSCALE(j) = P(j) for J = 1,...,ILO-1 =
D(j) for J = ILO,...,IHI = P(j) for J = IHI+1,...,N. The
order in which the interchanges are made is N to IHI+1, then 1 to
ILO-1.
RSCALE (output) REAL array, dimension (N)
Details of the permutations and scaling factors
applied to the right side of A and B. If P(j) is the index of
the column interchanged with column j, and D(j) is the scaling
factor applied to column j, then LSCALE(j) = P(j) for J =
1,...,ILO-1 = D(j) for J = ILO,...,IHI = P(j) for J =
IHI+1,...,N. The order in which the interchanges are made is N
to IHI+1, then 1 to ILO-1.
WORK (workspace) REAL array, dimension (6*N)
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille
gal value.

FURTHER DETAILS

See R.C. WARD, Balancing the generalized eigenvalue prob
lem,
SIAM J. Sci. Stat. Comp. 2 (1981), 141-152.
LAPACK version 3.0 15 June 2000
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout