Cadabra
Computer algebra system for field theory problems
|
Representation of the index structure of a tensor monomial, using a storage format which resembles an adjacency matrix.
The structure is stored as a vector of integers. Negative integers denote free indices. Positive indices denote a contraction with an index at the indicated position.
Example:
A_{m n} B_{p n} -> -1 3 -2 1 0 1 2 3
The tensor names themselves ('A' and 'B' above) are not stored.
#include <Adjform.hh>
Public Types | |
using | value_type = short |
The maximal number of index slots is set by value_type : for a short, the maximal number of slots is 127. | |
using | size_type = value_type |
using | difference_type = value_type |
using | array_type = std::vector< value_type > |
using | const_reference = array_type::const_reference |
using | const_iterator = array_type::const_iterator |
Private Attributes | |
array_type | data |
using cadabra::Adjform::array_type = std::vector<value_type> |
using cadabra::Adjform::const_iterator = array_type::const_iterator |
using cadabra::Adjform::const_reference = array_type::const_reference |
The maximal number of index slots is set by value_type
: for a short, the maximal number of slots is 127.
cadabra::Adjform::Adjform | ( | ) |
cadabra::Adjform::Adjform | ( | IndexIterator | beg, |
IndexIterator | end, | ||
IndexMap & | index_map, | ||
const Kernel & | kernel | ||
) |
cadabra::Adjform::Adjform | ( | ValueIterator | beg, |
ValueIterator | end, | ||
bool | push_as_coordinates | ||
) |
Adjform::const_iterator cadabra::Adjform::begin | ( | ) | const |
bool cadabra::Adjform::empty | ( | ) | const |
Adjform::const_iterator cadabra::Adjform::end | ( | ) | const |
Adjform::size_type cadabra::Adjform::index_of | ( | value_type | index, |
size_type | offset = 0 |
||
) | const |
bool cadabra::Adjform::is_dummy_index | ( | Adjform::size_type | pos | ) | const |
bool cadabra::Adjform::is_free_index | ( | Adjform::size_type | pos | ) | const |
uint64_t cadabra::Adjform::max_lehmer_code | ( | ) | const |
Adjform::size_type cadabra::Adjform::max_size | ( | ) | const |
Adjform::size_type cadabra::Adjform::n_dummy_indices | ( | ) | const |
Adjform::size_type cadabra::Adjform::n_free_indices | ( | ) | const |
Adjform::const_reference cadabra::Adjform::operator[] | ( | Adjform::size_type | idx | ) | const |
void cadabra::Adjform::push_coordinate | ( | value_type | value | ) |
void cadabra::Adjform::push_index | ( | value_type | value | ) |
bool cadabra::Adjform::resolve_dummy | ( | value_type | value | ) |
Adjform::size_type cadabra::Adjform::size | ( | ) | const |
void cadabra::Adjform::sort | ( | ) |
uint64_t cadabra::Adjform::to_lehmer_code | ( | ) | const |
std::string cadabra::Adjform::to_string | ( | ) | const |
|
private |