1 #ifndef DOCI_HAMILTONIAN_H
2 #define DOCI_HAMILTONIAN_H
43 unsigned int getdim()
const;
49 std::pair< double,std::vector<double> >
Diagonalize()
const;
57 static int CalcSign(
unsigned int i,
unsigned int j,
const mybitset a);
64 void Diagonalize_arpack(
double &energy, std::vector<double> &eigv,
bool eigvec)
const;
68 std::unique_ptr<Permutation> permutations;
70 std::unique_ptr<Molecule> molecule;
72 std::unique_ptr<helpers::SparseMatrix_CRS> mat;
std::pair< double, std::vector< double > > Diagonalize() const
static int CalcSign(unsigned int i, unsigned int j, const mybitset a)
void ReadFromFile(std::string)
DOCIHamiltonian(const Permutation &, const Molecule &)
Molecule const & getMolecule() const
static unsigned int CountBits(mybitset)
void SaveToFile(std::string) const
DOCIHamiltonian & operator=(const DOCIHamiltonian &)
double CalcEnergy() const
std::pair< std::vector< double >, helpers::matrix > DiagonalizeFull() const
unsigned int getdim() const
Permutation const & getPermutation() const
virtual ~DOCIHamiltonian()=default