--- rpl/lapack/lapack/zgbcon.f 2010/08/13 21:04:01 1.6
+++ rpl/lapack/lapack/zgbcon.f 2016/08/27 15:34:44 1.14
@@ -1,12 +1,156 @@
+*> \brief \b ZGBCON
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+*> \htmlonly
+*> Download ZGBCON + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
+*> [TXT]
+*> \endhtmlonly
+*
+* Definition:
+* ===========
+*
+* SUBROUTINE ZGBCON( NORM, N, KL, KU, AB, LDAB, IPIV, ANORM, RCOND,
+* WORK, RWORK, INFO )
+*
+* .. Scalar Arguments ..
+* CHARACTER NORM
+* INTEGER INFO, KL, KU, LDAB, N
+* DOUBLE PRECISION ANORM, RCOND
+* ..
+* .. Array Arguments ..
+* INTEGER IPIV( * )
+* DOUBLE PRECISION RWORK( * )
+* COMPLEX*16 AB( LDAB, * ), WORK( * )
+* ..
+*
+*
+*> \par Purpose:
+* =============
+*>
+*> \verbatim
+*>
+*> ZGBCON estimates the reciprocal of the condition number of a complex
+*> general band matrix A, in either the 1-norm or the infinity-norm,
+*> using the LU factorization computed by ZGBTRF.
+*>
+*> An estimate is obtained for norm(inv(A)), and the reciprocal of the
+*> condition number is computed as
+*> RCOND = 1 / ( norm(A) * 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] KL
+*> \verbatim
+*> KL is INTEGER
+*> The number of subdiagonals within the band of A. KL >= 0.
+*> \endverbatim
+*>
+*> \param[in] KU
+*> \verbatim
+*> KU is INTEGER
+*> The number of superdiagonals within the band of A. KU >= 0.
+*> \endverbatim
+*>
+*> \param[in] AB
+*> \verbatim
+*> AB is COMPLEX*16 array, dimension (LDAB,N)
+*> Details of the LU factorization of the band matrix A, as
+*> computed by ZGBTRF. U is stored as an upper triangular band
+*> matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
+*> the multipliers used during the factorization are stored in
+*> rows KL+KU+2 to 2*KL+KU+1.
+*> \endverbatim
+*>
+*> \param[in] LDAB
+*> \verbatim
+*> LDAB is INTEGER
+*> The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
+*> \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).
+*> \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/(norm(A) * norm(inv(A))).
+*> \endverbatim
+*>
+*> \param[out] WORK
+*> \verbatim
+*> WORK is COMPLEX*16 array, dimension (2*N)
+*> \endverbatim
+*>
+*> \param[out] RWORK
+*> \verbatim
+*> RWORK is DOUBLE PRECISION 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 complex16GBcomputational
+*
+* =====================================================================
SUBROUTINE ZGBCON( NORM, N, KL, KU, AB, LDAB, IPIV, ANORM, RCOND,
$ WORK, RWORK, 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 ZLACN2 in place of ZLACON, 10 Feb 03, SJH.
+* November 2011
*
* .. Scalar Arguments ..
CHARACTER NORM
@@ -19,65 +163,6 @@
COMPLEX*16 AB( LDAB, * ), WORK( * )
* ..
*
-* Purpose
-* =======
-*
-* ZGBCON estimates the reciprocal of the condition number of a complex
-* general band matrix A, in either the 1-norm or the infinity-norm,
-* using the LU factorization computed by ZGBTRF.
-*
-* An estimate is obtained for norm(inv(A)), and the reciprocal of the
-* condition number is computed as
-* RCOND = 1 / ( norm(A) * 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.
-*
-* KL (input) INTEGER
-* The number of subdiagonals within the band of A. KL >= 0.
-*
-* KU (input) INTEGER
-* The number of superdiagonals within the band of A. KU >= 0.
-*
-* AB (input) COMPLEX*16 array, dimension (LDAB,N)
-* Details of the LU factorization of the band matrix A, as
-* computed by ZGBTRF. U is stored as an upper triangular band
-* matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
-* the multipliers used during the factorization are stored in
-* rows KL+KU+2 to 2*KL+KU+1.
-*
-* LDAB (input) INTEGER
-* The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
-*
-* IPIV (input) INTEGER array, dimension (N)
-* The pivot indices; for 1 <= i <= N, row i of the matrix was
-* interchanged with row IPIV(i).
-*
-* 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/(norm(A) * norm(inv(A))).
-*
-* WORK (workspace) COMPLEX*16 array, dimension (2*N)
-*
-* RWORK (workspace) DOUBLE PRECISION array, dimension (N)
-*
-* INFO (output) INTEGER
-* = 0: successful exit
-* < 0: if INFO = -i, the i-th argument had an illegal value
-*
* =====================================================================
*
* .. Parameters ..
@@ -187,13 +272,13 @@
$ KL+KU, AB, LDAB, WORK, SCALE, RWORK, INFO )
ELSE
*
-* Multiply by inv(U').
+* Multiply by inv(U**H).
*
CALL ZLATBS( 'Upper', 'Conjugate transpose', 'Non-unit',
$ NORMIN, N, KL+KU, AB, LDAB, WORK, SCALE, RWORK,
$ INFO )
*
-* Multiply by inv(L').
+* Multiply by inv(L**H).
*
IF( LNOTI ) THEN
DO 30 J = N - 1, 1, -1