#include <Interval.h>
Public Member Functions | |
Interval (Treal low=1, Treal upp=-1) | |
bool | empty () const |
void | intersect (Interval const &other) |
void | intersect_always_non_empty (Interval const &other) |
Treal | length () const |
Returns the length of the interval. | |
Treal | midPoint () const |
bool | cover (Treal const value) const |
bool | overlap (Interval const &other) const |
void | increase (Treal const value) |
Increases interval with value in both directions. | |
void | decrease (Treal const value) |
Treal | low () const |
Treal | upp () const |
Interval< Treal > | operator* (Treal const &value) const |
Interval< Treal > | operator- (Interval< Treal > const &other) const |
Interval< Treal > | operator+ (Interval< Treal > const &other) const |
Interval< Treal > | operator/ (Treal const &value) const |
Interval< Treal > | operator- (Treal const &value) const |
Interval< Treal > | operator+ (Treal const &value) const |
void | puriStep (int poly) |
void | invPuriStep (int poly) |
void | puriStep (int poly, Treal alpha) |
void | invPuriStep (int poly, Treal alpha) |
Static Public Member Functions | |
static Interval | intersect (Interval const &A, Interval const &B) |
Protected Attributes | |
Treal | lowerBound |
Treal | upperBound |
mat::Interval< Treal >::Interval | ( | Treal | low = 1 , |
|
Treal | upp = -1 | |||
) | [inline, explicit] |
Referenced by mat::Interval< ergo_real >::intersect().
bool mat::Interval< Treal >::cover | ( | Treal const | value | ) | const [inline] |
void mat::Interval< Treal >::decrease | ( | Treal const | value | ) | [inline] |
bool mat::Interval< Treal >::empty | ( | ) | const [inline] |
Referenced by mat::Interval< ergo_real >::cover(), per::Perturbation< Treal, Tmatrix, Tvector >::dryRun(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::exchangeInfoWithNext(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveCorrectOccupation(), mat::Interval< ergo_real >::increase(), mat::Interval< ergo_real >::intersect(), mat::Interval< ergo_real >::intersect_always_non_empty(), mat::Interval< ergo_real >::length(), mat::Interval< ergo_real >::midPoint(), mat::operator<<(), mat::Interval< ergo_real >::overlap(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification(), and mat::sqrtInt().
void mat::Interval< Treal >::increase | ( | Treal const | value | ) | [inline] |
Increases interval with value in both directions.
Useful for error control.
Referenced by mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::exchangeInfoWithNext(), SCF_restricted::get_2e_part_and_energy(), get_dens_from_fock_sparse(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification(), and mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo().
void mat::Interval< Treal >::intersect | ( | Interval< Treal > const & | other | ) | [inline] |
static Interval mat::Interval< Treal >::intersect | ( | Interval< Treal > const & | A, | |
Interval< Treal > const & | B | |||
) | [inline, static] |
Referenced by mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::exchangeInfoWithNext(), get_dens_from_fock_sparse(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveCorrectOccupation(), mat::Interval< ergo_real >::intersect_always_non_empty(), mat::Interval< Treal >::invPuriStep(), mat::Interval< ergo_real >::overlap(), mat::Interval< Treal >::puriStep(), and mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo().
void mat::Interval< Treal >::intersect_always_non_empty | ( | Interval< Treal > const & | other | ) | [inline] |
void mat::Interval< Treal >::invPuriStep | ( | int | poly, | |
Treal | alpha | |||
) | [inline] |
void mat::Interval< Treal >::invPuriStep | ( | int | poly | ) | [inline] |
Treal mat::Interval< Treal >::length | ( | ) | const [inline] |
Returns the length of the interval.
0 if empty.
Referenced by per::Perturbation< Treal, Tmatrix, Tvector >::dryRun(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::MatrixTriangular< Treal, Tmatrix >::eucl(), mat::MatrixGeneral< Treal, Tmatrix >::eucl(), mat::MatrixSymmetric< Treal, Tmatrix >::euclDiffIfSmall(), mat::EuclTruncationCongrTransMeasure< Tmatrix, TmatrixB, Treal >::euclIfSmall(), mat::EuclTruncationGeneral< Tmatrix, Treal >::euclIfSmall(), mat::EuclTruncationSymmWithZ< Tmatrix, TmatrixZ, Treal >::euclIfSmall(), mat::EuclTruncationSymm< Tmatrix, Treal >::euclIfSmall(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumo(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately(), and mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::subspaceError().
Treal mat::Interval< Treal >::low | ( | ) | const [inline] |
Referenced by SCF_restricted::disturb_fock_matrix(), per::Perturbation< Treal, Tmatrix, Tvector >::dryRun(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::MatrixTriangular< Treal, Tmatrix >::eucl(), mat::MatrixGeneral< Treal, Tmatrix >::eucl(), mat::EuclTruncationGeneral< Tmatrix, Treal >::euclIfSmall(), SCF_restricted::get_2e_part_and_energy(), get_dens_from_fock_sparse(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::improveHomoLumo(), mat::operator<<(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately(), simple_purification(), and mat::sqrtInt().
Treal mat::Interval< Treal >::midPoint | ( | ) | const [inline] |
Referenced by per::Perturbation< Treal, Tmatrix, Tvector >::dryRun(), mat::MatrixTriangular< Treal, Tmatrix >::eucl(), mat::MatrixGeneral< Treal, Tmatrix >::eucl(), mat::MatrixSymmetric< Treal, Tmatrix >::eucl_diff(), mat::MatrixSymmetric< Treal, Tmatrix >::euclDiffIfSmall(), mat::EuclTruncationCongrTransMeasure< Tmatrix, TmatrixB, Treal >::euclIfSmall(), mat::EuclTruncationGeneral< Tmatrix, Treal >::euclIfSmall(), mat::EuclTruncationSymmWithZ< Tmatrix, TmatrixZ, Treal >::euclIfSmall(), mat::EuclTruncationSymm< Tmatrix, Treal >::euclIfSmall(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getThreshIncreasingGap(), and mat::Interval< Treal >::puriStep().
Interval<Treal> mat::Interval< Treal >::operator* | ( | Treal const & | value | ) | const [inline] |
Interval<Treal> mat::Interval< Treal >::operator+ | ( | Treal const & | value | ) | const [inline] |
Interval<Treal> mat::Interval< Treal >::operator+ | ( | Interval< Treal > const & | other | ) | const [inline] |
Interval<Treal> mat::Interval< Treal >::operator- | ( | Treal const & | value | ) | const [inline] |
Interval<Treal> mat::Interval< Treal >::operator- | ( | Interval< Treal > const & | other | ) | const [inline] |
Interval<Treal> mat::Interval< Treal >::operator/ | ( | Treal const & | value | ) | const [inline] |
bool mat::Interval< Treal >::overlap | ( | Interval< Treal > const & | other | ) | const [inline] |
void mat::Interval< Treal >::puriStep | ( | int | poly, | |
Treal | alpha | |||
) | [inline] |
void mat::Interval< Treal >::puriStep | ( | int | poly | ) | [inline] |
References mat::Interval< Treal >::intersect(), mat::Interval< Treal >::lowerBound, mat::Interval< Treal >::midPoint(), and mat::Interval< Treal >::upperBound.
Referenced by mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::PuriStepInfo< Treal, Tvector, TdebugPolicy >::exchangeInfoWithNext(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::improveCorrectOccupation(), and mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately().
Treal mat::Interval< Treal >::upp | ( | ) | const [inline] |
Referenced by SCF_restricted::disturb_fock_matrix(), per::Perturbation< Treal, Tmatrix, Tvector >::dryRun(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::estimateStepsLeft(), mat::EuclTruncationGeneral< Tmatrix, Treal >::euclIfSmall(), SCF_restricted::get_2e_part_and_energy(), get_dens_from_fock_sparse(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getOptimalThresh(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::getThreshIncreasingGap(), mat::operator<<(), mat::Purification< Treal, Tmatrix, TdebugPolicy >::Purification(), mat::EuclTruncationBase< Tmatrix, Treal >::run(), mat::PuriInfo< Treal, Tvector, TdebugPolicy >::ShouldComputeXmX2EuclNormAccurately(), simple_purification(), mat::sqrtInt(), and mat::Purification< Treal, Tmatrix, TdebugPolicy >::stepComputeInfo().
Treal mat::Interval< Treal >::lowerBound [protected] |
Referenced by mat::Interval< ergo_real >::cover(), mat::Interval< ergo_real >::decrease(), mat::Interval< ergo_real >::empty(), mat::Interval< ergo_real >::increase(), mat::Interval< ergo_real >::intersect(), mat::Interval< ergo_real >::intersect_always_non_empty(), mat::Interval< Treal >::invPuriStep(), mat::Interval< ergo_real >::length(), mat::Interval< ergo_real >::low(), mat::Interval< ergo_real >::midPoint(), mat::Interval< ergo_real >::operator*(), mat::Interval< ergo_real >::operator+(), mat::Interval< ergo_real >::operator-(), mat::Interval< ergo_real >::operator/(), and mat::Interval< Treal >::puriStep().
Treal mat::Interval< Treal >::upperBound [protected] |
Referenced by mat::Interval< ergo_real >::decrease(), mat::Interval< ergo_real >::empty(), mat::Interval< ergo_real >::increase(), mat::Interval< ergo_real >::intersect(), mat::Interval< ergo_real >::intersect_always_non_empty(), mat::Interval< Treal >::invPuriStep(), mat::Interval< ergo_real >::length(), mat::Interval< ergo_real >::midPoint(), mat::Interval< ergo_real >::operator*(), mat::Interval< ergo_real >::operator+(), mat::Interval< ergo_real >::operator-(), mat::Interval< ergo_real >::operator/(), mat::Interval< Treal >::puriStep(), and mat::Interval< ergo_real >::upp().