|
TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
|
Tools to construct and manipulate second-quantized many-body operators.
The Operators module provides a symbolic algebra for second-quantized many-body operators acting on the fermionic Fock space introduced in Hilbert space.
The central type is triqs::operators::many_body_operator (with the real- and complex-valued aliases triqs::operators::many_body_operator_real and triqs::operators::many_body_operator_complex). A many-body operator \( \hat{O} = \sum_i a_i \hat{m}_i \) is a linear combination of monomials \( \hat{m}_i \) (see triqs::operators::monomial_t), where each monomial is an ordered product of canonical creation/annihilation operators (see triqs::operators::canonical_ops_t). The operators form an algebra over the field of real/complex scalars, with an additional addition operation between operators and scalars.
Operators are not constructed directly but assembled from the factory functions triqs::operators::c (annihilation), triqs::operators::c_dag (creation) and triqs::operators::n (number), combined with the usual +, - and * arithmetic.
Helper functions include dagger (Hermitian conjugation), triqs::operators::real / triqs::operators::imag (real/imaginary parts of the coefficients), transform (apply a callable to each coefficient) and triqs::operators::is_op_hermitian.
The module is split into two parts:
Topics | |
| Many-body operators | |
| The many-body operator algebra in second quantization. | |
| Operator utilities | |
| Helpers to extract coefficient tensors and maps from many-body operators. | |