|
| template<std::ranges::input_range R> |
| bool | all_equal (R const &r) |
| | Determines if all elements in the given range are equal.
|
| |
| generator< std::pair< long, nda::range > > | enumerated_sub_slices (auto sub_div) |
| |
| template<typename T > |
| auto | to_vector (auto &&gen) |
| |
|
Functions to create the impurity interaction using many-body operators.
|
| operators::many_body_operator | make_density_density (std::vector< std::string > const &tau_names, std::vector< long > const &dim_gamma, double U_int, double U_prime, double J_hund) |
| | Construct a density-density interaction Hamiltonian.
|
| |
| operators::many_body_operator | make_kanamori (std::vector< std::string > const &tau_names, std::vector< long > const &dim_gamma, double U_int, double U_prime, double J_hund, bool spin_flip=true, bool pair_hopping=true) |
| | Construct a Hubbard-Kanamori Hamiltonian.
|
| |
| operators::many_body_operator | make_slater (std::vector< std::string > const &tau_names, std::vector< long > const &dim_gamma, double U_int, double J_hund, nda::matrix< dcomplex > const &spherical_to_dft, std::optional< nda::matrix< dcomplex > > const &dft_to_local) |
| | Construct a Slater Hamiltonian.
|
| |
|
Utility functions for creating and working with the four index Coulomb tensor.
|
| nda::array< double, 4 > | U_matrix_in_spherical_basis (long l, double U_int, double J_hund) |
| | Construct a four-index Coulomb tensor in the basis of spherical harmonics.
|
| |
| nda::array< dcomplex, 4 > | U_matrix_in_local_basis (long l, nda::matrix< dcomplex > s2l, double U_int, double J_hund) |
| | Construct a four-index Coulomb tensor in a specific orbital basis.
|
| |
template<std::ranges::input_range R>
| bool triqs::all_equal |
( |
R const & |
r | ) |
|
Determines if all elements in the given range are equal.
- Template Parameters
-
| R | A type that satisfies the std::ranges::input_range concept. |
- Parameters
-
| r | The input range to check. |
- Returns
- True if all elements in the range are equal, false otherwise.
This function uses std::ranges::adjacent_find with a predicate that checks for inequality. If no such adjacent elements are found, it implies all elements in the range are equal.
Definition at line 22 of file range_supp.hpp.