Template Struct Q_matrix_set

Inheritance Relationships

Base Type

Struct Documentation

template<typename HilbertField>
struct Q_matrix_set : public Green_function_set

Used to store the Lehman representation of a Green function.

Public Functions

Q_matrix_set(const Q_matrix_set &Q)

deep copy Constructor

Q_matrix_set(shared_ptr<symmetry_group> _group, int mixing)

Constructor.

Q_matrix_set(shared_ptr<symmetry_group> _group, int mixing, const vector<vector<double>> &w, const vector<matrix<HilbertField>> &_q)

constructor from data from a previous computation

Q_matrix<HilbertField> consolidated_qmatrix()

Puts together the elements into a single Q_matrix, in the cluster site basis (i.e.

not symmetric operators)

void append(Q_matrix_set &Q)

Appends to the Q_matrix another one (increasing the number of rows for the same number of columns.

void check_norm(double threshold, double norm)

Checking normalization.

void streamline(bool verb = false)

Eliminating the small contributions.

void merge(vector<multimap<double, vector<HilbertField>>> &M)

Merging into a multimap.

virtual void Green_function(const Complex &z, block_matrix<Complex> &G) override

partial Green function evaluation

virtual void integrated_Green_function(block_matrix<Complex> &M) override

partial integrated Green function evaluation

virtual void write_hdf5(H5::Group &grp) override

Writes the Q_matrix_set to an HDF5 group.

Layout: attribute “nblocks”; sub-groups “block_0” … “block_{g-1}”.

virtual void read_hdf5(H5::Group &grp) override

Reads the Q_matrix_set from an HDF5 group written by write_hdf5.

Public Members

vector<Q_matrix<HilbertField>> q

QMatrices.