--- rpl/lapack/lapack/dgtcon.f 2010/08/13 21:03:46 1.6
+++ rpl/lapack/lapack/dgtcon.f 2011/11/21 22:19:29 1.10
@@ -1,12 +1,155 @@
+*> \brief \b DGTCON
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+*> \htmlonly
+*> Download DGTCON + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
+*> [TXT]
+*> \endhtmlonly
+*
+* Definition:
+* ===========
+*
+* SUBROUTINE DGTCON( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
+* WORK, IWORK, INFO )
+*
+* .. Scalar Arguments ..
+* CHARACTER NORM
+* INTEGER INFO, N
+* DOUBLE PRECISION ANORM, RCOND
+* ..
+* .. Array Arguments ..
+* INTEGER IPIV( * ), IWORK( * )
+* DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
+* ..
+*
+*
+*> \par Purpose:
+* =============
+*>
+*> \verbatim
+*>
+*> DGTCON estimates the reciprocal of the condition number of a real
+*> tridiagonal matrix A using the LU factorization as computed by
+*> DGTTRF.
+*>
+*> An estimate is obtained for norm(inv(A)), and the reciprocal of the
+*> condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
+*> \endverbatim
+*
+* Arguments:
+* ==========
+*
+*> \param[in] NORM
+*> \verbatim
+*> NORM is CHARACTER*1
+*> Specifies whether the 1-norm condition number or the
+*> infinity-norm condition number is required:
+*> = '1' or 'O': 1-norm;
+*> = 'I': Infinity-norm.
+*> \endverbatim
+*>
+*> \param[in] N
+*> \verbatim
+*> N is INTEGER
+*> The order of the matrix A. N >= 0.
+*> \endverbatim
+*>
+*> \param[in] DL
+*> \verbatim
+*> DL is DOUBLE PRECISION array, dimension (N-1)
+*> The (n-1) multipliers that define the matrix L from the
+*> LU factorization of A as computed by DGTTRF.
+*> \endverbatim
+*>
+*> \param[in] D
+*> \verbatim
+*> D is DOUBLE PRECISION array, dimension (N)
+*> The n diagonal elements of the upper triangular matrix U from
+*> the LU factorization of A.
+*> \endverbatim
+*>
+*> \param[in] DU
+*> \verbatim
+*> DU is DOUBLE PRECISION array, dimension (N-1)
+*> The (n-1) elements of the first superdiagonal of U.
+*> \endverbatim
+*>
+*> \param[in] DU2
+*> \verbatim
+*> DU2 is DOUBLE PRECISION array, dimension (N-2)
+*> The (n-2) elements of the second superdiagonal of U.
+*> \endverbatim
+*>
+*> \param[in] IPIV
+*> \verbatim
+*> IPIV is INTEGER array, dimension (N)
+*> The pivot indices; for 1 <= i <= n, row i of the matrix was
+*> interchanged with row IPIV(i). IPIV(i) will always be either
+*> i or i+1; IPIV(i) = i indicates a row interchange was not
+*> required.
+*> \endverbatim
+*>
+*> \param[in] ANORM
+*> \verbatim
+*> ANORM is DOUBLE PRECISION
+*> If NORM = '1' or 'O', the 1-norm of the original matrix A.
+*> If NORM = 'I', the infinity-norm of the original matrix A.
+*> \endverbatim
+*>
+*> \param[out] RCOND
+*> \verbatim
+*> RCOND is DOUBLE PRECISION
+*> The reciprocal of the condition number of the matrix A,
+*> computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an
+*> estimate of the 1-norm of inv(A) computed in this routine.
+*> \endverbatim
+*>
+*> \param[out] WORK
+*> \verbatim
+*> WORK is DOUBLE PRECISION array, dimension (2*N)
+*> \endverbatim
+*>
+*> \param[out] IWORK
+*> \verbatim
+*> IWORK is INTEGER array, dimension (N)
+*> \endverbatim
+*>
+*> \param[out] INFO
+*> \verbatim
+*> INFO is INTEGER
+*> = 0: successful exit
+*> < 0: if INFO = -i, the i-th argument had an illegal value
+*> \endverbatim
+*
+* Authors:
+* ========
+*
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
+*
+*> \date November 2011
+*
+*> \ingroup doubleOTHERcomputational
+*
+* =====================================================================
SUBROUTINE DGTCON( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
$ WORK, IWORK, INFO )
*
-* -- LAPACK routine (version 3.2) --
+* -- LAPACK computational routine (version 3.4.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2006
-*
-* Modified to call DLACN2 in place of DLACON, 5 Feb 03, SJH.
+* November 2011
*
* .. Scalar Arguments ..
CHARACTER NORM
@@ -18,65 +161,6 @@
DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
* ..
*
-* Purpose
-* =======
-*
-* DGTCON estimates the reciprocal of the condition number of a real
-* tridiagonal matrix A using the LU factorization as computed by
-* DGTTRF.
-*
-* An estimate is obtained for norm(inv(A)), and the reciprocal of the
-* condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
-*
-* Arguments
-* =========
-*
-* NORM (input) CHARACTER*1
-* Specifies whether the 1-norm condition number or the
-* infinity-norm condition number is required:
-* = '1' or 'O': 1-norm;
-* = 'I': Infinity-norm.
-*
-* N (input) INTEGER
-* The order of the matrix A. N >= 0.
-*
-* DL (input) DOUBLE PRECISION array, dimension (N-1)
-* The (n-1) multipliers that define the matrix L from the
-* LU factorization of A as computed by DGTTRF.
-*
-* D (input) DOUBLE PRECISION array, dimension (N)
-* The n diagonal elements of the upper triangular matrix U from
-* the LU factorization of A.
-*
-* DU (input) DOUBLE PRECISION array, dimension (N-1)
-* The (n-1) elements of the first superdiagonal of U.
-*
-* DU2 (input) DOUBLE PRECISION array, dimension (N-2)
-* The (n-2) elements of the second superdiagonal of U.
-*
-* IPIV (input) INTEGER array, dimension (N)
-* The pivot indices; for 1 <= i <= n, row i of the matrix was
-* interchanged with row IPIV(i). IPIV(i) will always be either
-* i or i+1; IPIV(i) = i indicates a row interchange was not
-* required.
-*
-* ANORM (input) DOUBLE PRECISION
-* If NORM = '1' or 'O', the 1-norm of the original matrix A.
-* If NORM = 'I', the infinity-norm of the original matrix A.
-*
-* RCOND (output) DOUBLE PRECISION
-* The reciprocal of the condition number of the matrix A,
-* computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an
-* estimate of the 1-norm of inv(A) computed in this routine.
-*
-* WORK (workspace) DOUBLE PRECISION array, dimension (2*N)
-*
-* IWORK (workspace) INTEGER array, dimension (N)
-*
-* INFO (output) INTEGER
-* = 0: successful exit
-* < 0: if INFO = -i, the i-th argument had an illegal value
-*
* =====================================================================
*
* .. Parameters ..
@@ -151,7 +235,7 @@
$ WORK, N, INFO )
ELSE
*
-* Multiply by inv(L')*inv(U').
+* Multiply by inv(L**T)*inv(U**T).
*
CALL DGTTRS( 'Transpose', N, 1, DL, D, DU, DU2, IPIV, WORK,
$ N, INFO )