 |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
◆ drzt01()
double precision function drzt01 |
( |
integer |
M, |
|
|
integer |
N, |
|
|
double precision, dimension( lda, * ) |
A, |
|
|
double precision, dimension( lda, * ) |
AF, |
|
|
integer |
LDA, |
|
|
double precision, dimension( * ) |
TAU, |
|
|
double precision, dimension( lwork ) |
WORK, |
|
|
integer |
LWORK |
|
) |
| |
DRZT01
- Purpose:
DRZT01 returns
|| A - R*Q || / ( M * eps * ||A|| )
for an upper trapezoidal A that was factored with DTZRZF.
- Parameters
-
[in] | M | M is INTEGER
The number of rows of the matrices A and AF. |
[in] | N | N is INTEGER
The number of columns of the matrices A and AF. |
[in] | A | A is DOUBLE PRECISION array, dimension (LDA,N)
The original upper trapezoidal M by N matrix A. |
[in] | AF | AF is DOUBLE PRECISION array, dimension (LDA,N)
The output of DTZRZF for input matrix A.
The lower triangle is not referenced. |
[in] | LDA | LDA is INTEGER
The leading dimension of the arrays A and AF. |
[in] | TAU | TAU is DOUBLE PRECISION array, dimension (M)
Details of the Householder transformations as returned by
DTZRZF. |
[out] | WORK | WORK is DOUBLE PRECISION array, dimension (LWORK) |
[in] | LWORK | LWORK is INTEGER
The length of the array WORK. LWORK >= m*n + m*nb. |
- Author
- Univ. of Tennessee
-
Univ. of California Berkeley
-
Univ. of Colorado Denver
-
NAG Ltd.
- Date
- December 2016
Definition at line 100 of file drzt01.f.
107 INTEGER LDA, LWORK, M, N
110 DOUBLE PRECISION A( LDA, * ), AF( LDA, * ), TAU( * ),
117 DOUBLE PRECISION ZERO, ONE
118 parameter( zero = 0.0d+0, one = 1.0d+0 )
122 DOUBLE PRECISION NORMA
125 DOUBLE PRECISION RWORK( 1 )
128 DOUBLE PRECISION DLAMCH, DLANGE
141 IF( lwork.LT.m*n+m )
THEN
142 CALL xerbla(
'DRZT01', 8 )
148 IF( m.LE.0 .OR. n.LE.0 )
151 norma =
dlange(
'One-norm', m, n, a, lda, rwork )
155 CALL dlaset(
'Full', m, n, zero, zero, work, m )
158 work( ( j-1 )*m+i ) = af( i, j )
164 CALL dormrz(
'Right',
'No tranpose', m, n, m, n-m, af, lda, tau,
165 $ work, m, work( m*n+1 ), lwork-m*n, info )
170 CALL daxpy( m, -one, a( 1, i ), 1, work( ( i-1 )*m+1 ), 1 )
subroutine dormrz(SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
DORMRZ
double precision function dlange(NORM, M, N, A, LDA, WORK)
DLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
double precision function drzt01(M, N, A, AF, LDA, TAU, WORK, LWORK)
DRZT01
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dlaset(UPLO, M, N, ALPHA, BETA, A, LDA)
DLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
double precision function dlamch(CMACH)
DLAMCH
subroutine daxpy(N, DA, DX, INCX, DY, INCY)
DAXPY