--- rpl/lapack/lapack/zhesvxx.f 2011/11/21 22:19:48 1.6
+++ rpl/lapack/lapack/zhesvxx.f 2023/08/07 08:39:24 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 ZHESVXX + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download ZHESVXX + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
@@ -22,7 +22,7 @@
* EQUED, S, B, LDB, X, LDX, RCOND, RPVGRW, BERR,
* N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP,
* NPARAMS, PARAMS, WORK, RWORK, INFO )
-*
+*
* .. Scalar Arguments ..
* CHARACTER EQUED, FACT, UPLO
* INTEGER INFO, LDA, LDAF, LDB, LDX, N, NRHS, NPARAMS,
@@ -37,7 +37,7 @@
* $ ERR_BNDS_NORM( NRHS, * ),
* $ ERR_BNDS_COMP( NRHS, * )
* ..
-*
+*
*
*> \par Purpose:
* =============
@@ -46,7 +46,7 @@
*>
*> ZHESVXX uses the diagonal pivoting factorization to compute the
*> solution to a complex*16 system of linear equations A * X = B, where
-*> A is an N-by-N symmetric matrix and X and B are N-by-NRHS
+*> A is an N-by-N Hermitian matrix and X and B are N-by-NRHS
*> matrices.
*>
*> If requested, both normwise and maximum componentwise error bounds
@@ -88,7 +88,7 @@
*> A = L * D * L**T, if UPLO = 'L',
*>
*> where U (or L) is a product of permutation and unit upper (lower)
-*> triangular matrices, and D is symmetric and block diagonal with
+*> triangular matrices, and D is Hermitian and block diagonal with
*> 1-by-1 and 2-by-2 diagonal blocks.
*>
*> 3. If some D(i,i)=0, so that D is exactly singular, then the
@@ -161,7 +161,7 @@
*> \param[in,out] A
*> \verbatim
*> A is COMPLEX*16 array, dimension (LDA,N)
-*> The symmetric matrix A. If UPLO = 'U', the leading N-by-N
+*> The Hermitian matrix A. If UPLO = 'U', the leading N-by-N
*> upper triangular part of A contains the upper triangular
*> part of the matrix A, and the strictly lower triangular
*> part of A is not referenced. If UPLO = 'L', the leading
@@ -181,16 +181,16 @@
*>
*> \param[in,out] AF
*> \verbatim
-*> AF is or output) COMPLEX*16 array, dimension (LDAF,N)
+*> AF is COMPLEX*16 array, dimension (LDAF,N)
*> If FACT = 'F', then AF is an input argument and on entry
*> contains the block diagonal matrix D and the multipliers
*> used to obtain the factor U or L from the factorization A =
-*> U*D*U**T or A = L*D*L**T as computed by DSYTRF.
+*> U*D*U**H or A = L*D*L**H as computed by ZHETRF.
*>
*> If FACT = 'N', then AF is an output argument and on exit
*> returns the block diagonal matrix D and the multipliers
*> used to obtain the factor U or L from the factorization A =
-*> U*D*U**T or A = L*D*L**T.
+*> U*D*U**H or A = L*D*L**H.
*> \endverbatim
*>
*> \param[in] LDAF
@@ -201,7 +201,7 @@
*>
*> \param[in,out] IPIV
*> \verbatim
-*> IPIV is or output) INTEGER array, dimension (N)
+*> IPIV is INTEGER array, dimension (N)
*> If FACT = 'F', then IPIV is an input argument and on entry
*> contains details of the interchanges and the block
*> structure of D, as determined by ZHETRF. If IPIV(k) > 0,
@@ -220,7 +220,7 @@
*>
*> \param[in,out] EQUED
*> \verbatim
-*> EQUED is or output) CHARACTER*1
+*> EQUED is CHARACTER*1
*> Specifies the form of equilibration that was done.
*> = 'N': No equilibration (always true if FACT = 'N').
*> = 'Y': Both row and column equilibration, i.e., A has been
@@ -231,7 +231,7 @@
*>
*> \param[in,out] S
*> \verbatim
-*> S is or output) DOUBLE PRECISION array, dimension (N)
+*> S is DOUBLE PRECISION array, dimension (N)
*> The scale factors for A. If EQUED = 'Y', A is multiplied on
*> the left and right by diag(S). S is an input argument if FACT =
*> 'F'; otherwise, S is an output argument. If FACT = 'F' and EQUED
@@ -378,7 +378,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
@@ -414,14 +414,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 / output) DOUBLE PRECISION array, dimension NPARAMS
-*> Specifies algorithm parameters. If an entry is .LT. 0.0, then
+*> PARAMS is DOUBLE PRECISION array, dimension NPARAMS
+*> 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.
@@ -429,9 +429,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 extra-precise refinement algorithm.
+*> = 1.0: Use the extra-precise refinement algorithm.
*> (other values are reserved for future use)
*>
*> PARAMS(LA_LINRX_ITHRESH_I = 2) : Maximum number of residual
@@ -453,7 +453,7 @@
*>
*> \param[out] WORK
*> \verbatim
-*> WORK is COMPLEX*16 array, dimension (2*N)
+*> WORK is COMPLEX*16 array, dimension (5*N)
*> \endverbatim
*>
*> \param[out] RWORK
@@ -491,12 +491,10 @@
* Authors:
* ========
*
-*> \author Univ. of Tennessee
-*> \author Univ. of California Berkeley
-*> \author Univ. of Colorado Denver
-*> \author NAG Ltd.
-*
-*> \date November 2011
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
*
*> \ingroup complex16HEsolve
*
@@ -506,10 +504,9 @@
$ N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP,
$ NPARAMS, PARAMS, WORK, RWORK, INFO )
*
-* -- LAPACK driver routine (version 3.4.0) --
+* -- LAPACK driver routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2011
*
* .. Scalar Arguments ..
CHARACTER EQUED, FACT, UPLO
@@ -551,7 +548,7 @@
DOUBLE PRECISION DLAMCH, ZLA_HERPVGRW
* ..
* .. External Subroutines ..
- EXTERNAL ZHECON, ZHEEQUB, ZHETRF, ZHETRS, ZLACPY,
+ EXTERNAL ZHEEQUB, ZHETRF, ZHETRS, ZLACPY,
$ ZLAQHE, XERBLA, ZLASCL2, ZHERFSX
* ..
* .. Intrinsic Functions ..
@@ -646,7 +643,7 @@
*
IF( NOFACT .OR. EQUIL ) THEN
*
-* Compute the LDL^T or UDU^T factorization of A.
+* Compute the LDL^H or UDU^H factorization of A.
*
CALL ZLACPY( UPLO, N, N, A, LDA, AF, LDAF )
CALL ZHETRF( UPLO, N, AF, LDAF, IPIV, WORK, 5*MAX(1,N), INFO )