#include <Algorithm.hpp>
Inherited by sisi4s::ApproximateCoulombVertex, sisi4s::ApproximateParticleHoleCoulombVertex, sisi4s::BasisSetExtrapolation, sisi4s::CcsdDiagrammaticDecomposition, sisi4s::CcsdEquationOfMotionDavidson, sisi4s::CcsdPerturbativeTriples, sisi4s::CcsdPerturbativeTriplesComplex, sisi4s::CcsdtEquationOfMotionDavidson, sisi4s::ClusterSinglesDoublesAlgorithm, sisi4s::ComplexTensorContraction, sisi4s::ComplexTensorNorm, sisi4s::ComplexTensorReader, sisi4s::ComplexTensorSum, sisi4s::ComplexTensorWriter, sisi4s::CoulombIntegralsFromGaussian, sisi4s::CoulombIntegralsFromRotatedCoulombIntegrals, sisi4s::CoulombIntegralsFromVertex, sisi4s::CoulombVertexDecomposition, sisi4s::CoulombVertexFromFactors, sisi4s::CoulombVertexReader, sisi4s::CoulombVertexSingularVectors, sisi4s::DefineHolesAndParticles, sisi4s::Delete, sisi4s::DoublesAmplitudesDecomposition, sisi4s::DoublesAmplitudesFromVertex, sisi4s::Exit, sisi4s::FcidumpReader, sisi4s::FcidumpWriter, sisi4s::FiniteSizeCorrection, sisi4s::FockMatrixFromCoulombIntegrals, sisi4s::FromComplexTensor, sisi4s::GenerateRandomComplexMatrix, sisi4s::GenerateRandomMatrix, sisi4s::GenerateRandomTensor, sisi4s::HartreeFockFromCoulombIntegrals, sisi4s::HartreeFockFromGaussian, sisi4s::MeanCorrelationHoleDepth, sisi4s::MoReader, sisi4s::Mp2NaturalOrbitals, sisi4s::NaturalTransitionOrbitalsFromRhoAI, sisi4s::Nop, sisi4s::NuclearRepulsionEnergy, sisi4s::OneBodyFromGaussian, sisi4s::OneBodyRotation, sisi4s::PQRSCoulombIntegralsToVertex, sisi4s::ParenthesisTriples, sisi4s::ParticleHoleCoulombVertexDecomposition, sisi4s::ParticleHoleCoulombVertexFromFactors, sisi4s::ParticleHoleCoulombVertexReader, sisi4s::ParticleHoleCoulombVertexSingularVectors, sisi4s::PerturbativeTriples, sisi4s::PseudoInverse, sisi4s::Read, sisi4s::SingleParticleOccupancies, sisi4s::SliceCoulombVertex, sisi4s::TensorAntisymmetrizer, sisi4s::TensorAntisymmetrizer2, sisi4s::TensorContraction, sisi4s::TensorGetMax, sisi4s::TensorNorm, sisi4s::TensorReader, sisi4s::TensorReduceijij, sisi4s::TensorSlicer, sisi4s::TensorSum, sisi4s::TensorUnrestricter, sisi4s::TensorWriter, sisi4s::UCcsdEAEquationOfMotionDavidson, sisi4s::UCcsdIPEquationOfMotionDavidson, sisi4s::UPerturbativeTriples, sisi4s::UegVertexGenerator, sisi4s::UnrestrictedCIS, sisi4s::UnrestrictedEquationOfMotionSinglesFromRpa, and sisi4s::Write.
|
| Algorithm (std::vector< Argument > const &argumentList) |
|
virtual | ~Algorithm () |
|
virtual std::string | getName ()=0 |
|
virtual void | run ()=0 |
|
virtual void | dryRun () |
| The dryRun estimates resource consumption, especially memory and processor time.
|
|
bool | isArgumentGiven (std::string const &argumentName) |
|
std::string | getTextArgument (std::string const &argumentName) |
|
std::string | getTextArgument (std::string const &argumentName, std::string const &defaultValue) |
|
bool | getBooleanArgument (std::string const &name) |
|
bool | getBooleanArgument (std::string const &name, bool const &defaultValue) |
|
int64_t | getIntegerArgument (std::string const &argumentName) |
|
int64_t | getIntegerArgument (std::string const &argumentName, int64_t const defaultValue) |
|
real | getRealArgument (std::string const &argumentName) |
|
real | getRealArgument (std::string const &argumentName, real const defaultValue) |
|
template<typename F = real, typename T = Tensor<F>> |
T * | getTensorArgument (std::string const &argumentName) |
|
template<typename F = real, typename C = std::vector<F>> |
C * | getContainerArgument (std::string const &argumentName) |
|
template<typename F = real, typename C = std::vector<F>> |
void | allocateContainerArgument (std::string const &argumentName, C *container) |
|
std::vector< std::string > | getGivenArgumentNames () const |
|
void | checkArgumentsOrDie (const std::vector< std::string > args) const |
|
template<typename F = real, typename T = Tensor<F>> |
void | allocatedTensorArgument (std::string const &argumentName, T *tensor) |
| Specifies the location of an output tensor data.
|
|
void | setRealArgument (std::string const &argumentName, real const value) |
|
void | setIntegerArgument (std::string const &argumentName, int const value) |
|
real | getRealArgumentFromInteger (IntegerData *data) |
|
real | getRealArgumentFromTensor (TensorData< real > *data) |
|
template<typename F = real, typename T = Tensor<F>> |
T * | getTensorArgumentFromReal (RealData *realData) |
| Converts the given real data into a scalar tensor.
|
|
Data * | getArgumentData (std::string const &argumentName) |
|
◆ Algorithm()
Algorithm::Algorithm |
( |
std::vector< Argument > const & |
argumentList | ) |
|
◆ ~Algorithm()
Algorithm::~Algorithm |
( |
| ) |
|
|
virtual |
◆ allocateContainerArgument()
template<typename F , typename C >
void Algorithm::allocateContainerArgument |
( |
std::string const & |
argumentName, |
|
|
C * |
container |
|
) |
| |
◆ allocatedTensorArgument()
template<typename F , typename T >
Specifies the location of an output tensor data.
- Parameters
-
[in] | argumentName | The argument name as specified in the sisi4s file |
[in] | tensor | The reference of the tensor data allocated by the caller and later freed by the system if not needed any further. |
- Note
- often explicit instantiation may be necessary, e.g.
allocatedTensorArgument<complex>(complexTensor);
◆ checkArgumentsOrDie()
void sisi4s::Algorithm::checkArgumentsOrDie |
( |
const std::vector< std::string > |
args | ) |
const |
|
inline |
◆ dryRun()
void Algorithm::dryRun |
( |
| ) |
|
|
virtual |
The dryRun estimates resource consumption, especially memory and processor time.
Reimplemented in sisi4s::ApproximateCoulombVertex, sisi4s::ApproximateParticleHoleCoulombVertex, sisi4s::CcsdPerturbativeTriples, sisi4s::CcsdPerturbativeTriplesComplex, sisi4s::CoulombIntegralsFromVertex, sisi4s::CoulombVertexDecomposition, sisi4s::CoulombVertexFromFactors, sisi4s::CoulombVertexReader, sisi4s::CoulombVertexSingularVectors, sisi4s::Delete, sisi4s::DoublesAmplitudesDecomposition, sisi4s::DoublesAmplitudesFromVertex, sisi4s::FiniteSizeCorrection, sisi4s::ParenthesisTriples, sisi4s::ParticleHoleCoulombVertexDecomposition, sisi4s::ParticleHoleCoulombVertexFromFactors, sisi4s::ParticleHoleCoulombVertexReader, sisi4s::ParticleHoleCoulombVertexSingularVectors, sisi4s::PerturbativeTriples, sisi4s::SingleParticleOccupancies, sisi4s::SliceCoulombVertex, and sisi4s::UPerturbativeTriples.
◆ getArgumentData()
Data * Algorithm::getArgumentData |
( |
std::string const & |
argumentName | ) |
|
◆ getBooleanArgument() [1/2]
bool Algorithm::getBooleanArgument |
( |
std::string const & |
name | ) |
|
◆ getBooleanArgument() [2/2]
bool Algorithm::getBooleanArgument |
( |
std::string const & |
name, |
|
|
bool const & |
defaultValue |
|
) |
| |
◆ getContainerArgument()
template<typename F , typename C >
C * Algorithm::getContainerArgument |
( |
std::string const & |
argumentName | ) |
|
◆ getGivenArgumentNames()
std::vector< std::string > sisi4s::Algorithm::getGivenArgumentNames |
( |
| ) |
const |
|
inline |
◆ getIntegerArgument() [1/2]
int64_t Algorithm::getIntegerArgument |
( |
std::string const & |
argumentName | ) |
|
◆ getIntegerArgument() [2/2]
int64_t Algorithm::getIntegerArgument |
( |
std::string const & |
argumentName, |
|
|
int64_t const |
defaultValue |
|
) |
| |
◆ getName()
virtual std::string sisi4s::Algorithm::getName |
( |
| ) |
|
|
pure virtual |
Implemented in sisi4s::ApproximateCoulombVertex, sisi4s::ApproximateParticleHoleCoulombVertex, sisi4s::BasisSetExtrapolation, sisi4s::DefineHolesAndParticles, sisi4s::CcsdDiagrammaticDecomposition, sisi4s::CcsdEnergyFromCoulombIntegrals, sisi4s::CcsdEnergyFromCoulombIntegralsReference, sisi4s::CcsdEquationOfMotionDavidson, sisi4s::CcsdPerturbativeTriples, sisi4s::CcsdPerturbativeTriplesComplex, sisi4s::CcsdtEnergyFromCoulombIntegrals, sisi4s::CcsdtEquationOfMotionDavidson, sisi4s::ComplexTensorContraction, sisi4s::ComplexTensorNorm, sisi4s::ComplexTensorReader, sisi4s::ComplexTensorSum, sisi4s::ComplexTensorWriter, sisi4s::CoulombIntegralsFromGaussian, sisi4s::CoulombIntegralsFromRotatedCoulombIntegrals, sisi4s::CoulombIntegralsFromVertex, sisi4s::CoulombVertexDecomposition, sisi4s::CoulombVertexFromFactors, sisi4s::CoulombVertexReader, sisi4s::CoulombVertexSingularVectors, sisi4s::Delete, sisi4s::DoublesAmplitudesDecomposition, sisi4s::DoublesAmplitudesFromVertex, sisi4s::DrccdEnergyFromCoulombIntegrals, sisi4s::Exit, sisi4s::FcidumpReader, sisi4s::FcidumpWriter, sisi4s::FiniteSizeCorrection, sisi4s::FockMatrixFromCoulombIntegrals, sisi4s::FromComplexTensor, sisi4s::GenerateRandomComplexMatrix, sisi4s::GenerateRandomMatrix, sisi4s::GenerateRandomTensor, sisi4s::HartreeFockFromCoulombIntegrals, sisi4s::HartreeFockFromGaussian, sisi4s::MeanCorrelationHoleDepth, sisi4s::MoReader, sisi4s::Mp2NaturalOrbitals, sisi4s::NaturalTransitionOrbitalsFromRhoAI, sisi4s::Nop, sisi4s::NuclearRepulsionEnergy, sisi4s::OneBodyFromGaussian, sisi4s::OneBodyRotation, sisi4s::ParenthesisTriples, sisi4s::ParticleHoleCoulombVertexDecomposition, sisi4s::ParticleHoleCoulombVertexFromFactors, sisi4s::ParticleHoleCoulombVertexReader, sisi4s::ParticleHoleCoulombVertexSingularVectors, sisi4s::PerturbativeTriples, sisi4s::PQRSCoulombIntegralsToVertex, sisi4s::PseudoInverse, sisi4s::Read, sisi4s::Write, sisi4s::SingleParticleOccupancies, sisi4s::SliceCoulombVertex, sisi4s::TensorAntisymmetrizer, sisi4s::TensorAntisymmetrizer2, sisi4s::TensorContraction, sisi4s::TensorGetMax, sisi4s::TensorNorm, sisi4s::TensorReader, sisi4s::TensorReduceijij, sisi4s::TensorSlicer, sisi4s::TensorSum, sisi4s::TensorUnrestricter, sisi4s::TensorWriter, sisi4s::UccsdAmplitudesFromCoulombIntegrals, sisi4s::UCcsdEAEquationOfMotionDavidson, sisi4s::UCcsdIPEquationOfMotionDavidson, sisi4s::UccsdtAmplitudesFromCoulombIntegrals, sisi4s::UccsdtqAmplitudesFromCoulombIntegrals, sisi4s::UegVertexGenerator, sisi4s::UnrestrictedCIS, sisi4s::UnrestrictedEquationOfMotionSinglesFromRpa, sisi4s::UPerturbativeTriples, and sisi4s::UrpaAmplitudesFromCoulombIntegrals.
◆ getRealArgument() [1/2]
sisi4s::real Algorithm::getRealArgument |
( |
std::string const & |
argumentName | ) |
|
◆ getRealArgument() [2/2]
sisi4s::real Algorithm::getRealArgument |
( |
std::string const & |
argumentName, |
|
|
real const |
defaultValue |
|
) |
| |
◆ getRealArgumentFromInteger()
sisi4s::real Algorithm::getRealArgumentFromInteger |
( |
IntegerData * |
data | ) |
|
◆ getRealArgumentFromTensor()
sisi4s::real Algorithm::getRealArgumentFromTensor |
( |
TensorData< real > * |
data | ) |
|
◆ getTensorArgument()
template<typename F , typename T >
◆ getTensorArgumentFromReal()
template<typename F , typename T >
Converts the given real data into a scalar tensor.
◆ getTextArgument() [1/2]
std::string Algorithm::getTextArgument |
( |
std::string const & |
argumentName | ) |
|
◆ getTextArgument() [2/2]
std::string Algorithm::getTextArgument |
( |
std::string const & |
argumentName, |
|
|
std::string const & |
defaultValue |
|
) |
| |
◆ isArgumentGiven()
bool Algorithm::isArgumentGiven |
( |
std::string const & |
argumentName | ) |
|
◆ run()
virtual void sisi4s::Algorithm::run |
( |
| ) |
|
|
pure virtual |
Implemented in sisi4s::ApproximateCoulombVertex, sisi4s::ApproximateParticleHoleCoulombVertex, sisi4s::BasisSetExtrapolation, sisi4s::DefineHolesAndParticles, sisi4s::CcsdDiagrammaticDecomposition, sisi4s::CcsdEquationOfMotionDavidson, sisi4s::CcsdEquationOfMotionDavidson, sisi4s::CcsdPerturbativeTriples, sisi4s::CcsdPerturbativeTriplesComplex, sisi4s::CcsdtEquationOfMotionDavidson, sisi4s::CcsdtEquationOfMotionDavidson, sisi4s::ClusterSinglesDoublesAlgorithm, sisi4s::ClusterSinglesDoublesAlgorithm, sisi4s::ClusterSinglesDoublesTriplesAlgorithm, sisi4s::ClusterSinglesDoublesTriplesAlgorithm, sisi4s::ClusterSinglesDoublesTriplesQuadruplesAlgorithm, sisi4s::ClusterSinglesDoublesTriplesQuadruplesAlgorithm, sisi4s::ComplexTensorContraction, sisi4s::ComplexTensorNorm, sisi4s::ComplexTensorReader, sisi4s::ComplexTensorSum, sisi4s::ComplexTensorWriter, sisi4s::CoulombIntegralsFromGaussian, sisi4s::CoulombIntegralsFromRotatedCoulombIntegrals, sisi4s::CoulombIntegralsFromVertex, sisi4s::CoulombVertexDecomposition, sisi4s::CoulombVertexFromFactors, sisi4s::CoulombVertexReader, sisi4s::CoulombVertexSingularVectors, sisi4s::Delete, sisi4s::DoublesAmplitudesDecomposition, sisi4s::DoublesAmplitudesFromVertex, sisi4s::Exit, sisi4s::FcidumpReader, sisi4s::FcidumpWriter, sisi4s::FiniteSizeCorrection, sisi4s::FockMatrixFromCoulombIntegrals, sisi4s::FromComplexTensor, sisi4s::GenerateRandomComplexMatrix, sisi4s::GenerateRandomMatrix, sisi4s::GenerateRandomTensor, sisi4s::HartreeFockFromCoulombIntegrals, sisi4s::HartreeFockFromGaussian, sisi4s::MeanCorrelationHoleDepth, sisi4s::MoReader, sisi4s::Mp2NaturalOrbitals, sisi4s::NaturalTransitionOrbitalsFromRhoAI, sisi4s::NaturalTransitionOrbitalsFromRhoAI, sisi4s::Nop, sisi4s::NuclearRepulsionEnergy, sisi4s::OneBodyFromGaussian, sisi4s::OneBodyRotation, sisi4s::ParenthesisTriples, sisi4s::ParticleHoleCoulombVertexDecomposition, sisi4s::ParticleHoleCoulombVertexFromFactors, sisi4s::ParticleHoleCoulombVertexReader, sisi4s::ParticleHoleCoulombVertexSingularVectors, sisi4s::PerturbativeTriples, sisi4s::PQRSCoulombIntegralsToVertex, sisi4s::PseudoInverse, sisi4s::Read, sisi4s::Write, sisi4s::SingleParticleOccupancies, sisi4s::SliceCoulombVertex, sisi4s::TensorAntisymmetrizer, sisi4s::TensorAntisymmetrizer2, sisi4s::TensorContraction, sisi4s::TensorGetMax, sisi4s::TensorNorm, sisi4s::TensorReader, sisi4s::TensorReduceijij, sisi4s::TensorSlicer, sisi4s::TensorSum, sisi4s::TensorUnrestricter, sisi4s::TensorWriter, sisi4s::UccsdAmplitudesFromCoulombIntegrals, sisi4s::UCcsdEAEquationOfMotionDavidson, sisi4s::UCcsdEAEquationOfMotionDavidson, sisi4s::UCcsdIPEquationOfMotionDavidson, sisi4s::UCcsdIPEquationOfMotionDavidson, sisi4s::UccsdtAmplitudesFromCoulombIntegrals, sisi4s::UccsdtqAmplitudesFromCoulombIntegrals, sisi4s::UegVertexGenerator, sisi4s::UegVertexGenerator, sisi4s::UnrestrictedCIS, sisi4s::UnrestrictedEquationOfMotionSinglesFromRpa, sisi4s::UnrestrictedEquationOfMotionSinglesFromRpa, and sisi4s::UPerturbativeTriples.
◆ setIntegerArgument()
void Algorithm::setIntegerArgument |
( |
std::string const & |
argumentName, |
|
|
int const |
value |
|
) |
| |
◆ setRealArgument()
void Algorithm::setRealArgument |
( |
std::string const & |
argumentName, |
|
|
real const |
value |
|
) |
| |
◆ arguments
std::map<std::string, std::string> sisi4s::Algorithm::arguments |
◆ fallible
bool sisi4s::Algorithm::fallible = false |
◆ note
std::string sisi4s::Algorithm::note |
The documentation for this class was generated from the following files: