# dbdt01.f - Man Page

TESTING/EIG/dbdt01.f

## Synopsis

### 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**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page dbdt01(3) is an alias of dbdt01.f(3).

Tue Nov 28 2023 12:08:42 Version 3.12.0 LAPACK