|
TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
|
#include "../hilbert_space/fundamental_operator_set.hpp"#include "../utility/dressed_iterator.hpp"#include "../utility/real_or_complex.hpp"#include "../utility/numeric_ops.hpp"#include "../utility/variant_extensions.hpp"#include <h5/h5.hpp>#include <algorithm>#include <cmath>#include <compare>#include <complex>#include <cstddef>#include <functional>#include <map>#include <ostream>#include <string>#include <type_traits>#include <utility>#include <variant>#include <vector>Provides generic many-body operators.
Definition in file many_body_operator.hpp.
Go to the source code of this file.
Classes | |
| struct | triqs::operators::canonical_ops_t |
| Second quantization creation/annihilation operator. More... | |
| class | triqs::operators::many_body_operator_generic< T > |
| Generic many-body operator. More... | |
| class | triqs::operators::real_or_complex |
| Type that can represent either a real or a complex number. More... | |
Typedefs | |
| using | triqs::operators::indices_t = hilbert_space::fundamental_operator_set::indices_t |
| Elevate triqs::hilbert_space::indices_t to the triqs::operators namespace. | |
| using | triqs::operators::many_body_operator = many_body_operator_generic<real_or_complex> |
| Many-body operator with real or complex coefficients (see triqs::operators::many_body_operator_generic). | |
| using | triqs::operators::many_body_operator_complex = many_body_operator_generic<std::complex<double>> |
| Many-body operator with complex coefficients (see triqs::operators::many_body_operator_generic). | |
| using | triqs::operators::many_body_operator_real = many_body_operator_generic<double> |
| Many-body operator with real coefficients (see triqs::operators::many_body_operator_generic). | |
| using | triqs::operators::monomial_t = std::vector<canonical_ops_t> |
| Type used to represent a monomial of canonical second quantization operators. | |
Functions | |
| template<typename T1, typename T2> | |
| void | triqs::operators::assert_operators_are_close (many_body_operator_generic< T1 > const &op1, many_body_operator_generic< T2 > const &op2, double precision) |
| Assert that two many-body operators are close to each other within a given precision. | |
| template<typename T = real_or_complex, typename... IndexTypes> | |
| many_body_operator_generic< T > | triqs::operators::c (IndexTypes... indices) |
| Create an annihilation operator \( \hat{c}_{\alpha} \). | |
| template<typename T = real_or_complex, typename... IndexTypes> | |
| many_body_operator_generic< T > | triqs::operators::c_dag (IndexTypes... indices) |
| Create a creation operator \( \hat{c}_{\alpha}^{\dagger} \). | |
| template<typename T> | |
| many_body_operator_generic< T > | triqs::operators::imag (many_body_operator_generic< T > const &op) |
| Get a copy of the given operator \( \hat{O} \) with the real parts of all monomial coefficients set to zero. | |
| template<typename T> | |
| bool | triqs::operators::is_op_hermitian (many_body_operator_generic< T > const &op, double tolerance=0.0) |
| Check if a many-body operator is Hermitian within a given precision. | |
| template<typename T = real_or_complex, typename... IndexTypes> | |
| many_body_operator_generic< T > | triqs::operators::n (IndexTypes... indices) |
| Create a number operator \( \hat{n}_{\alpha} = \hat{c}_{\alpha}^{\dagger} \hat{c}_{\alpha} \). | |
| bool | triqs::operators::operator< (monomial_t const &m1, monomial_t const &m2) |
| Less-than comparison operator for triqs::operators::monomial_t. | |
| std::ostream & | triqs::operators::operator<< (std::ostream &os, canonical_ops_t const &op) |
| Write a triqs::operators::canonical_ops_t to a std::ostream. | |
| std::ostream & | triqs::operators::operator<< (std::ostream &os, monomial_t const &m) |
| Write a triqs::operators::monomial_t to a std::ostream. | |
| template<typename T> | |
| many_body_operator_generic< T > | triqs::operators::real (many_body_operator_generic< T > const &op) |
| Get a copy of the given operator \( \hat{O} \) with the imaginary parts of all monomial coefficients set to zero. | |