version 1.6, 2011/11/21 22:19:41
|
version 1.13, 2016/08/27 15:34:40
|
Line 180
|
Line 180
|
*> |
*> |
*> \param[in,out] AF |
*> \param[in,out] AF |
*> \verbatim |
*> \verbatim |
*> AF is or output) DOUBLE PRECISION array, dimension (LDAF,N) |
*> AF is DOUBLE PRECISION array, dimension (LDAF,N) |
*> If FACT = 'F', then AF is an input argument and on entry |
*> If FACT = 'F', then AF is an input argument and on entry |
*> contains the block diagonal matrix D and the multipliers |
*> contains the block diagonal matrix D and the multipliers |
*> used to obtain the factor U or L from the factorization A = |
*> used to obtain the factor U or L from the factorization A = |
Line 200
|
Line 200
|
*> |
*> |
*> \param[in,out] IPIV |
*> \param[in,out] IPIV |
*> \verbatim |
*> \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 |
*> If FACT = 'F', then IPIV is an input argument and on entry |
*> contains details of the interchanges and the block |
*> contains details of the interchanges and the block |
*> structure of D, as determined by DSYTRF. If IPIV(k) > 0, |
*> structure of D, as determined by DSYTRF. If IPIV(k) > 0, |
Line 219
|
Line 219
|
*> |
*> |
*> \param[in,out] EQUED |
*> \param[in,out] EQUED |
*> \verbatim |
*> \verbatim |
*> EQUED is or output) CHARACTER*1 |
*> EQUED is CHARACTER*1 |
*> Specifies the form of equilibration that was done. |
*> Specifies the form of equilibration that was done. |
*> = 'N': No equilibration (always true if FACT = 'N'). |
*> = 'N': No equilibration (always true if FACT = 'N'). |
*> = 'Y': Both row and column equilibration, i.e., A has been |
*> = 'Y': Both row and column equilibration, i.e., A has been |
Line 230
|
Line 230
|
*> |
*> |
*> \param[in,out] S |
*> \param[in,out] S |
*> \verbatim |
*> \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 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 = |
*> 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 |
*> 'F'; otherwise, S is an output argument. If FACT = 'F' and EQUED |
Line 419
|
Line 419
|
*> |
*> |
*> \param[in,out] PARAMS |
*> \param[in,out] PARAMS |
*> \verbatim |
*> \verbatim |
*> PARAMS is / output) DOUBLE PRECISION array, dimension (NPARAMS) |
*> 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 .LT. 0.0, then |
*> that entry will be filled with default value used for that |
*> that entry will be filled with default value used for that |
*> parameter. Only positions up to NPARAMS are accessed; defaults |
*> parameter. Only positions up to NPARAMS are accessed; defaults |
Line 495
|
Line 495
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date November 2011 |
*> \date November 2015 |
* |
* |
*> \ingroup doubleSYcomputational |
*> \ingroup doubleSYdriver |
* |
* |
* ===================================================================== |
* ===================================================================== |
SUBROUTINE DSYSVXX( FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, |
SUBROUTINE DSYSVXX( FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, |
Line 505
|
Line 505
|
$ N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, |
$ N_ERR_BNDS, ERR_BNDS_NORM, ERR_BNDS_COMP, |
$ NPARAMS, PARAMS, WORK, IWORK, INFO ) |
$ NPARAMS, PARAMS, WORK, IWORK, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.4.0) -- |
* -- LAPACK driver routine (version 3.6.0) -- |
* -- 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 |
* November 2015 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER EQUED, FACT, UPLO |
CHARACTER EQUED, FACT, UPLO |
Line 594
|
Line 594
|
INFO = -8 |
INFO = -8 |
ELSE IF( LSAME( FACT, 'F' ) .AND. .NOT. |
ELSE IF( LSAME( FACT, 'F' ) .AND. .NOT. |
$ ( RCEQU .OR. LSAME( EQUED, 'N' ) ) ) THEN |
$ ( RCEQU .OR. LSAME( EQUED, 'N' ) ) ) THEN |
INFO = -9 |
INFO = -10 |
ELSE |
ELSE |
IF ( RCEQU ) THEN |
IF ( RCEQU ) THEN |
SMIN = BIGNUM |
SMIN = BIGNUM |
Line 604
|
Line 604
|
SMAX = MAX( SMAX, S( J ) ) |
SMAX = MAX( SMAX, S( J ) ) |
10 CONTINUE |
10 CONTINUE |
IF( SMIN.LE.ZERO ) THEN |
IF( SMIN.LE.ZERO ) THEN |
INFO = -10 |
INFO = -11 |
ELSE IF( N.GT.0 ) THEN |
ELSE IF( N.GT.0 ) THEN |
SCOND = MAX( SMIN, SMLNUM ) / MIN( SMAX, BIGNUM ) |
SCOND = MAX( SMIN, SMLNUM ) / MIN( SMAX, BIGNUM ) |
ELSE |
ELSE |
Line 613
|
Line 613
|
END IF |
END IF |
IF( INFO.EQ.0 ) THEN |
IF( INFO.EQ.0 ) THEN |
IF( LDB.LT.MAX( 1, N ) ) THEN |
IF( LDB.LT.MAX( 1, N ) ) THEN |
INFO = -12 |
INFO = -13 |
ELSE IF( LDX.LT.MAX( 1, N ) ) THEN |
ELSE IF( LDX.LT.MAX( 1, N ) ) THEN |
INFO = -14 |
INFO = -15 |
END IF |
END IF |
END IF |
END IF |
END IF |
END IF |