Class used to represent indices that can be used to write tensor calculations in index notation.
More...
|
| | Index () |
| | Empty constructor that creates a new Index with new ID. Use this to create indices. More...
|
| |
| | Index (const Index &_other) noexcept=default |
| | Indices are default copy constructable. More...
|
| |
| | Index (const int32 _i) |
| | Integers are implicitly allowed to be casted to Index, to allow expression as A(i) = B(3,i), i.e. A is the third row of B. More...
|
| |
| | Index (const uint32 _i) noexcept |
| | Integers are implicitly allowed to be casted to Index, to allow expression as A(i) = B(3,i), i.e. A is the third row of B. More...
|
| |
| | Index (const int64 _i) |
| | Integers are implicitly allowed to be casted to Index, to allow expression as A(i) = B(3,i), i.e. A is the third row of B. More...
|
| |
| | Index (const uint64 _i) noexcept |
| | Integers are implicitly allowed to be casted to Index, to allow expression as A(i) = B(3,i), i.e. A is the third row of B. More...
|
| |
| | Index (const uint64 _valueId, const size_t _span) noexcept |
| | Internal constructor, do not use this unless you know what you are doing. More...
|
| |
| | Index (const uint64 _valueId, const size_t _span, const Flag _flag1) noexcept |
| | Internal constructor, do not use this unless you know what you are doing. More...
|
| |
| size_t | actual_span (const size_t _degree) const |
| | Returns the span this index actually represents in a tensor of given order. More...
|
| |
| size_t | dimension () const |
| | Returns the (mult)Dimension assinged to this index. More...
|
| |
| bool | fixed () const |
| | Checks whether the Index represents a fixed number. More...
|
| |
| size_t | fixed_position () const |
| | : Returns the fixed position of a fixed index. More...
|
| |
| bool | open () const |
| | Checks whether the index is open. More...
|
| |
| void | open (const bool _open) |
| | : Sets whether the index is open. More...
|
| |
| Index | operator & (const size_t _span) const |
| | : Allow the creation of Indices covering all but x dimensions using the and operator. E.g. A() = B(i&0) * C(i&0), defines A as the full contraction between B and C, indifferent of the actual degree of B and C. More...
|
| |
| Index | operator/ (const size_t _span) const |
| | : Allow the creation of Indices covering an x-th fraction of the indices. E.g. A(i&0) = B(i/2, j/2) * C(j&0), defines A as the contraction between the symmetric matrification of B and the vectorisation of C, indifferent of the actual degree of B and C. More...
|
| |
| Index & | operator= (const Index &)=default |
| | Indices are default assignable. More...
|
| |
| Index | operator^ (const size_t _span) const |
| | : Allow the creation of Indices covering more than one dimension using the power operator. E.g. A(i^2) = B(i^2) + C(i^2), defines A as the entriewise sum of the matrices B and C. More...
|
| |
| void | set_span (const size_t _degree) |
| | Returns the span this index actually represents in a tensor of given order. More...
|
| |
Class used to represent indices that can be used to write tensor calculations in index notation.
The xerus::Index class is used to write indexed tensor expressen, e.g. A(i,j)*B(j,k). Here i,j,k are of type xerus::Index. The Index class provides numerous information used internally. As an enduser only the basic constructors and the ^, &, and / operators should of interest.
Definition at line 43 of file index.h.