Public Attributes

F5Ttensor_t Struct Reference

Given a tensor of rank three with indices i,j,k, then its corresponding linear index is given by Li = i+rank*j+rank*rank*k Not all of the tensor components might reside actually in memory, but due to symmetries only some of them do. More...

#include <F5types.h>

List of all members.

Public Attributes


Detailed Description

Given a tensor of rank three with indices i,j,k, then its corresponding linear index is given by Li = i+rank*j+rank*rank*k Not all of the tensor components might reside actually in memory, but due to symmetries only some of them do.

The indexing array is used to map the linear index to the actual memory index:

Rijk = data[ indexing[ Li ] ]

The parity array specifies the sign change when accessing components in addition to the indexing. It may be zero for components which are never non-zero. Usually it will just be +1 or -1 . The final tensor value is given by

Rijk = data[ indexing[ Li ] ] * parity[ Li ]

The size of the indexing and parity arrays is given by the components member.

The covariance array gives the upper or lower indexing scheme. For a rank 3 tensor, it has three entries that may be positive or negative.

The reverse_indexing array provides the inverse mapping of the indexing array.

The metric member specifies relative to which metric tensor field this indicable field is actually a tensor field.


Member Data Documentation

Index mapping array per component from linear component index to memory component, size(indexing)=dimension^rank.

If all entries are zero, then this information has not yet been defined. If the pointer is zero, then no symmetries are defined, i.e. all components are relevant.

Descriptive name.