Template Struct HS_operator

Struct Documentation

template<typename T>
struct HS_operator

Stores a non-Hermitian operator, such as a destruction operator, in the Hilbert space.

Public Functions

inline HS_operator(uint32_t _r, uint32_t _c)

sparse form of the operator

basic constructor

inline void insert(T value, uint32_t I, uint32_t J)

inserts an element

inline void consolidate()
inline void multiply_add(const vector<T> &x, vector<T> &y, T z)

multiplies by a vector

inline void multiply_add_conjugate(const vector<T> &x, vector<T> &y, T z)

multiplies the Hermitian conjugate by a vector

inline void dense_form(matrix<T> &h, double z = 1.0)

Public Members

size_t r
size_t c

number of rows

vector<pair<T, vector<pair<uint32_t, uint32_t>>>> v

number of columns