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

# sgrqts.f(3)

## NAME

TESTING/EIG/sgrqts.f

## SYNOPSIS

### Functions/Subroutines

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

## Function/Subroutine Documentation

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

**SGRQTS**

**Purpose:**

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

**Parameters**

*M*

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

*P*

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

*N*

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

*A*

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

*AF*

```
!>          AF is REAL array, dimension (LDA,N)
!>          Details of the GRQ factorization of A and B, as returned
!>          by SGGRQF, see SGGRQF for further details.
!>
```

*Q*

```
!>          Q is REAL array, dimension (LDA,N)
!>          The N-by-N orthogonal matrix Q.
!>
```

*R*

```
!>          R is REAL 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 REAL array, dimension (min(M,N))
!>          The scalar factors of the elementary reflectors, as returned
!>          by SGGQRC.
!>
```

*B*

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

*BF*

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

*Z*

```
!>          Z is REAL array, dimension (LDB,P)
!>          The P-by-P orthogonal matrix Z.
!>
```

*T*

```
!>          T is REAL array, dimension (LDB,max(P,N))
!>
```

*BWK*

```
!>          BWK is REAL 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 REAL array, dimension (min(P,N))
!>          The scalar factors of the elementary reflectors, as returned
!>          by SGGRQF.
!>
```

*WORK*

```
!>          WORK is REAL array, dimension (LWORK)
!>
```

*LWORK*

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

*RWORK*

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

*RESULT*

```
!>          RESULT is REAL array, dimension (4)
!>          The test ratios:
!>            RESULT(1) = norm( R - A*Q' ) / ( MAX(M,N)*norm(A)*ULP)
!>            RESULT(2) = norm( T*Q - Z'*B ) / (MAX(P,N)*norm(B)*ULP)
!>            RESULT(3) = norm( I - Q'*Q ) / ( N*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 **175** of file **sgrqts.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
