CBAL(3F)

CBAL, SCBAL - EISPACK routine. This subroutine is a complex version of BALANCE.

As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.

NAME
     CBAL, SCBAL    -  EISPACK routine.  This subroutine is a complex version
     of BALANCE.


SYNOPSYS
          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)



DESCRIPTION
     This subroutine balances a COMPLEX matrix and isolates eigenvalues
     whenever possible.

     On INPUT

     NM must be set to the row dimension of two-dimensional 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,...,LOW-1 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,...,LOW-1
        = 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 LOW-1.  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
     reversed.)  Questions and comments should be directed to B. S. Garbow,
     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY