---
name: "cget52.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/cget52.f"
---

# cget52.f(3)

## NAME

TESTING/EIG/cget52.f

## SYNOPSIS

### Functions/Subroutines

subroutine **cget52** (left, n, a, lda, b, ldb, e, **lde**, alpha, beta, work, rwork, result)\
 **CGET52**

## Function/Subroutine Documentation

### subroutine cget52 (logical left, integer n, complex, dimension( lda, \* ) a, integer lda, complex, dimension( ldb, \* ) b, integer ldb, complex, dimension( lde, \* ) e, integer lde, complex, dimension( \* ) alpha, complex, dimension( \* ) beta, complex, dimension( \* ) work, real, dimension( \* ) rwork, real, dimension( 2 ) result)

**CGET52**

**Purpose:**

```
!>
!> CGET52  does an eigenvector check for the generalized eigenvalue
!> problem.
!>
!> The basic test for right eigenvectors is:
!>
!>                           | b(i) A E(i) -  a(i) B E(i) |
!>         RESULT(1) = max   -------------------------------
!>                      i    n ulp max( |b(i) A|, |a(i) B| )
!>
!> using the 1-norm.  Here, a(i)/b(i) = w is the i-th generalized
!> eigenvalue of A - w B, or, equivalently, b(i)/a(i) = m is the i-th
!> generalized eigenvalue of m A - B.
!>
!>                         H   H  _      _
!> For left eigenvectors, A , B , a, and b  are used.
!>
!> CGET52 also tests the normalization of E.  Each eigenvector is
!> supposed to be normalized so that the maximum
!> of its elements is 1, where in this case,
!> of a complex value x is  |Re(x)| + |Im(x)| ; let us call this
!> maximum  norm of a vector v  M(v).
!> if a(i)=b(i)=0, then the eigenvector is set to be the jth coordinate
!> vector. The normalization test is:
!>
!>         RESULT(2) =      max       | M(v(i)) - 1 | / ( n ulp )
!>                    eigenvectors v(i)
!>
```

**Parameters**

*LEFT*

```
!>          LEFT is LOGICAL
!>          =.TRUE.:  The eigenvectors in the columns of E are assumed
!>                    to be *left* eigenvectors.
!>          =.FALSE.: The eigenvectors in the columns of E are assumed
!>                    to be *right* eigenvectors.
!>
```

*N*

```
!>          N is INTEGER
!>          The size of the matrices.  If it is zero, CGET52 does
!>          nothing.  It must be at least zero.
!>
```

*A*

```
!>          A is COMPLEX array, dimension (LDA, N)
!>          The matrix A.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of A.  It must be at least 1
!>          and at least N.
!>
```

*B*

```
!>          B is COMPLEX array, dimension (LDB, N)
!>          The matrix B.
!>
```

*LDB*

```
!>          LDB is INTEGER
!>          The leading dimension of B.  It must be at least 1
!>          and at least N.
!>
```

*E*

```
!>          E is COMPLEX array, dimension (LDE, N)
!>          The matrix of eigenvectors.  It must be O( 1 ).
!>
```

*LDE*

```
!>          LDE is INTEGER
!>          The leading dimension of E.  It must be at least 1 and at
!>          least N.
!>
```

*ALPHA*

```
!>          ALPHA is COMPLEX array, dimension (N)
!>          The values a(i) as described above, which, along with b(i),
!>          define the generalized eigenvalues.
!>
```

*BETA*

```
!>          BETA is COMPLEX array, dimension (N)
!>          The values b(i) as described above, which, along with a(i),
!>          define the generalized eigenvalues.
!>
```

*WORK*

```
!>          WORK is COMPLEX array, dimension (N**2)
!>
```

*RWORK*

```
!>          RWORK is REAL array, dimension (N)
!>
```

*RESULT*

```
!>          RESULT is REAL array, dimension (2)
!>          The values computed by the test described above.  If A E or
!>          B E is likely to overflow, then RESULT(1:2) is set to
!>          10 / ulp.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **159** of file **cget52.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
