--- rpl/lapack/lapack/zla_syrfsx_extended.f 2011/11/21 20:43:14 1.5 +++ rpl/lapack/lapack/zla_syrfsx_extended.f 2018/05/29 07:18:24 1.16 @@ -1,19 +1,19 @@ -*> \brief \b ZLA_SYRFSX_EXTENDED +*> \brief \b ZLA_SYRFSX_EXTENDED improves the computed solution to a system of linear equations for symmetric indefinite matrices by performing extra-precise iterative refinement and provides error bounds and backward error estimates for the solution. * * =========== 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 ZLA_SYRFSX_EXTENDED + dependencies -*> -*> [TGZ] -*> -*> [ZIP] -*> +*> Download ZLA_SYRFSX_EXTENDED + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> *> [TXT] -*> \endhtmlonly +*> \endhtmlonly * * Definition: * =========== @@ -25,7 +25,7 @@ * AYB, DY, Y_TAIL, RCOND, ITHRESH, * RTHRESH, DZ_UB, IGNORE_CWISE, * INFO ) -* +* * .. Scalar Arguments .. * INTEGER INFO, LDA, LDAF, LDB, LDY, N, NRHS, PREC_TYPE, * $ N_NORMS, ITHRESH @@ -41,7 +41,7 @@ * $ ERR_BNDS_NORM( NRHS, * ), * $ ERR_BNDS_COMP( NRHS, * ) * .. -* +* * *> \par Purpose: * ============= @@ -161,8 +161,7 @@ *> *> \param[in,out] Y *> \verbatim -*> Y is COMPLEX*16 array, dimension -*> (LDY,NRHS) +*> Y is COMPLEX*16 array, dimension (LDY,NRHS) *> On entry, the solution matrix X, as computed by ZSYTRS. *> On exit, the improved solution matrix Y. *> \endverbatim @@ -194,8 +193,7 @@ *> *> \param[in,out] ERR_BNDS_NORM *> \verbatim -*> ERR_BNDS_NORM is DOUBLE PRECISION array, dimension -*> (NRHS, N_ERR_BNDS) +*> ERR_BNDS_NORM is DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS) *> For each right-hand side, this array contains information about *> various error bounds and condition numbers corresponding to the *> normwise relative error, which is defined as follows: @@ -241,8 +239,7 @@ *> *> \param[in,out] ERR_BNDS_COMP *> \verbatim -*> ERR_BNDS_COMP is DOUBLE PRECISION array, dimension -*> (NRHS, N_ERR_BNDS) +*> ERR_BNDS_COMP is DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS) *> For each right-hand side, this array contains information about *> various error bounds and condition numbers corresponding to the *> componentwise relative error, which is defined as follows: @@ -373,19 +370,19 @@ *> \verbatim *> INFO is INTEGER *> = 0: Successful exit. -*> < 0: if INFO = -i, the ith argument to ZSYTRS had an illegal +*> < 0: if INFO = -i, the ith argument to ZLA_HERFSX_EXTENDED had an illegal *> value *> \endverbatim * * Authors: * ======== * -*> \author Univ. of Tennessee -*> \author Univ. of California Berkeley -*> \author Univ. of Colorado Denver -*> \author NAG Ltd. +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. * -*> \date November 2011 +*> \date June 2017 * *> \ingroup complex16SYcomputational * @@ -398,10 +395,10 @@ $ RTHRESH, DZ_UB, IGNORE_CWISE, $ INFO ) * -* -- LAPACK computational routine (version 3.4.0) -- +* -- LAPACK computational routine (version 3.7.1) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2011 +* June 2017 * * .. Scalar Arguments .. INTEGER INFO, LDA, LDAF, LDB, LDY, N, NRHS, PREC_TYPE, @@ -428,7 +425,7 @@ $ DZRAT, PREVNORMDX, PREV_DZ_Z, DXRATMAX, $ DZRATMAX, DX_X, DZ_Z, FINAL_DX_X, FINAL_DZ_Z, $ EPS, HUGEVAL, INCR_THRESH - LOGICAL INCR_PREC + LOGICAL INCR_PREC, UPPER COMPLEX*16 ZDUM * .. * .. Parameters .. @@ -479,7 +476,27 @@ * .. * .. Executable Statements .. * - IF ( INFO.NE.0 ) RETURN + INFO = 0 + UPPER = LSAME( UPLO, 'U' ) + IF( .NOT.UPPER .AND. .NOT.LSAME( UPLO, 'L' ) ) THEN + INFO = -2 + ELSE IF( N.LT.0 ) THEN + INFO = -3 + ELSE IF( NRHS.LT.0 ) THEN + INFO = -4 + ELSE IF( LDA.LT.MAX( 1, N ) ) THEN + INFO = -6 + ELSE IF( LDAF.LT.MAX( 1, N ) ) THEN + INFO = -8 + ELSE IF( LDB.LT.MAX( 1, N ) ) THEN + INFO = -13 + ELSE IF( LDY.LT.MAX( 1, N ) ) THEN + INFO = -15 + END IF + IF( INFO.NE.0 ) THEN + CALL XERBLA( 'ZLA_HERFSX_EXTENDED', -INFO ) + RETURN + END IF EPS = DLAMCH( 'Epsilon' ) HUGEVAL = DLAMCH( 'Overflow' ) * Force HUGEVAL to Inf