class EinAbstractIndex

EinAbstractIndex is an abstract base class for tensor indices or sets of tensor indices

Inheritance:


Public Methods

operator EinMultiInt() const
Conversion of current value to a multi int
virtual EinAbstractIndex* virtualCopy() const
Virtual constructor, clones the object.
virtual ~EinAbstractIndex()
Destructor
virtual int containsCount(const EinIndex&) const
counts numbers of indices with specified ID
virtual EinIndex getIndex(int slot) const
Returns the index in the specified slot.
virtual void setIndex(int slot, const EinIndex&)
Sets an index in the specified slot.
void setIndices(const EinAbstractIndex &M)
Sets all indices equal to those of M. Requires this and M to have the same n:o slots.
EinMultiIndex unrestricted() const
Returns a multi index with no symmetries
virtual int fixed() const
True if the index involved in a loop.
virtual void begin()
Shall be called when beginning a loop
virtual int end() const
Shall be true when exiting a loop
virtual void next()
Iterate over the index values with next
virtual void operator++()
Iterate over the index values with pre-increment
virtual void operator++(int)
Iterate over the index values with post-increment
virtual int current() const
returns the "current" value
virtual int dim() const
n:o total elements
virtual int size() const
n:o indep. elements, equals number of non-zero orbits
virtual int rank() const
rank, i.e., n:o slots
virtual ostream& display(ostream&) const
output on stream
virtual int currentSign() const
Returns -1, 0, or 1, depending on the current sign w.r.t. canonical element in orbit
void newID()
Gives all indices a new ID
virtual int currentOrbitSize() const
Returns n:o elements in orbit
virtual int isNonSymmetric() const
True for index spaces with no symmetries
virtual int isSymmetric() const
True for completely symmetric index spaces
virtual int isAntiSymmetric() const
True for completely anti-symmetric index spaces
virtual int orbit(const EinMultiInt &m) const
returns the orbit for given multi-int
virtual int sign(const EinMultiInt &m) const
Returns -1, 0, or 1, depending on the sign w.r.t. canonical element in orbit
virtual int orbitSize(const EinMultiInt &m) const
Returns n:o elements in orbit

Protected Methods

EinAbstractIndex()
Constructor usable for heirs.

Documentation

EinAbstractIndex is an abstract base class for tensor indices or sets of tensor indices. It also provides loop constructs for iterating over these "index spaces".
EinAbstractIndex()
Constructor usable for heirs.

operator EinMultiInt() const
Conversion of current value to a multi int

virtual EinAbstractIndex* virtualCopy() const
Virtual constructor, clones the object.

virtual ~EinAbstractIndex()
Destructor

virtual int containsCount(const EinIndex&) const
counts numbers of indices with specified ID

virtual EinIndex getIndex(int slot) const
Returns the index in the specified slot.

virtual void setIndex(int slot, const EinIndex&)
Sets an index in the specified slot.

void setIndices(const EinAbstractIndex &M)
Sets all indices equal to those of M. Requires this and M to have the same n:o slots.

EinMultiIndex unrestricted() const
Returns a multi index with no symmetries

virtual int fixed() const
True if the index involved in a loop.

virtual void begin()
Shall be called when beginning a loop

virtual int end() const
Shall be true when exiting a loop

virtual void next()
Iterate over the index values with next

virtual void operator++()
Iterate over the index values with pre-increment

virtual void operator++(int)
Iterate over the index values with post-increment

virtual int current() const
returns the "current" value

virtual int dim() const
n:o total elements

virtual int size() const
n:o indep. elements, equals number of non-zero orbits

virtual int rank() const
rank, i.e., n:o slots

virtual ostream& display(ostream&) const
output on stream

virtual int currentSign() const
Returns -1, 0, or 1, depending on the current sign w.r.t. canonical element in orbit

void newID()
Gives all indices a new ID

virtual int currentOrbitSize() const
Returns n:o elements in orbit

virtual int isNonSymmetric() const
True for index spaces with no symmetries

virtual int isSymmetric() const
True for completely symmetric index spaces

virtual int isAntiSymmetric() const
True for completely anti-symmetric index spaces

virtual int orbit(const EinMultiInt &m) const
returns the orbit for given multi-int

virtual int sign(const EinMultiInt &m) const
Returns -1, 0, or 1, depending on the sign w.r.t. canonical element in orbit

virtual int orbitSize(const EinMultiInt &m) const
Returns n:o elements in orbit


Direct child classes:
EinIndexSpace
EinIndex
EinImplIndexSet

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de