Struct HS_interaction_operator

Inheritance Relationships

Base Type

Struct Documentation

struct HS_interaction_operator : public HS_Hermitian_operator

Represents an interaction operator (density-density) in a sector of the Hilbert space.

Public Functions

HS_interaction_operator(shared_ptr<model> _the_model, const string &_name, sector _sec, const vector<matrix_element<double>> &elements)

constructor

virtual void multiply_add(const vector<double> &x, vector<double> &y, double z)

applies the operator on the vector x and adds the results (times z) to the vector y

virtual void multiply_add(const vector<Complex> &x, vector<Complex> &y, double z)
virtual void dense_form(matrix<double> &h, double z)

produces a dense form of the operator

virtual void dense_form(matrix<Complex> &h, double z)
virtual void CSR_map(map<index_pair, double> &E, vector<double> &D, double z)

fills a map, in order to construct the CSR form of the Hamiltonian

virtual void CSR_map(map<index_pair, Complex> &E, vector<double> &D, double z)
virtual void diag(vector<double> &Y, double z)
virtual void Triplet_COO_map(vector<matrix_element<double>> &E, double z, bool sym_store)

populates a vector of matrix_element to build the Hamiltonian

virtual void Triplet_COO_map(vector<matrix_element<Complex>> &E, double z, bool sym_store)

populates a vector of matrix_element to build the Hamiltonian

Public Members

vector<double> elem
shared_ptr<ED_basis> B