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

# zgqrts.f(3)

## NAME

TESTING/EIG/zgqrts.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zgqrts** (n, m, p, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)\
 **ZGQRTS**

## Function/Subroutine Documentation

### subroutine zgqrts (integer n, integer m, integer p, complex\*16, dimension( lda, \* ) a, complex\*16, dimension( lda, \* ) af, complex\*16, dimension( lda, \* ) q, complex\*16, dimension( lda, \* ) r, integer lda, complex\*16, dimension( \* ) taua, complex\*16, dimension( ldb, \* ) b, complex\*16, dimension( ldb, \* ) bf, complex\*16, dimension( ldb, \* ) z, complex\*16, dimension( ldb, \* ) t, complex\*16, dimension( ldb, \* ) bwk, integer ldb, complex\*16, dimension( \* ) taub, complex\*16, dimension( lwork ) work, integer lwork, double precision, dimension( \* ) rwork, double precision, dimension( 4 ) result)

**ZGQRTS**

**Purpose:**

```
!>
!> ZGQRTS tests ZGGQRF, which computes the GQR factorization of an
!> N-by-M matrix A and a N-by-P matrix B: A = Q*R and B = Q*T*Z.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The number of rows of the matrices A and B.  N >= 0.
!>
```

*M*

```
!>          M is INTEGER
!>          The number of columns of the matrix A.  M >= 0.
!>
```

*P*

```
!>          P is INTEGER
!>          The number of columns of the matrix B.  P >= 0.
!>
```

*A*

```
!>          A is COMPLEX*16 array, dimension (LDA,M)
!>          The N-by-M matrix A.
!>
```

*AF*

```
!>          AF is COMPLEX*16 array, dimension (LDA,N)
!>          Details of the GQR factorization of A and B, as returned
!>          by ZGGQRF, see CGGQRF for further details.
!>
```

*Q*

```
!>          Q is COMPLEX*16 array, dimension (LDA,N)
!>          The M-by-M unitary matrix Q.
!>
```

*R*

```
!>          R is COMPLEX*16 array, dimension (LDA,MAX(M,N))
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the arrays A, AF, R and Q.
!>          LDA >= max(M,N).
!>
```

*TAUA*

```
!>          TAUA is COMPLEX*16 array, dimension (min(M,N))
!>          The scalar factors of the elementary reflectors, as returned
!>          by ZGGQRF.
!>
```

*B*

```
!>          B is COMPLEX*16 array, dimension (LDB,P)
!>          On entry, the N-by-P matrix A.
!>
```

*BF*

```
!>          BF is COMPLEX*16 array, dimension (LDB,N)
!>          Details of the GQR factorization of A and B, as returned
!>          by ZGGQRF, see CGGQRF for further details.
!>
```

*Z*

```
!>          Z is COMPLEX*16 array, dimension (LDB,P)
!>          The P-by-P unitary matrix Z.
!>
```

*T*

```
!>          T is COMPLEX*16 array, dimension (LDB,max(P,N))
!>
```

*BWK*

```
!>          BWK is COMPLEX*16 array, dimension (LDB,N)
!>
```

*LDB*

```
!>          LDB is INTEGER
!>          The leading dimension of the arrays B, BF, Z and T.
!>          LDB >= max(P,N).
!>
```

*TAUB*

```
!>          TAUB is COMPLEX*16 array, dimension (min(P,N))
!>          The scalar factors of the elementary reflectors, as returned
!>          by DGGRQF.
!>
```

*WORK*

```
!>          WORK is COMPLEX*16 array, dimension (LWORK)
!>
```

*LWORK*

```
!>          LWORK is INTEGER
!>          The dimension of the array WORK, LWORK >= max(N,M,P)**2.
!>
```

*RWORK*

```
!>          RWORK is DOUBLE PRECISION array, dimension (max(N,M,P))
!>
```

*RESULT*

```
!>          RESULT is DOUBLE PRECISION array, dimension (4)
!>          The test ratios:
!>            RESULT(1) = norm( R - Q'*A ) / ( MAX(M,N)*norm(A)*ULP)
!>            RESULT(2) = norm( T*Z - Q'*B ) / (MAX(P,N)*norm(B)*ULP)
!>            RESULT(3) = norm( I - Q'*Q ) / ( M*ULP )
!>            RESULT(4) = norm( I - Z'*Z ) / ( P*ULP )
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **174** of file **zgqrts.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
