|
TRIQS/nda 1.3.0
Multi-dimensional array library for C++
|
Tools to use and detect symmetries in nda::Array objects.
Here is a simple example of how symmetries can be used in nda:
Output:
It first creates a hermitian matrix A and uses the symmetry h_symmetry, i.e. A(i, j) = std::conj(A(j, i)), to construct the corresponding symmetry group. The symmetry group can then be used to initialize other arrays, get the representative data of an array with the same symmetry and more.
Concepts | |
| concept | nda::NdaInitFunc |
| Concept defining an initializer function. | |
| concept | nda::NdaSymmetry |
| Concept defining a symmetry in nda. | |
Classes | |
| struct | nda::operation |
| A structure to capture combinations of complex conjugation and sign flip operations. More... | |
| class | nda::sym_grp< F, A > |
| Class representing a symmetry group. More... | |
Functions | |
| template<Array A> | |
| bool | nda::is_valid (A const &a, std::array< long, static_cast< std::size_t >(get_rank< A >)> const &idx) |
| Check if a multi-dimensional index is valid, i.e. not out of bounds, w.r.t. to a given nda::Array object. | |
| bool nda::is_valid | ( | A const & | a, |
| std::array< long, static_cast< std::size_t >(get_rank< A >)> const & | idx ) |
#include <nda/sym_grp.hpp>
Check if a multi-dimensional index is valid, i.e. not out of bounds, w.r.t. to a given nda::Array object.
| A | nda::Array type. |
| a | nda::Array object. |
| idx | Multi-dimensional index. |
Definition at line 78 of file sym_grp.hpp.