Diff for /rpl/lapack/lapack/zla_syrfsx_extended.f between versions 1.5 and 1.18

version 1.5, 2011/11/21 20:43:14 version 1.18, 2023/08/07 08:39:28
Line 1 Line 1
 *> \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 ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *> \htmlonly  *> \htmlonly
 *> Download ZLA_SYRFSX_EXTENDED + dependencies   *> Download ZLA_SYRFSX_EXTENDED + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zla_syrfsx_extended.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zla_syrfsx_extended.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zla_syrfsx_extended.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zla_syrfsx_extended.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zla_syrfsx_extended.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zla_syrfsx_extended.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
Line 25 Line 25
 *                                       AYB, DY, Y_TAIL, RCOND, ITHRESH,  *                                       AYB, DY, Y_TAIL, RCOND, ITHRESH,
 *                                       RTHRESH, DZ_UB, IGNORE_CWISE,  *                                       RTHRESH, DZ_UB, IGNORE_CWISE,
 *                                       INFO )  *                                       INFO )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       INTEGER            INFO, LDA, LDAF, LDB, LDY, N, NRHS, PREC_TYPE,  *       INTEGER            INFO, LDA, LDAF, LDB, LDY, N, NRHS, PREC_TYPE,
 *      $                   N_NORMS, ITHRESH  *      $                   N_NORMS, ITHRESH
Line 41 Line 41
 *      $                   ERR_BNDS_NORM( NRHS, * ),  *      $                   ERR_BNDS_NORM( NRHS, * ),
 *      $                   ERR_BNDS_COMP( NRHS, * )  *      $                   ERR_BNDS_COMP( NRHS, * )
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 55 Line 55
 *> In addition to normwise error bound, the code provides maximum  *> In addition to normwise error bound, the code provides maximum
 *> componentwise error bound if possible. See comments for ERR_BNDS_NORM  *> componentwise error bound if possible. See comments for ERR_BNDS_NORM
 *> and ERR_BNDS_COMP for details of the error bounds. Note that this  *> and ERR_BNDS_COMP for details of the error bounds. Note that this
 *> subroutine is only resonsible for setting the second fields of  *> subroutine is only responsible for setting the second fields of
 *> ERR_BNDS_NORM and ERR_BNDS_COMP.  *> ERR_BNDS_NORM and ERR_BNDS_COMP.
 *> \endverbatim  *> \endverbatim
 *  *
Line 66 Line 66
 *> \verbatim  *> \verbatim
 *>          PREC_TYPE is INTEGER  *>          PREC_TYPE is INTEGER
 *>     Specifies the intermediate precision to be used in refinement.  *>     Specifies the intermediate precision to be used in refinement.
 *>     The value is defined by ILAPREC(P) where P is a CHARACTER and  *>     The value is defined by ILAPREC(P) where P is a CHARACTER and P
 *>     P    = 'S':  Single  *>          = 'S':  Single
 *>          = 'D':  Double  *>          = 'D':  Double
 *>          = 'I':  Indigenous  *>          = 'I':  Indigenous
 *>          = 'X', 'E':  Extra  *>          = 'X' or 'E':  Extra
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in] UPLO  *> \param[in] UPLO
Line 161 Line 161
 *>  *>
 *> \param[in,out] Y  *> \param[in,out] Y
 *> \verbatim  *> \verbatim
 *>          Y is COMPLEX*16 array, dimension  *>          Y is COMPLEX*16 array, dimension (LDY,NRHS)
 *>                    (LDY,NRHS)  
 *>     On entry, the solution matrix X, as computed by ZSYTRS.  *>     On entry, the solution matrix X, as computed by ZSYTRS.
 *>     On exit, the improved solution matrix Y.  *>     On exit, the improved solution matrix Y.
 *> \endverbatim  *> \endverbatim
Line 194 Line 193
 *>  *>
 *> \param[in,out] ERR_BNDS_NORM  *> \param[in,out] ERR_BNDS_NORM
 *> \verbatim  *> \verbatim
 *>          ERR_BNDS_NORM is DOUBLE PRECISION array, dimension  *>          ERR_BNDS_NORM is DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
 *>                    (NRHS, N_ERR_BNDS)  
 *>     For each right-hand side, this array contains information about  *>     For each right-hand side, this array contains information about
 *>     various error bounds and condition numbers corresponding to the  *>     various error bounds and condition numbers corresponding to the
 *>     normwise relative error, which is defined as follows:  *>     normwise relative error, which is defined as follows:
Line 241 Line 239
 *>  *>
 *> \param[in,out] ERR_BNDS_COMP  *> \param[in,out] ERR_BNDS_COMP
 *> \verbatim  *> \verbatim
 *>          ERR_BNDS_COMP is DOUBLE PRECISION array, dimension  *>          ERR_BNDS_COMP is DOUBLE PRECISION array, dimension (NRHS, N_ERR_BNDS)
 *>                    (NRHS, N_ERR_BNDS)  
 *>     For each right-hand side, this array contains information about  *>     For each right-hand side, this array contains information about
 *>     various error bounds and condition numbers corresponding to the  *>     various error bounds and condition numbers corresponding to the
 *>     componentwise relative error, which is defined as follows:  *>     componentwise relative error, which is defined as follows:
Line 257 Line 254
 *>     information as described below. There currently are up to three  *>     information as described below. There currently are up to three
 *>     pieces of information returned for each right-hand side. If  *>     pieces of information returned for each right-hand side. If
 *>     componentwise accuracy is not requested (PARAMS(3) = 0.0), then  *>     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 (:,N_ERR_BNDS) entries are returned.
 *>  *>
 *>     The first index in ERR_BNDS_COMP(i,:) corresponds to the ith  *>     The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
Line 356 Line 353
 *>          DZ_UB is DOUBLE PRECISION  *>          DZ_UB is DOUBLE PRECISION
 *>     Determines when to start considering componentwise convergence.  *>     Determines when to start considering componentwise convergence.
 *>     Componentwise convergence is only considered after each component  *>     Componentwise convergence is only considered after each component
 *>     of the solution Y is stable, which we definte as the relative  *>     of the solution Y is stable, which we define as the relative
 *>     change in each component being less than DZ_UB. The default value  *>     change in each component being less than DZ_UB. The default value
 *>     is 0.25, requiring the first bit to be stable. See LAWN 165 for  *>     is 0.25, requiring the first bit to be stable. See LAWN 165 for
 *>     more details.  *>     more details.
Line 373 Line 370
 *> \verbatim  *> \verbatim
 *>          INFO is INTEGER  *>          INFO is INTEGER
 *>       = 0:  Successful exit.  *>       = 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  *>             value
 *> \endverbatim  *> \endverbatim
 *  *
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  
 *> \date November 2011  
 *  *
 *> \ingroup complex16SYcomputational  *> \ingroup complex16SYcomputational
 *  *
Line 398 Line 393
      $                                RTHRESH, DZ_UB, IGNORE_CWISE,       $                                RTHRESH, DZ_UB, IGNORE_CWISE,
      $                                INFO )       $                                INFO )
 *  *
 *  -- LAPACK computational routine (version 3.4.0) --  *  -- LAPACK computational routine --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     November 2011  
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            INFO, LDA, LDAF, LDB, LDY, N, NRHS, PREC_TYPE,        INTEGER            INFO, LDA, LDAF, LDB, LDY, N, NRHS, PREC_TYPE,
Line 428 Line 422
      $                   DZRAT, PREVNORMDX, PREV_DZ_Z, DXRATMAX,       $                   DZRAT, PREVNORMDX, PREV_DZ_Z, DXRATMAX,
      $                   DZRATMAX, DX_X, DZ_Z, FINAL_DX_X, FINAL_DZ_Z,       $                   DZRATMAX, DX_X, DZ_Z, FINAL_DX_X, FINAL_DZ_Z,
      $                   EPS, HUGEVAL, INCR_THRESH       $                   EPS, HUGEVAL, INCR_THRESH
       LOGICAL            INCR_PREC        LOGICAL            INCR_PREC, UPPER
       COMPLEX*16         ZDUM        COMPLEX*16         ZDUM
 *     ..  *     ..
 *     .. Parameters ..  *     .. Parameters ..
Line 479 Line 473
 *     ..  *     ..
 *     .. Executable Statements ..  *     .. 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' )        EPS = DLAMCH( 'Epsilon' )
       HUGEVAL = DLAMCH( 'Overflow' )        HUGEVAL = DLAMCH( 'Overflow' )
 *     Force HUGEVAL to Inf  *     Force HUGEVAL to Inf
Line 697 Line 711
       END DO        END DO
 *  *
       RETURN        RETURN
   *
   *     End of ZLA_SYRFSX_EXTENDED
   *
       END        END

Removed from v.1.5  
changed lines
  Added in v.1.18


CVSweb interface <joel.bertrand@systella.fr>