dbdt01.f3
Usage
Functions/Subroutines
subroutine dbdt01 (m, n, kd, a, lda, q, ldq, d, e, pt, ldpt, work, resid)
DBDT01
Function/Subroutine Documentation
subroutine dbdt01 (integer m, integer n, integer kd, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( ldq, * ) q, integer ldq, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldpt, * ) pt, integer ldpt, double precision, dimension( * ) work, double precision resid)
DBDT01
Purpose:
!> !> DBDT01 reconstructs a general matrix A from its bidiagonal form !> A = Q * B * P**T !> where Q (m by min(m,n)) and P**T (min(m,n) by n) are orthogonal !> matrices and B is bidiagonal. !> !> The test ratio to test the reduction is !> RESID = norm(A - Q * B * P**T) / ( n * norm(A) * EPS ) !> where EPS is the machine precision. !>
Parameters
M
!> M is INTEGER !> The number of rows of the matrices A and Q. !>
N
!> N is INTEGER !> The number of columns of the matrices A and P**T. !>
KD
!> KD is INTEGER !> If KD = 0, B is diagonal and the array E is not referenced. !> If KD = 1, the reduction was performed by xGEBRD; B is upper !> bidiagonal if M >= N, and lower bidiagonal if M < N. !> If KD = -1, the reduction was performed by xGBBRD; B is !> always upper bidiagonal. !>
A
!> A is DOUBLE PRECISION array, dimension (LDA,N) !> The m by n matrix A. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !>
Q
!> Q is DOUBLE PRECISION array, dimension (LDQ,N) !> The m by min(m,n) orthogonal matrix Q in the reduction !> A = Q * B * P**T. !>
LDQ
!> LDQ is INTEGER !> The leading dimension of the array Q. LDQ >= max(1,M). !>
D
!> D is DOUBLE PRECISION array, dimension (min(M,N)) !> The diagonal elements of the bidiagonal matrix B. !>
E
!> E is DOUBLE PRECISION array, dimension (min(M,N)-1) !> The superdiagonal elements of the bidiagonal matrix B if !> m >= n, or the subdiagonal elements of B if m < n. !>
PT
!> PT is DOUBLE PRECISION array, dimension (LDPT,N) !> The min(m,n) by n orthogonal matrix P**T in the reduction !> A = Q * B * P**T. !>
LDPT
!> LDPT is INTEGER !> The leading dimension of the array PT. !> LDPT >= max(1,min(M,N)). !>
WORK
!> WORK is DOUBLE PRECISION array, dimension (M+N) !>
RESID
!> RESID is DOUBLE PRECISION !> The test ratio: !> norm(A - Q * B * P**T) / ( n * norm(A) * EPS ) !>
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 139 of file dbdt01.f.