SQRT02

   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
   November 2006

Purpose

SQRT02 tests SORGQR, which generates an m-by-n matrix Q with
orthonornmal columns that is defined as the product of k elementary
reflectors.

Given the QR factorization of an m-by-n matrix A, SQRT02 generates
the orthogonal matrix Q defined by the factorization of the first k
columns of A; it compares R(1:n,1:k) with Q(1:m,1:n)'*A(1:m,1:k),
and checks that the columns of Q are orthonormal.

Arguments

M
(input) INTEGER
The number of rows of the matrix Q to be generated.  M >= 0.
N
(input) INTEGER
The number of columns of the matrix Q to be generated.
M >= N >= 0.
K
(input) INTEGER
The number of elementary reflectors whose product defines the
matrix Q. N >= K >= 0.
A
(input) REAL array, dimension (LDA,N)
The m-by-n matrix A which was factorized by SQRT01.
AF
(input) REAL array, dimension (LDA,N)
Details of the QR factorization of A, as returned by SGEQRF.
See SGEQRF for further details.
Q
(workspace) REAL array, dimension (LDA,N)
R
(workspace) REAL array, dimension (LDA,N)
LDA
(input) INTEGER
The leading dimension of the arrays A, AF, Q and R. LDA >= M.
TAU
(input) REAL array, dimension (N)
The scalar factors of the elementary reflectors corresponding
to the QR factorization in AF.
WORK
(workspace) REAL array, dimension (LWORK)
LWORK
(input) INTEGER
The dimension of the array WORK.
RWORK
(workspace) REAL array, dimension (M)
RESULT
(output) REAL array, dimension (2)
The test ratios:
RESULT(1) = norm( R - Q'*A ) / ( M * norm(A) * EPS )
RESULT(2) = norm( I - Q'*Q ) / ( M * EPS )

Call Graph

Caller Graph