GVLCG

Computes all of the eigenvalues of a generalized complex eigensystem Az = lBz.

Required Arguments

A — Complex matrix of order N.   (Input)

B — Complex matrix of order N.   (Input)

ALPHA — Complex vector of length N. Ultimately, alpha(i)/betav(i) (for i = 1, n), will be the eigenvalues of the system in decreasing order of magnitude.   (Output)

BETAV — Complex vector of length N.   (Output)

Optional Arguments

N — Order of the matrices A and B.   (Input)
Default: N = size (A,2).

LDA — Leading dimension of A exactly as specified in the dimension statement in the calling program.   (Input)
Default: LDA = size (A,1).

LDB — Leading dimension of B exactly as specified in the dimension statement in the calling program.   (Input)
Default: LDB = size (B,1).

FORTRAN 90 Interface

Generic:          CALL GVLCG (A, B, ALPHA, BETAV [,…])

Specific:         The specific interface names are S_GVLCG and D_GVLCG.

FORTRAN 77 Interface

Single:            CALL GVLCG (N, A, LDA, B, LDB, ALPHA, BETAV)

Double:          The double precision name is DGVLCG.

Description

Routine GVLCG computes the eigenvalues of the generalized eigensystem Ax = lBx, where A and B are complex matrices of order n. The eigenvalues for this problem can be infinite; so instead of returning l, GVLCG returns α and β. If β is nonzero, then l = α/β. If the eigenvectors are needed, then use GVCCG.

The underlying code is based on either EISPACK or LAPACK code depending upon which supporting libraries are used during linking. For a detailed explanation, see “Using ScaLAPACK, LAPACK, LINPACK, and EISPACK” in the Introduction section of this manual.  Some timing information is given in Hanson et al. (1990).

Comments

1.         Workspace may be explicitly provided, if desired, by use of G3LCG/DG3LCG. The reference is:

CALL G3LCG (N, A, LDA, B, LDB, ALPHA, BETAV, ACOPY, BCOPY, CWK, WK, IWK)

The additional arguments are as follows:

ACOPY — Complex work array of length N2. A and ACOPY may be the same, in which case A will be destroyed.

BCOPY — Complex work array of length N2. B and BCOPY may be the same, in which case B will be destroyed.

CWK — Complex work array of length N.

WK — Real work array of length N.

IWK — Integer work array of length N.

2.         Informational error
Type                                   Code

   4                  1       The iteration for the eigenvalues failed to converge.

Example

In this example, DATA statements are used to set A and B. Then, the eigenvalues are computed and printed.

 

      USE GVLCG_INT

      USE WRCRN_INT

 

      IMPLICIT   NONE

!                                 Declaration of variables

      INTEGER    LDA, LDB, N

      PARAMETER  (N=5, LDA=N, LDB=N)

!

      INTEGER    I

      COMPLEX    A(LDA,N), ALPHA(N), B(LDB,N), BETAV(N), EVAL(N)

!

!                                 Define values of A and B

!

      DATA A/(-238.0,-344.0), (76.0,152.0), (118.0,284.0), &

          (-314.0,-160.0), (-54.0,-24.0), (86.0,178.0), &

          (-96.0,-128.0), (55.0,-182.0), (132.0,78.0), &

          (-205.0,-400.0), (164.0,240.0), (40.0,-32.0), &

          (-13.0,460.0), (114.0,296.0), (109.0,148.0), &

          (-166.0,-308.0), (60.0,184.0), (34.0,-192.0), &

          (-90.0,-164.0), (158.0,312.0), (56.0,158.0), &

          (-60.0,-136.0), (-176.0,-214.0), (-424.0,-374.0), &

          (-38.0,-96.0)/

      DATA B/(388.0,94.0), (-304.0,-76.0), (-658.0,-136.0), &

          (-640.0,-10.0), (-162.0,-72.0), (-386.0,-122.0), &

          (384.0,64.0), (-73.0,100.0), (204.0,-42.0), (631.0,158.0), &

          (-250.0,-14.0), (-160.0,16.0), (-109.0,-250.0), &

          (-692.0,-90.0), (131.0,52.0), (556.0,130.0), &

          (-240.0,-92.0), (-118.0,100.0), (288.0,66.0), &

          (-758.0,-184.0), (-396.0,-62.0), (240.0,68.0), &

          (406.0,96.0), (-192.0,154.0), (278.0,76.0)/

!

      CALL GVLCG (A, B, ALPHA, BETAV)

!                                 Compute eigenvalues

            EVAL = ALPHA/BETAV

 

!                                 Print results

      CALL WRCRN ('EVAL', EVAL, 1, N, 1)

 

      STOP

      END

Output

 

                                EVAL

               1                2                3                4

 (-1.000,-1.333)  ( 0.765, 0.941)  (-0.353, 0.412)  (-0.353,-0.412)

               5

 (-0.353,-0.412)


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260