--- rpl/lapack/lapack/zgbrfsx.f 2014/01/27 09:28:31 1.10
+++ rpl/lapack/lapack/zgbrfsx.f 2023/08/07 08:39:15 1.17
@@ -2,18 +2,18 @@
*
* =========== DOCUMENTATION ===========
*
-* Online html documentation available at
-* http://www.netlib.org/lapack/explore-html/
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
*
*> \htmlonly
-*> Download ZGBRFSX + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download ZGBRFSX + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
@@ -23,7 +23,7 @@
* BERR, N_ERR_BNDS, ERR_BNDS_NORM,
* ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK,
* INFO )
-*
+*
* .. Scalar Arguments ..
* CHARACTER TRANS, EQUED
* INTEGER INFO, LDAB, LDAFB, LDB, LDX, N, KL, KU, NRHS,
@@ -38,7 +38,7 @@
* $ ERR_BNDS_NORM( NRHS, * ),
* $ ERR_BNDS_COMP( NRHS, * ), RWORK( * )
* ..
-*
+*
*
*> \par Purpose:
* =============
@@ -75,7 +75,7 @@
*> Specifies the form of the system of equations:
*> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose)
-*> = 'C': A**H * X = B (Conjugate transpose = Transpose)
+*> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim
*>
*> \param[in] EQUED
@@ -138,7 +138,7 @@
*> \verbatim
*> AFB is COMPLEX*16 array, dimension (LDAFB,N)
*> Details of the LU factorization of the band matrix A, as
-*> computed by DGBTRF. U is stored as an upper triangular band
+*> 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.
@@ -153,7 +153,7 @@
*> \param[in] IPIV
*> \verbatim
*> IPIV is INTEGER array, dimension (N)
-*> The pivot indices from DGETRF; for 1<=i<=N, row i of the
+*> The pivot indices from ZGETRF; for 1<=i<=N, row i of the
*> matrix was interchanged with row IPIV(i).
*> \endverbatim
*>
@@ -195,7 +195,7 @@
*>
*> \param[in] B
*> \verbatim
-*> B is DOUBLE PRECISION array, dimension (LDB,NRHS)
+*> B is COMPLEX*16 array, dimension (LDB,NRHS)
*> The right hand side matrix B.
*> \endverbatim
*>
@@ -208,7 +208,7 @@
*> \param[in,out] X
*> \verbatim
*> X is COMPLEX*16 array, dimension (LDX,NRHS)
-*> On entry, the solution matrix X, as computed by DGETRS.
+*> On entry, the solution matrix X, as computed by ZGETRS.
*> On exit, the improved solution matrix X.
*> \endverbatim
*>
@@ -232,7 +232,7 @@
*>
*> \param[out] BERR
*> \verbatim
-*> BERR is COMPLEX*16 array, dimension (NRHS)
+*> BERR is DOUBLE PRECISION array, dimension (NRHS)
*> Componentwise relative backward error. This is the
*> componentwise relative backward error of each solution vector X(j)
*> (i.e., the smallest relative change in any element of A or B that
@@ -308,7 +308,7 @@
*> information as described below. There currently are up to three
*> pieces of information returned for each right-hand side. If
*> componentwise accuracy is not requested (PARAMS(3) = 0.0), then
-*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most
+*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS < 3, then at most
*> the first (:,N_ERR_BNDS) entries are returned.
*>
*> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
@@ -344,14 +344,14 @@
*> \param[in] NPARAMS
*> \verbatim
*> NPARAMS is INTEGER
-*> Specifies the number of parameters set in PARAMS. If .LE. 0, the
+*> Specifies the number of parameters set in PARAMS. If <= 0, the
*> PARAMS array is never referenced and default values are used.
*> \endverbatim
*>
*> \param[in,out] PARAMS
*> \verbatim
*> PARAMS is DOUBLE PRECISION array, dimension NPARAMS
-*> Specifies algorithm parameters. If an entry is .LT. 0.0, then
+*> Specifies algorithm parameters. If an entry is < 0.0, then
*> that entry will be filled with default value used for that
*> parameter. Only positions up to NPARAMS are accessed; defaults
*> are used for higher-numbered parameters.
@@ -359,9 +359,9 @@
*> PARAMS(LA_LINRX_ITREF_I = 1) : Whether to perform iterative
*> refinement or not.
*> Default: 1.0D+0
-*> = 0.0 : No refinement is performed, and no error bounds are
+*> = 0.0: No refinement is performed, and no error bounds are
*> computed.
-*> = 1.0 : Use the double-precision refinement algorithm,
+*> = 1.0: Use the double-precision refinement algorithm,
*> possibly with doubled-single computations if the
*> compilation environment does not support DOUBLE
*> PRECISION.
@@ -424,12 +424,10 @@
* Authors:
* ========
*
-*> \author Univ. of Tennessee
-*> \author Univ. of California Berkeley
-*> \author Univ. of Colorado Denver
-*> \author NAG Ltd.
-*
-*> \date April 2012
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
*
*> \ingroup complex16GBcomputational
*
@@ -440,10 +438,9 @@
$ ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, RWORK,
$ INFO )
*
-* -- LAPACK computational routine (version 3.4.1) --
+* -- LAPACK computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* April 2012
*
* .. Scalar Arguments ..
CHARACTER TRANS, EQUED
@@ -498,11 +495,10 @@
INTRINSIC MAX, SQRT, TRANSFER
* ..
* .. External Functions ..
- EXTERNAL LSAME, BLAS_FPINFO_X, ILATRANS, ILAPREC
+ EXTERNAL LSAME, ILAPREC
EXTERNAL DLAMCH, ZLANGB, ZLA_GBRCOND_X, ZLA_GBRCOND_C
DOUBLE PRECISION DLAMCH, ZLANGB, ZLA_GBRCOND_X, ZLA_GBRCOND_C
LOGICAL LSAME
- INTEGER BLAS_FPINFO_X
INTEGER ILATRANS, ILAPREC
* ..
* .. Executable Statements ..
@@ -642,7 +638,7 @@
*
* Perform refinement on each right-hand side
*
- IF ( REF_TYPE .NE. 0 ) THEN
+ IF ( REF_TYPE .NE. 0 .AND. INFO .EQ. 0 ) THEN
PREC_TYPE = ILAPREC( 'E' )