Cadabra
Computer algebra system for field theory problems
|
Representation of a sum of tensor monomials, each having the same tensor names, but with different index positions.
As with AdjForm, the names of the tensors are not stored, only the index structure and the coefficient of each term.
#include <Adjform.hh>
Public Types | |
using | integer_type = int32_t |
using | map_t = std::map< Adjform, integer_type > |
using | iterator = map_t::iterator |
using | const_iterator = map_t::const_iterator |
Public Member Functions | |
ProjectedAdjform () | |
ProjectedAdjform (const Adjform &adjform, const integer_type &value=1) | |
void | combine (const ProjectedAdjform &other) |
void | combine (const ProjectedAdjform &other, integer_type factor) |
ProjectedAdjform & | operator+= (const ProjectedAdjform &other) |
void | multiply (const integer_type &k) |
ProjectedAdjform & | operator*= (const integer_type &k) |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
void | clear () |
size_t | size () const |
size_t | max_size () const |
size_t | n_indices () const |
bool | empty () const |
const integer_type & | get (const Adjform &adjform) const |
void | set (const Adjform &adjform, const integer_type &value=1) |
void | add (const Adjform &adjform, const integer_type &value=1) |
void | apply_young_symmetry (const std::vector< size_t > &indices, bool antisymmetric) |
void | apply_ident_symmetry (const std::vector< size_t > &positions, size_t n_indices) |
void | apply_ident_symmetry (const std::vector< size_t > &positions, size_t n_indices, const std::vector< std::vector< int >> &commutation_matrix) |
void | apply_cyclic_symmetry () |
Private Member Functions | |
void | set_ (const Adjform &adjform, const integer_type &value=1) |
void | add_ (const Adjform &adjform, const integer_type &value=1) |
Private Attributes | |
map_t | data |
Static Private Attributes | |
static integer_type | zero = 0 |
Friends | |
ProjectedAdjform | operator+ (ProjectedAdjform lhs, const ProjectedAdjform &rhs) |
ProjectedAdjform | operator* (ProjectedAdjform lhs, const integer_type &rhs) |
using cadabra::ProjectedAdjform::const_iterator = map_t::const_iterator |
using cadabra::ProjectedAdjform::integer_type = int32_t |
using cadabra::ProjectedAdjform::iterator = map_t::iterator |
using cadabra::ProjectedAdjform::map_t = std::map<Adjform, integer_type> |
cadabra::ProjectedAdjform::ProjectedAdjform | ( | ) |
cadabra::ProjectedAdjform::ProjectedAdjform | ( | const Adjform & | adjform, |
const integer_type & | value = 1 |
||
) |
void cadabra::ProjectedAdjform::add | ( | const Adjform & | adjform, |
const integer_type & | value = 1 |
||
) |
|
private |
void cadabra::ProjectedAdjform::apply_cyclic_symmetry | ( | ) |
void cadabra::ProjectedAdjform::apply_ident_symmetry | ( | const std::vector< size_t > & | positions, |
size_t | n_indices | ||
) |
void cadabra::ProjectedAdjform::apply_ident_symmetry | ( | const std::vector< size_t > & | positions, |
size_t | n_indices, | ||
const std::vector< std::vector< int >> & | commutation_matrix | ||
) |
void cadabra::ProjectedAdjform::apply_young_symmetry | ( | const std::vector< size_t > & | indices, |
bool | antisymmetric | ||
) |
ProjectedAdjform::iterator cadabra::ProjectedAdjform::begin | ( | ) |
ProjectedAdjform::const_iterator cadabra::ProjectedAdjform::begin | ( | ) | const |
void cadabra::ProjectedAdjform::clear | ( | ) |
void cadabra::ProjectedAdjform::combine | ( | const ProjectedAdjform & | other | ) |
void cadabra::ProjectedAdjform::combine | ( | const ProjectedAdjform & | other, |
integer_type | factor | ||
) |
bool cadabra::ProjectedAdjform::empty | ( | ) | const |
ProjectedAdjform::iterator cadabra::ProjectedAdjform::end | ( | ) |
ProjectedAdjform::const_iterator cadabra::ProjectedAdjform::end | ( | ) | const |
const ProjectedAdjform::integer_type & cadabra::ProjectedAdjform::get | ( | const Adjform & | adjform | ) | const |
size_t cadabra::ProjectedAdjform::max_size | ( | ) | const |
void cadabra::ProjectedAdjform::multiply | ( | const integer_type & | k | ) |
size_t cadabra::ProjectedAdjform::n_indices | ( | ) | const |
ProjectedAdjform & cadabra::ProjectedAdjform::operator*= | ( | const integer_type & | k | ) |
ProjectedAdjform & cadabra::ProjectedAdjform::operator+= | ( | const ProjectedAdjform & | other | ) |
void cadabra::ProjectedAdjform::set | ( | const Adjform & | adjform, |
const integer_type & | value = 1 |
||
) |
|
private |
size_t cadabra::ProjectedAdjform::size | ( | ) | const |
|
friend |
|
friend |
|
private |
|
staticprivate |