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

# sgqrts(3)

Part of [sgqrts.f(3)](/sgqrts.f/3.md).

## NAME

TESTING/EIG/sgqrts.f

## SYNOPSIS

### Functions/Subroutines

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

## Function/Subroutine Documentation

### subroutine sgqrts (integer n, integer m, integer p, 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)

**SGQRTS**

**Purpose:**

```
!>
!> SGQRTS tests SGGQRF, 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 REAL array, dimension (LDA,M)
!>          The N-by-M matrix A.
!>
```

*AF*

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

*Q*

```
!>          Q is REAL array, dimension (LDA,N)
!>          The M-by-M 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 SGGQRF.
!>
```

*B*

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

*BF*

```
!>          BF is REAL array, dimension (LDB,N)
!>          Details of the GQR factorization of A and B, as returned
!>          by SGGQRF, see SGGQRF 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(N,M,P)**2.
!>
```

*RWORK*

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

*RESULT*

```
!>          RESULT is REAL 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 **sgqrts.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
