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