summaryrefslogtreecommitdiff
path: root/SRC/dlasd0.f
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2011-10-06 06:53:11 +0000
committerjulie <julielangou@users.noreply.github.com>2011-10-06 06:53:11 +0000
commite1d39294aee16fa6db9ba079b14442358217db71 (patch)
tree30e5aa04c1f6596991fda5334f63dfb9b8027849 /SRC/dlasd0.f
parent5fe0466a14e395641f4f8a300ecc9dcb8058081b (diff)
downloadlapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.gz
lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.bz2
lapack-e1d39294aee16fa6db9ba079b14442358217db71.zip
Integrating Doxygen in comments
Diffstat (limited to 'SRC/dlasd0.f')
-rw-r--r--SRC/dlasd0.f218
1 files changed, 150 insertions, 68 deletions
diff --git a/SRC/dlasd0.f b/SRC/dlasd0.f
index 2ad48270..59a16a90 100644
--- a/SRC/dlasd0.f
+++ b/SRC/dlasd0.f
@@ -1,86 +1,168 @@
- SUBROUTINE DLASD0( N, SQRE, D, E, U, LDU, VT, LDVT, SMLSIZ, IWORK,
- $ WORK, INFO )
-*
-* -- LAPACK auxiliary routine (version 3.2.2) --
-* -- LAPACK is a software package provided by Univ. of Tennessee, --
-* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* June 2010
-*
-* .. Scalar Arguments ..
- INTEGER INFO, LDU, LDVT, N, SMLSIZ, SQRE
-* ..
-* .. Array Arguments ..
- INTEGER IWORK( * )
- DOUBLE PRECISION D( * ), E( * ), U( LDU, * ), VT( LDVT, * ),
- $ WORK( * )
-* ..
-*
+*> \brief \b DLASD0
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+* Definition
+* ==========
+*
+* SUBROUTINE DLASD0( N, SQRE, D, E, U, LDU, VT, LDVT, SMLSIZ, IWORK,
+* WORK, INFO )
+*
+* .. Scalar Arguments ..
+* INTEGER INFO, LDU, LDVT, N, SMLSIZ, SQRE
+* ..
+* .. Array Arguments ..
+* INTEGER IWORK( * )
+* DOUBLE PRECISION D( * ), E( * ), U( LDU, * ), VT( LDVT, * ),
+* $ WORK( * )
+* ..
+*
* Purpose
* =======
*
-* Using a divide and conquer approach, DLASD0 computes the singular
-* value decomposition (SVD) of a real upper bidiagonal N-by-M
-* matrix B with diagonal D and offdiagonal E, where M = N + SQRE.
-* The algorithm computes orthogonal matrices U and VT such that
-* B = U * S * VT. The singular values S are overwritten on D.
-*
-* A related subroutine, DLASDA, computes only the singular values,
-* and optionally, the singular vectors in compact form.
+*>\details \b Purpose:
+*>\verbatim
+*>
+*> Using a divide and conquer approach, DLASD0 computes the singular
+*> value decomposition (SVD) of a real upper bidiagonal N-by-M
+*> matrix B with diagonal D and offdiagonal E, where M = N + SQRE.
+*> The algorithm computes orthogonal matrices U and VT such that
+*> B = U * S * VT. The singular values S are overwritten on D.
+*>
+*> A related subroutine, DLASDA, computes only the singular values,
+*> and optionally, the singular vectors in compact form.
+*>
+*>\endverbatim
*
* Arguments
* =========
*
-* N (input) INTEGER
-* On entry, the row dimension of the upper bidiagonal matrix.
-* This is also the dimension of the main diagonal array D.
-*
-* SQRE (input) INTEGER
-* Specifies the column dimension of the bidiagonal matrix.
-* = 0: The bidiagonal matrix has column dimension M = N;
-* = 1: The bidiagonal matrix has column dimension M = N+1;
-*
-* D (input/output) DOUBLE PRECISION array, dimension (N)
-* On entry D contains the main diagonal of the bidiagonal
-* matrix.
-* On exit D, if INFO = 0, contains its singular values.
-*
-* E (input) DOUBLE PRECISION array, dimension (M-1)
-* Contains the subdiagonal entries of the bidiagonal matrix.
-* On exit, E has been destroyed.
-*
-* U (output) DOUBLE PRECISION array, dimension at least (LDQ, N)
-* On exit, U contains the left singular vectors.
-*
-* LDU (input) INTEGER
-* On entry, leading dimension of U.
-*
-* VT (output) DOUBLE PRECISION array, dimension at least (LDVT, M)
-* On exit, VT**T contains the right singular vectors.
-*
-* LDVT (input) INTEGER
-* On entry, leading dimension of VT.
+*> \param[in] N
+*> \verbatim
+*> N is INTEGER
+*> On entry, the row dimension of the upper bidiagonal matrix.
+*> This is also the dimension of the main diagonal array D.
+*> \endverbatim
+*>
+*> \param[in] SQRE
+*> \verbatim
+*> SQRE is INTEGER
+*> Specifies the column dimension of the bidiagonal matrix.
+*> = 0: The bidiagonal matrix has column dimension M = N;
+*> = 1: The bidiagonal matrix has column dimension M = N+1;
+*> \endverbatim
+*>
+*> \param[in,out] D
+*> \verbatim
+*> D is DOUBLE PRECISION array, dimension (N)
+*> On entry D contains the main diagonal of the bidiagonal
+*> matrix.
+*> On exit D, if INFO = 0, contains its singular values.
+*> \endverbatim
+*>
+*> \param[in] E
+*> \verbatim
+*> E is DOUBLE PRECISION array, dimension (M-1)
+*> Contains the subdiagonal entries of the bidiagonal matrix.
+*> On exit, E has been destroyed.
+*> \endverbatim
+*>
+*> \param[out] U
+*> \verbatim
+*> U is DOUBLE PRECISION array, dimension at least (LDQ, N)
+*> On exit, U contains the left singular vectors.
+*> \endverbatim
+*>
+*> \param[in] LDU
+*> \verbatim
+*> LDU is INTEGER
+*> On entry, leading dimension of U.
+*> \endverbatim
+*>
+*> \param[out] VT
+*> \verbatim
+*> VT is DOUBLE PRECISION array, dimension at least (LDVT, M)
+*> On exit, VT**T contains the right singular vectors.
+*> \endverbatim
+*>
+*> \param[in] LDVT
+*> \verbatim
+*> LDVT is INTEGER
+*> On entry, leading dimension of VT.
+*> \endverbatim
+*>
+*> \param[in] SMLSIZ
+*> \verbatim
+*> SMLSIZ is INTEGER
+*> On entry, maximum size of the subproblems at the
+*> bottom of the computation tree.
+*> \endverbatim
+*>
+*> \param[out] IWORK
+*> \verbatim
+*> IWORK is INTEGER work array.
+*> Dimension must be at least (8 * N)
+*> \endverbatim
+*>
+*> \param[out] WORK
+*> \verbatim
+*> WORK is DOUBLE PRECISION work array.
+*> Dimension must be at least (3 * M**2 + 2 * M)
+*> \endverbatim
+*>
+*> \param[out] INFO
+*> \verbatim
+*> INFO is INTEGER
+*> = 0: successful exit.
+*> < 0: if INFO = -i, the i-th argument had an illegal value.
+*> > 0: if INFO = 1, a singular value did not converge
+*> \endverbatim
+*>
+*
+* Authors
+* =======
*
-* SMLSIZ (input) INTEGER
-* On entry, maximum size of the subproblems at the
-* bottom of the computation tree.
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
*
-* IWORK (workspace) INTEGER work array.
-* Dimension must be at least (8 * N)
+*> \date November 2011
*
-* WORK (workspace) DOUBLE PRECISION work array.
-* Dimension must be at least (3 * M**2 + 2 * M)
+*> \ingroup auxOTHERauxiliary
*
-* INFO (output) INTEGER
-* = 0: successful exit.
-* < 0: if INFO = -i, the i-th argument had an illegal value.
-* > 0: if INFO = 1, a singular value did not converge
*
* Further Details
* ===============
+*>\details \b Further \b Details
+*> \verbatim
+*>
+*> Based on contributions by
+*> Ming Gu and Huan Ren, Computer Science Division, University of
+*> California at Berkeley, USA
+*>
+*> \endverbatim
+*>
+* =====================================================================
+ SUBROUTINE DLASD0( N, SQRE, D, E, U, LDU, VT, LDVT, SMLSIZ, IWORK,
+ $ WORK, INFO )
+*
+* -- LAPACK auxiliary routine (version 3.2.2) --
+* -- LAPACK is a software package provided by Univ. of Tennessee, --
+* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
+* November 2011
*
-* Based on contributions by
-* Ming Gu and Huan Ren, Computer Science Division, University of
-* California at Berkeley, USA
+* .. Scalar Arguments ..
+ INTEGER INFO, LDU, LDVT, N, SMLSIZ, SQRE
+* ..
+* .. Array Arguments ..
+ INTEGER IWORK( * )
+ DOUBLE PRECISION D( * ), E( * ), U( LDU, * ), VT( LDVT, * ),
+ $ WORK( * )
+* ..
*
* =====================================================================
*