zqlt03.f3
Usage
Functions/Subroutines
subroutine zqlt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result)
ZQLT03
Function/Subroutine Documentation
subroutine zqlt03 (integer m, integer n, integer k, complex*16, dimension( lda, * ) af, complex*16, dimension( lda, * ) c, complex*16, dimension( lda, * ) cc, complex*16, dimension( lda, * ) q, integer lda, complex*16, dimension( * ) tau, complex*16, dimension( lwork ) work, integer lwork, double precision, dimension( * ) rwork, double precision, dimension( * ) result)
ZQLT03
Purpose:
!> !> ZQLT03 tests ZUNMQL, which computes Q*C, Q'*C, C*Q or C*Q'. !> !> ZQLT03 compares the results of a call to ZUNMQL with the results of !> forming Q explicitly by a call to ZUNGQL and then performing matrix !> multiplication by a call to ZGEMM. !>
Parameters
M
!> M is INTEGER !> The order of the orthogonal matrix Q. M >= 0. !>
N
!> N is INTEGER !> The number of rows or columns of the matrix C; C is m-by-n if !> Q is applied from the left, or n-by-m if Q is applied from !> the right. N >= 0. !>
K
!> K is INTEGER !> The number of elementary reflectors whose product defines the !> orthogonal matrix Q. M >= K >= 0. !>
AF
!> AF is COMPLEX*16 array, dimension (LDA,N) !> Details of the QL factorization of an m-by-n matrix, as !> returned by ZGEQLF. See CGEQLF for further details. !>
C
!> C is COMPLEX*16 array, dimension (LDA,N) !>
CC
!> CC is COMPLEX*16 array, dimension (LDA,N) !>
Q
!> Q is COMPLEX*16 array, dimension (LDA,M) !>
LDA
!> LDA is INTEGER !> The leading dimension of the arrays AF, C, CC, and Q. !>
TAU
!> TAU is COMPLEX*16 array, dimension (min(M,N)) !> The scalar factors of the elementary reflectors corresponding !> to the QL factorization in AF. !>
WORK
!> WORK is COMPLEX*16 array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> The length of WORK. LWORK must be at least M, and should be !> M*NB, where NB is the blocksize for this environment. !>
RWORK
!> RWORK is DOUBLE PRECISION array, dimension (M) !>
RESULT
!> RESULT is DOUBLE PRECISION array, dimension (4) !> The test ratios compare two techniques for multiplying a !> random matrix C by an m-by-m orthogonal matrix Q. !> RESULT(1) = norm( Q*C - Q*C ) / ( M * norm(C) * EPS ) !> RESULT(2) = norm( C*Q - C*Q ) / ( M * norm(C) * EPS ) !> RESULT(3) = norm( Q'*C - Q'*C )/ ( M * norm(C) * EPS ) !> RESULT(4) = norm( C*Q' - C*Q' )/ ( M * norm(C) * EPS ) !>
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 134 of file zqlt03.f.