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

# dsgt01.f(3)

## NAME

TESTING/EIG/dsgt01.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dsgt01** (itype, uplo, n, m, a, lda, b, ldb, z, ldz, d, work, result)\
 **DSGT01**

## Function/Subroutine Documentation

### subroutine dsgt01 (integer itype, character uplo, integer n, integer m, double precision, dimension( lda, \* ) a, integer lda, double precision, dimension( ldb, \* ) b, integer ldb, double precision, dimension( ldz, \* ) z, integer ldz, double precision, dimension( \* ) d, double precision, dimension( \* ) work, double precision, dimension( \* ) result)

**DSGT01**

**Purpose:**

```
!>
!> DDGT01 checks a decomposition of the form
!>
!>    A Z   =  B Z D or
!>    A B Z =  Z D or
!>    B A Z =  Z D
!>
!> where A is a symmetric matrix, B is
!> symmetric positive definite, Z is orthogonal, and D is diagonal.
!>
!> One of the following test ratios is computed:
!>
!> ITYPE = 1:  RESULT(1) = | A Z - B Z D | / ( |A| |Z| n ulp )
!>
!> ITYPE = 2:  RESULT(1) = | A B Z - Z D | / ( |A| |Z| n ulp )
!>
!> ITYPE = 3:  RESULT(1) = | B A Z - Z D | / ( |A| |Z| n ulp )
!>
```

**Parameters**

*ITYPE*

```
!>          ITYPE is INTEGER
!>          The form of the symmetric generalized eigenproblem.
!>          = 1:  A*z = (lambda)*B*z
!>          = 2:  A*B*z = (lambda)*z
!>          = 3:  B*A*z = (lambda)*z
!>
```

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          symmetric matrices A and B is stored.
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>
```

*N*

```
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>
```

*M*

```
!>          M is INTEGER
!>          The number of eigenvalues found.  0 <= M <= N.
!>
```

*A*

```
!>          A is DOUBLE PRECISION array, dimension (LDA, N)
!>          The original symmetric matrix A.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>
```

*B*

```
!>          B is DOUBLE PRECISION array, dimension (LDB, N)
!>          The original symmetric positive definite matrix B.
!>
```

*LDB*

```
!>          LDB is INTEGER
!>          The leading dimension of the array B.  LDB >= max(1,N).
!>
```

*Z*

```
!>          Z is DOUBLE PRECISION array, dimension (LDZ, M)
!>          The computed eigenvectors of the generalized eigenproblem.
!>
```

*LDZ*

```
!>          LDZ is INTEGER
!>          The leading dimension of the array Z.  LDZ >= max(1,N).
!>
```

*D*

```
!>          D is DOUBLE PRECISION array, dimension (M)
!>          The computed eigenvalues of the generalized eigenproblem.
!>
```

*WORK*

```
!>          WORK is DOUBLE PRECISION array, dimension (N*N)
!>
```

*RESULT*

```
!>          RESULT is DOUBLE PRECISION array, dimension (1)
!>          The test ratio as described above.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **144** of file **dsgt01.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
