_CBAL(3F) _CBAL(3F)
CBAL, SCBAL  EISPACK routine. This subroutine is a complex version
of BALANCE.
subroutine cbal(nm, n, ar, ai, low, igh, scale)
integer nm, n, low, igh
double precision ar(nm,n), ai(nm,n), scale(n)
subroutine scbal(nm, n, ar, ai, low, igh, scale)
integer nm, n, low, igh
real ar(nm,n), ai(nm,n), scale(n)
This subroutine balances a COMPLEX matrix and isolates eigenvalues
whenever possible.
On INPUT
NM must be set to the row dimension of twodimensional array parameters
as declared in the calling program dimension statement.
N is the order of the matrix.
AR and AI contain the real and imaginary parts, respectively, of the
complex matrix to be balanced. On OUTPUT
AR and AI contain the real and imaginary parts, respectively, of the
balanced matrix.
LOW and IGH are two integers such that AR(I,J) and AI(I,J) are equal to
zero if
(1) I is greater than J and
(2) J=1,...,LOW1 or I=IGH+1,...,N.
SCALE contains information determining the
permutations and scaling factors used. Suppose that the principal
submatrix in rows LOW through IGH has been balanced, that P(J) denotes
the index interchanged with J during the permutation step, and that the
elements of the diagonal matrix used are denoted by D(I,J). Then
SCALE (J) = P(J), for J = 1,...,LOW1
= D(J,J) J = LOW,...,IGH
= P(J) J = IGH+1,...,N. The order in which the interchanges
are made is N to IGH+1, then 1 to LOW1. Note that 1 is returned for IGH
if IGH is zero formally. The ALGOL procedure EXC contained in CBALANCE
appears in
CBAL in line. (Note that the ALGOL roles of identifiers K,L have been
Page 1
_CBAL(3F) _CBAL(3F)
reversed.) Questions and comments should be directed to B. S. Garbow,
APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY
PPPPaaaaggggeeee 2222 [ Back ]
