summaryrefslogtreecommitdiff
path: root/SRC/dlarrf.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/dlarrf.f
parent5fe0466a14e395641f4f8a300ecc9dcb8058081b (diff)
downloadlapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.gz
lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.bz2
lapack-e1d39294aee16fa6db9ba079b14442358217db71.zip
Integrating Doxygen in comments
Diffstat (limited to 'SRC/dlarrf.f')
-rw-r--r--SRC/dlarrf.f278
1 files changed, 190 insertions, 88 deletions
diff --git a/SRC/dlarrf.f b/SRC/dlarrf.f
index 17c4dd05..db2e0907 100644
--- a/SRC/dlarrf.f
+++ b/SRC/dlarrf.f
@@ -1,3 +1,191 @@
+*> \brief \b DLARRF
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+* Definition
+* ==========
+*
+* SUBROUTINE DLARRF( N, D, L, LD, CLSTRT, CLEND,
+* W, WGAP, WERR,
+* SPDIAM, CLGAPL, CLGAPR, PIVMIN, SIGMA,
+* DPLUS, LPLUS, WORK, INFO )
+*
+* .. Scalar Arguments ..
+* INTEGER CLSTRT, CLEND, INFO, N
+* DOUBLE PRECISION CLGAPL, CLGAPR, PIVMIN, SIGMA, SPDIAM
+* ..
+* .. Array Arguments ..
+* DOUBLE PRECISION D( * ), DPLUS( * ), L( * ), LD( * ),
+* $ LPLUS( * ), W( * ), WGAP( * ), WERR( * ), WORK( * )
+* ..
+*
+* Purpose
+* =======
+*
+*>\details \b Purpose:
+*>\verbatim
+*>
+*> Given the initial representation L D L^T and its cluster of close
+*> eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ...
+*> W( CLEND ), DLARRF finds a new relatively robust representation
+*> L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the
+*> eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
+*>
+*>\endverbatim
+*
+* Arguments
+* =========
+*
+*> \param[in] N
+*> \verbatim
+*> N is INTEGER
+*> The order of the matrix (subblock, if the matrix splitted).
+*> \endverbatim
+*>
+*> \param[in] D
+*> \verbatim
+*> D is DOUBLE PRECISION array, dimension (N)
+*> The N diagonal elements of the diagonal matrix D.
+*> \endverbatim
+*>
+*> \param[in] L
+*> \verbatim
+*> L is DOUBLE PRECISION array, dimension (N-1)
+*> The (N-1) subdiagonal elements of the unit bidiagonal
+*> matrix L.
+*> \endverbatim
+*>
+*> \param[in] LD
+*> \verbatim
+*> LD is DOUBLE PRECISION array, dimension (N-1)
+*> The (N-1) elements L(i)*D(i).
+*> \endverbatim
+*>
+*> \param[in] CLSTRT
+*> \verbatim
+*> CLSTRT is INTEGER
+*> The index of the first eigenvalue in the cluster.
+*> \endverbatim
+*>
+*> \param[in] CLEND
+*> \verbatim
+*> CLEND is INTEGER
+*> The index of the last eigenvalue in the cluster.
+*> \endverbatim
+*>
+*> \param[in] W
+*> \verbatim
+*> W is DOUBLE PRECISION array, dimension
+*> dimension is >= (CLEND-CLSTRT+1)
+*> The eigenvalue APPROXIMATIONS of L D L^T in ascending order.
+*> W( CLSTRT ) through W( CLEND ) form the cluster of relatively
+*> close eigenalues.
+*> \endverbatim
+*>
+*> \param[in,out] WGAP
+*> \verbatim
+*> WGAP is DOUBLE PRECISION array, dimension
+*> dimension is >= (CLEND-CLSTRT+1)
+*> The separation from the right neighbor eigenvalue in W.
+*> \endverbatim
+*>
+*> \param[in] WERR
+*> \verbatim
+*> WERR is DOUBLE PRECISION array, dimension
+*> dimension is >= (CLEND-CLSTRT+1)
+*> WERR contain the semiwidth of the uncertainty
+*> interval of the corresponding eigenvalue APPROXIMATION in W
+*> \endverbatim
+*>
+*> \param[in] SPDIAM
+*> \verbatim
+*> SPDIAM is DOUBLE PRECISION
+*> estimate of the spectral diameter obtained from the
+*> Gerschgorin intervals
+*> \endverbatim
+*>
+*> \param[in] CLGAPL
+*> \verbatim
+*> CLGAPL is DOUBLE PRECISION
+*> \endverbatim
+*>
+*> \param[in] CLGAPR
+*> \verbatim
+*> CLGAPR is DOUBLE PRECISION
+*> absolute gap on each end of the cluster.
+*> Set by the calling routine to protect against shifts too close
+*> to eigenvalues outside the cluster.
+*> \endverbatim
+*>
+*> \param[in] PIVMIN
+*> \verbatim
+*> PIVMIN is DOUBLE PRECISION
+*> The minimum pivot allowed in the Sturm sequence.
+*> \endverbatim
+*>
+*> \param[out] SIGMA
+*> \verbatim
+*> SIGMA is DOUBLE PRECISION
+*> The shift used to form L(+) D(+) L(+)^T.
+*> \endverbatim
+*>
+*> \param[out] DPLUS
+*> \verbatim
+*> DPLUS is DOUBLE PRECISION array, dimension (N)
+*> The N diagonal elements of the diagonal matrix D(+).
+*> \endverbatim
+*>
+*> \param[out] LPLUS
+*> \verbatim
+*> LPLUS is DOUBLE PRECISION array, dimension (N-1)
+*> The first (N-1) elements of LPLUS contain the subdiagonal
+*> elements of the unit bidiagonal matrix L(+).
+*> \endverbatim
+*>
+*> \param[out] WORK
+*> \verbatim
+*> WORK is DOUBLE PRECISION array, dimension (2*N)
+*> Workspace.
+*> \endverbatim
+*>
+*> \param[out] INFO
+*> \verbatim
+*> INFO is INTEGER
+*> Signals processing OK (=0) or failure (=1)
+*> \endverbatim
+*>
+*
+* Authors
+* =======
+*
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
+*
+*> \date November 2011
+*
+*> \ingroup auxOTHERauxiliary
+*
+*
+* Further Details
+* ===============
+*>\details \b Further \b Details
+*> \verbatim
+*>
+*> Based on contributions by
+*> Beresford Parlett, University of California, Berkeley, USA
+*> Jim Demmel, University of California, Berkeley, USA
+*> Inderjit Dhillon, University of Texas, Austin, USA
+*> Osni Marques, LBNL/NERSC, USA
+*> Christof Voemel, University of California, Berkeley, USA
+*>
+*> \endverbatim
+*>
+* =====================================================================
SUBROUTINE DLARRF( N, D, L, LD, CLSTRT, CLEND,
$ W, WGAP, WERR,
$ SPDIAM, CLGAPL, CLGAPR, PIVMIN, SIGMA,
@@ -6,8 +194,8 @@
* -- 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
-**
+* November 2011
+*
* .. Scalar Arguments ..
INTEGER CLSTRT, CLEND, INFO, N
DOUBLE PRECISION CLGAPL, CLGAPR, PIVMIN, SIGMA, SPDIAM
@@ -17,92 +205,6 @@
$ LPLUS( * ), W( * ), WGAP( * ), WERR( * ), WORK( * )
* ..
*
-* Purpose
-* =======
-*
-* Given the initial representation L D L^T and its cluster of close
-* eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ...
-* W( CLEND ), DLARRF finds a new relatively robust representation
-* L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the
-* eigenvalues of L(+) D(+) L(+)^T is relatively isolated.
-*
-* Arguments
-* =========
-*
-* N (input) INTEGER
-* The order of the matrix (subblock, if the matrix splitted).
-*
-* D (input) DOUBLE PRECISION array, dimension (N)
-* The N diagonal elements of the diagonal matrix D.
-*
-* L (input) DOUBLE PRECISION array, dimension (N-1)
-* The (N-1) subdiagonal elements of the unit bidiagonal
-* matrix L.
-*
-* LD (input) DOUBLE PRECISION array, dimension (N-1)
-* The (N-1) elements L(i)*D(i).
-*
-* CLSTRT (input) INTEGER
-* The index of the first eigenvalue in the cluster.
-*
-* CLEND (input) INTEGER
-* The index of the last eigenvalue in the cluster.
-*
-* W (input) DOUBLE PRECISION array, dimension
-* dimension is >= (CLEND-CLSTRT+1)
-* The eigenvalue APPROXIMATIONS of L D L^T in ascending order.
-* W( CLSTRT ) through W( CLEND ) form the cluster of relatively
-* close eigenalues.
-*
-* WGAP (input/output) DOUBLE PRECISION array, dimension
-* dimension is >= (CLEND-CLSTRT+1)
-* The separation from the right neighbor eigenvalue in W.
-*
-* WERR (input) DOUBLE PRECISION array, dimension
-* dimension is >= (CLEND-CLSTRT+1)
-* WERR contain the semiwidth of the uncertainty
-* interval of the corresponding eigenvalue APPROXIMATION in W
-*
-* SPDIAM (input) DOUBLE PRECISION
-* estimate of the spectral diameter obtained from the
-* Gerschgorin intervals
-*
-* CLGAPL (input) DOUBLE PRECISION
-*
-* CLGAPR (input) DOUBLE PRECISION
-* absolute gap on each end of the cluster.
-* Set by the calling routine to protect against shifts too close
-* to eigenvalues outside the cluster.
-*
-* PIVMIN (input) DOUBLE PRECISION
-* The minimum pivot allowed in the Sturm sequence.
-*
-* SIGMA (output) DOUBLE PRECISION
-* The shift used to form L(+) D(+) L(+)^T.
-*
-* DPLUS (output) DOUBLE PRECISION array, dimension (N)
-* The N diagonal elements of the diagonal matrix D(+).
-*
-* LPLUS (output) DOUBLE PRECISION array, dimension (N-1)
-* The first (N-1) elements of LPLUS contain the subdiagonal
-* elements of the unit bidiagonal matrix L(+).
-*
-* WORK (workspace) DOUBLE PRECISION array, dimension (2*N)
-* Workspace.
-*
-* INFO (output) INTEGER
-* Signals processing OK (=0) or failure (=1)
-*
-* Further Details
-* ===============
-*
-* Based on contributions by
-* Beresford Parlett, University of California, Berkeley, USA
-* Jim Demmel, University of California, Berkeley, USA
-* Inderjit Dhillon, University of Texas, Austin, USA
-* Osni Marques, LBNL/NERSC, USA
-* Christof Voemel, University of California, Berkeley, USA
-*
* =====================================================================
*
* .. Parameters ..