diff options
author | julie <julielangou@users.noreply.github.com> | 2011-10-06 06:53:11 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2011-10-06 06:53:11 +0000 |
commit | e1d39294aee16fa6db9ba079b14442358217db71 (patch) | |
tree | 30e5aa04c1f6596991fda5334f63dfb9b8027849 /TESTING/EIG/zbdt01.f | |
parent | 5fe0466a14e395641f4f8a300ecc9dcb8058081b (diff) | |
download | lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.gz lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.bz2 lapack-e1d39294aee16fa6db9ba079b14442358217db71.zip |
Integrating Doxygen in comments
Diffstat (limited to 'TESTING/EIG/zbdt01.f')
-rw-r--r-- | TESTING/EIG/zbdt01.f | 215 |
1 files changed, 150 insertions, 65 deletions
diff --git a/TESTING/EIG/zbdt01.f b/TESTING/EIG/zbdt01.f index ddf520e2..10eb6016 100644 --- a/TESTING/EIG/zbdt01.f +++ b/TESTING/EIG/zbdt01.f @@ -1,9 +1,157 @@ +*> \brief \b ZBDT01 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +* Definition +* ========== +* +* SUBROUTINE ZBDT01( M, N, KD, A, LDA, Q, LDQ, D, E, PT, LDPT, WORK, +* RWORK, RESID ) +* +* .. Scalar Arguments .. +* INTEGER KD, LDA, LDPT, LDQ, M, N +* DOUBLE PRECISION RESID +* .. +* .. Array Arguments .. +* DOUBLE PRECISION D( * ), E( * ), RWORK( * ) +* COMPLEX*16 A( LDA, * ), PT( LDPT, * ), Q( LDQ, * ), +* $ WORK( * ) +* .. +* +* Purpose +* ======= +* +*>\details \b Purpose: +*>\verbatim +*> +*> ZBDT01 reconstructs a general matrix A from its bidiagonal form +*> A = Q * B * P' +*> where Q (m by min(m,n)) and P' (min(m,n) by n) are unitary +*> matrices and B is bidiagonal. +*> +*> The test ratio to test the reduction is +*> RESID = norm( A - Q * B * PT ) / ( n * norm(A) * EPS ) +*> where PT = P' and EPS is the machine precision. +*> +*>\endverbatim +* +* Arguments +* ========= +* +*> \param[in] M +*> \verbatim +*> M is INTEGER +*> The number of rows of the matrices A and Q. +*> \endverbatim +*> +*> \param[in] N +*> \verbatim +*> N is INTEGER +*> The number of columns of the matrices A and P'. +*> \endverbatim +*> +*> \param[in] KD +*> \verbatim +*> 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. +*> \endverbatim +*> +*> \param[in] A +*> \verbatim +*> A is COMPLEX*16 array, dimension (LDA,N) +*> The m by n matrix A. +*> \endverbatim +*> +*> \param[in] LDA +*> \verbatim +*> LDA is INTEGER +*> The leading dimension of the array A. LDA >= max(1,M). +*> \endverbatim +*> +*> \param[in] Q +*> \verbatim +*> Q is COMPLEX*16 array, dimension (LDQ,N) +*> The m by min(m,n) unitary matrix Q in the reduction +*> A = Q * B * P'. +*> \endverbatim +*> +*> \param[in] LDQ +*> \verbatim +*> LDQ is INTEGER +*> The leading dimension of the array Q. LDQ >= max(1,M). +*> \endverbatim +*> +*> \param[in] D +*> \verbatim +*> D is DOUBLE PRECISION array, dimension (min(M,N)) +*> The diagonal elements of the bidiagonal matrix B. +*> \endverbatim +*> +*> \param[in] E +*> \verbatim +*> 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. +*> \endverbatim +*> +*> \param[in] PT +*> \verbatim +*> PT is COMPLEX*16 array, dimension (LDPT,N) +*> The min(m,n) by n unitary matrix P' in the reduction +*> A = Q * B * P'. +*> \endverbatim +*> +*> \param[in] LDPT +*> \verbatim +*> LDPT is INTEGER +*> The leading dimension of the array PT. +*> LDPT >= max(1,min(M,N)). +*> \endverbatim +*> +*> \param[out] WORK +*> \verbatim +*> WORK is COMPLEX*16 array, dimension (M+N) +*> \endverbatim +*> +*> \param[out] RWORK +*> \verbatim +*> RWORK is DOUBLE PRECISION array, dimension (M) +*> \endverbatim +*> +*> \param[out] RESID +*> \verbatim +*> RESID is DOUBLE PRECISION +*> The test ratio: norm(A - Q * B * P') / ( n * norm(A) * EPS ) +*> \endverbatim +*> +* +* Authors +* ======= +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup complex16_eig +* +* ===================================================================== SUBROUTINE ZBDT01( M, N, KD, A, LDA, Q, LDQ, D, E, PT, LDPT, WORK, $ RWORK, RESID ) * * -- LAPACK test routine (version 3.1) -- -* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. -* November 2006 +* -- LAPACK is a software package provided by Univ. of Tennessee, -- +* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- +* November 2011 * * .. Scalar Arguments .. INTEGER KD, LDA, LDPT, LDQ, M, N @@ -15,69 +163,6 @@ $ WORK( * ) * .. * -* Purpose -* ======= -* -* ZBDT01 reconstructs a general matrix A from its bidiagonal form -* A = Q * B * P' -* where Q (m by min(m,n)) and P' (min(m,n) by n) are unitary -* matrices and B is bidiagonal. -* -* The test ratio to test the reduction is -* RESID = norm( A - Q * B * PT ) / ( n * norm(A) * EPS ) -* where PT = P' and EPS is the machine precision. -* -* Arguments -* ========= -* -* M (input) INTEGER -* The number of rows of the matrices A and Q. -* -* N (input) INTEGER -* The number of columns of the matrices A and P'. -* -* KD (input) 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 (input) COMPLEX*16 array, dimension (LDA,N) -* The m by n matrix A. -* -* LDA (input) INTEGER -* The leading dimension of the array A. LDA >= max(1,M). -* -* Q (input) COMPLEX*16 array, dimension (LDQ,N) -* The m by min(m,n) unitary matrix Q in the reduction -* A = Q * B * P'. -* -* LDQ (input) INTEGER -* The leading dimension of the array Q. LDQ >= max(1,M). -* -* D (input) DOUBLE PRECISION array, dimension (min(M,N)) -* The diagonal elements of the bidiagonal matrix B. -* -* E (input) 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 (input) COMPLEX*16 array, dimension (LDPT,N) -* The min(m,n) by n unitary matrix P' in the reduction -* A = Q * B * P'. -* -* LDPT (input) INTEGER -* The leading dimension of the array PT. -* LDPT >= max(1,min(M,N)). -* -* WORK (workspace) COMPLEX*16 array, dimension (M+N) -* -* RWORK (workspace) DOUBLE PRECISION array, dimension (M) -* -* RESID (output) DOUBLE PRECISION -* The test ratio: norm(A - Q * B * P') / ( n * norm(A) * EPS ) -* * ===================================================================== * * .. Parameters .. |