8 #ifndef SPARROW_BASISPRUNER_H 
    9 #define SPARROW_BASISPRUNER_H 
   13 #include <Utils/Math/IterativeDiagonalizer/SpinAdaptedEigenContainer.h> 
   18 enum class SpinTransition;
 
   79 template<Utils::Reference restrictedness>
 
   82   using BoolVector = Eigen::Matrix<bool, -1, 1>;
 
   84               std::shared_ptr<Eigen::VectorXd> spinConstants);
 
  129     return nBasisFunctionsUnderThreshold_;
 
  139       -> std::shared_ptr<LinearResponseCalculator::GuessSpecifier>;
 
  145                                   Utils::SpinTransition spinBlock) -> void;
 
  146   auto perturbativeCorrection(
PerturbativeThreshold ptThresh, Utils::SpinTransition spinBlock) -> void;
 
  148   auto perturbationContributionVector(
int nOfSecondary, Utils::SpinTransition spinBlock) -> Eigen::VectorXd;
 
  149   auto generateEnergyWeightingMatrix(Utils::SpinTransition spinBlock);
 
  158   auto generatePerturbationMatrix(
const Eigen::MatrixXd& primaryCharges, 
const Eigen::MatrixXd& secondaryCharges,
 
  159                                   Utils::SpinTransition spinBlock) -> Eigen::MatrixXd;
 
  167   auto generateDiagonalCouplings(
const Eigen::VectorXd& energies) -> Eigen::VectorXd;
 
  169   auto check(Utils::SpinTransition spinBlock) 
const -> void;
 
  171   std::shared_ptr<Eigen::MatrixXd> gammaMatrix_;
 
  172   std::shared_ptr<Eigen::VectorXd> spinConstants_;
 
  174   int nBasisFunctionsAfterPruning_;
 
  175   int nBasisFunctionsUnderThreshold_;
 
  176   BoolVector isIncluded_;
 
  181 #endif // SPARROW_BASISPRUNER_H 
Strongly named double representing an energy threshold.Used in function signature to differentiate fr...
Definition: BasisPruner.h:38
Definition: LinearResponseCalculator.h:17
auto getNumberOfRootsUnderThreshold() const -> int
Returns the number of "primary" configurations under the energy threshold. 
Definition: BasisPruner.h:128
Strongly named double representing a perturbation threshold.Used in function signature to differentia...
Definition: BasisPruner.h:46
auto prune(EnergyThreshold enThresh, PerturbativeThreshold ptThresh, Utils::SpinTransition spinBlock=Utils::SpinTransition::Singlet) -> OrderedInput< restrictedness >
Function making the pruning of the space. 
Definition: BasisPruner.cpp:27
Definition: BasisPruner.h:80
Strongly named int representing the number of electronic configurations.Used in return type to give s...
Definition: BasisPruner.h:29