Template Struct HS_nondiagonal_operator¶
Defined in File HS_nondiagonal_operator.hpp
Inheritance Relationships¶
Base Type¶
public HS_Hermitian_operator(Struct HS_Hermitian_operator)
Derived Types¶
public HS_Heisenberg_operator< HS_field >(Template Struct HS_Heisenberg_operator)public HS_Hund_operator< HS_field >(Template Struct HS_Hund_operator)public HS_anomalous_operator< HS_field >(Template Struct HS_anomalous_operator)public HS_general_interaction_operator< HS_field >(Template Struct HS_general_interaction_operator)public HS_one_body_operator< HS_field >(Template Struct HS_one_body_operator)
Struct Documentation¶
-
template<typename HS_field>
struct HS_nondiagonal_operator : public HS_Hermitian_operator¶ Represents a non-diagonal Hermitian operator in a sector of the Hilbert space.
Subclassed by HS_Heisenberg_operator< HS_field >, HS_Hund_operator< HS_field >, HS_anomalous_operator< HS_field >, HS_general_interaction_operator< HS_field >, HS_one_body_operator< HS_field >
Public Functions
Constructor for an operator acting in a given sector.
-
~HS_nondiagonal_operator()¶
destructor
-
virtual void multiply_add(const vector<double> &x, vector<double> &y, double z)¶
Multiplies by the operator.
- Parameters:
y – output vector
x – input vector
z – multiplies the operator
-
virtual void CSR_map(map<index_pair, double> &elem, vector<double> &diag, double z)¶
fills a map, in order to construct the CSR form of the Hamiltonian
-
virtual void CSR_map(map<index_pair, Complex> &elem, vector<double> &diag, double z)¶
-
virtual void diag(vector<double> &Y, double z)¶
populates an array Y with the diagonal elements of the operator useful for prepraring the Hamiltonian for the Davidson method
-
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
-
void sort_elements()¶
Public Members
-
shared_ptr<ED_mixed_basis> B¶
basis of the sector
-
vector<diagonal_matrix_element> diag_elem¶
elements outside of the diagonal
list of diagonal elements