---
name: "cget51.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/cget51.f"
---

# cget51.f(3)

## NAME

TESTING/EIG/cget51.f

## SYNOPSIS

### Functions/Subroutines

subroutine **cget51** (itype, n, a, lda, b, ldb, u, ldu, v, ldv, work, rwork, result)\
 **CGET51**

## Function/Subroutine Documentation

### subroutine cget51 (integer itype, integer n, complex, dimension( lda, \* ) a, integer lda, complex, dimension( ldb, \* ) b, integer ldb, complex, dimension( ldu, \* ) u, integer ldu, complex, dimension( ldv, \* ) v, integer ldv, complex, dimension( \* ) work, real, dimension( \* ) rwork, real result)

**CGET51**

**Purpose:**

```
!>
!>      CGET51  generally checks a decomposition of the form
!>
!>              A = U B V**H
!>
!>      where **H means conjugate transpose and U and V are unitary.
!>
!>      Specifically, if ITYPE=1
!>
!>              RESULT = | A - U B V**H | / ( |A| n ulp )
!>
!>      If ITYPE=2, then:
!>
!>              RESULT = | A - B | / ( |A| n ulp )
!>
!>      If ITYPE=3, then:
!>
!>              RESULT = | I - U U**H | / ( n ulp )
!>
```

**Parameters**

*ITYPE*

```
!>          ITYPE is INTEGER
!>          Specifies the type of tests to be performed.
!>          =1: RESULT = | A - U B V**H | / ( |A| n ulp )
!>          =2: RESULT = | A - B | / ( |A| n ulp )
!>          =3: RESULT = | I - U U**H | / ( n ulp )
!>
```

*N*

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

*A*

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

*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 factored matrix.
!>
```

*LDB*

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

*U*

```
!>          U is COMPLEX array, dimension (LDU, N)
!>          The unitary matrix on the left-hand side in the
!>          decomposition.
!>          Not referenced if ITYPE=2
!>
```

*LDU*

```
!>          LDU is INTEGER
!>          The leading dimension of U.  LDU must be at least N and
!>          at least 1.
!>
```

*V*

```
!>          V is COMPLEX array, dimension (LDV, N)
!>          The unitary matrix on the left-hand side in the
!>          decomposition.
!>          Not referenced if ITYPE=2
!>
```

*LDV*

```
!>          LDV is INTEGER
!>          The leading dimension of V.  LDV must be at least N and
!>          at least 1.
!>
```

*WORK*

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

*RWORK*

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

*RESULT*

```
!>          RESULT is REAL
!>          The values computed by the test specified by ITYPE.  The
!>          value is currently limited to 1/ulp, to avoid overflow.
!>          Errors are flagged by RESULT=10/ulp.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **153** of file **cget51.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
