Functions

The class is equipped with two types of Constructors that refer to the cases if it uses the number-conserving Basis class or the not number-conserving State class.

Arbitrary terms in form of local tensor products can be added with add_operator(…) in Input Functions. The function define_operator(…) allows to create arbitrary matrices acting on the local Hilbert space of dimension \(Q\). A few default operators are included.

Full access to the states forming the basis of the operator – independent of the used template class T – are listed in State Handling. The functions get_index(state), get_state(index), and increment(state) provide full access to the basis states. The function apply(state) is used to generate the matrix representation of this operator.

Finally, the operator can represented in different matrix formats using the functions in Matrix Formats. We provide native cpp container but also frontends for different linear algebra libraries like Eigen and Petsc.