1ZGGBAL(1)                LAPACK routine (version 3.2)                ZGGBAL(1)
2
3
4

NAME

6       ZGGBAL - balances a pair of general complex matrices (A,B)
7

SYNOPSIS

9       SUBROUTINE ZGGBAL( JOB,  N,  A,  LDA, B, LDB, ILO, IHI, LSCALE, RSCALE,
10                          WORK, INFO )
11
12           CHARACTER      JOB
13
14           INTEGER        IHI, ILO, INFO, LDA, LDB, N
15
16           DOUBLE         PRECISION LSCALE( * ), RSCALE( * ), WORK( * )
17
18           COMPLEX*16     A( LDA, * ), B( LDB, * )
19

PURPOSE

21       ZGGBAL balances  a  pair  of  general  complex  matrices  (A,B).   This
22       involves,  first,  permuting  A  and B by similarity transformations to
23       isolate eigenvalues in the first 1 to ILO$-$1 and last IHI+1 to N  ele‐
24       ments  on  the  diagonal;  and  second,  applying a diagonal similarity
25       transformation to rows and columns ILO to IHI to make the rows and col‐
26       umns  as close in norm as possible. Both steps are optional.  Balancing
27       may reduce the 1-norm of the matrices, and improve the accuracy of  the
28       computed  eigenvalues and/or eigenvectors in the generalized eigenvalue
29       problem A*x = lambda*B*x.
30

ARGUMENTS

32       JOB     (input) CHARACTER*1
33               Specifies the operations to be performed on A and B:
34               = 'N':  none:  simply set ILO = 1, IHI = N, LSCALE(I) = 1.0 and
35               RSCALE(I) = 1.0 for i=1,...,N; = 'P':  permute only;
36               = 'S':  scale only;
37               = 'B':  both permute and scale.
38
39       N       (input) INTEGER
40               The order of the matrices A and B.  N >= 0.
41
42       A       (input/output) COMPLEX*16 array, dimension (LDA,N)
43               On entry, the input matrix A.  On exit, A is overwritten by the
44               balanced matrix.  If JOB = 'N', A is not referenced.
45
46       LDA     (input) INTEGER
47               The leading dimension of the array A. LDA >= max(1,N).
48
49       B       (input/output) COMPLEX*16 array, dimension (LDB,N)
50               On entry, the input matrix B.  On exit, B is overwritten by the
51               balanced matrix.  If JOB = 'N', B is not referenced.
52
53       LDB     (input) INTEGER
54               The leading dimension of the array B. LDB >= max(1,N).
55
56       ILO     (output) INTEGER
57               IHI      (output)  INTEGER ILO and IHI are set to integers such
58               that on exit A(i,j) = 0 and B(i,j) =  0  if  i  >  j  and  j  =
59               1,...,ILO-1  or  i = IHI+1,...,N.  If JOB = 'N' or 'S', ILO = 1
60               and IHI = N.
61
62       LSCALE  (output) DOUBLE PRECISION array, dimension (N)
63               Details of the permutations and scaling factors applied to  the
64               left  side  of A and B.  If P(j) is the index of the row inter‐
65               changed with row j, and D(j) is the scaling factor  applied  to
66               row  j,  then  LSCALE(j)  =  P(j)    for J = 1,...,ILO-1 = D(j)
67               for J = ILO,...,IHI = P(j)    for J = IHI+1,...,N.   The  order
68               in  which  the  interchanges  are made is N to IHI+1, then 1 to
69               ILO-1.
70
71       RSCALE  (output) DOUBLE PRECISION array, dimension (N)
72               Details of the permutations and scaling factors applied to  the
73               right  side  of  A  and  B.  If P(j) is the index of the column
74               interchanged with column j, and  D(j)  is  the  scaling  factor
75               applied  to  column  j,  then  RSCALE(j)  =  P(j)     for  J  =
76               1,...,ILO-1 = D(j)    for J = ILO,...,IHI =  P(j)     for  J  =
77               IHI+1,...,N.  The order in which the interchanges are made is N
78               to IHI+1, then 1 to ILO-1.
79
80       WORK    (workspace) REAL array, dimension (lwork)
81               lwork must be at least max(1,6*N) when JOB = 'S' or 'B', and at
82               least 1 when JOB = 'N' or 'P'.
83
84       INFO    (output) INTEGER
85               = 0:  successful exit
86               < 0:  if INFO = -i, the i-th argument had an illegal value.
87

FURTHER DETAILS

89       See R.C. WARD, Balancing the generalized eigenvalue problem,
90                      SIAM J. Sci. Stat. Comp. 2 (1981), 141-152.
91
92
93
94 LAPACK routine (version 3.2)    November 2008                       ZGGBAL(1)
Impressum