ExaTN
Public Member Functions | List of all members
exatn::numerics::TensorSignature Class Reference

Public Member Functions

 TensorSignature (std::initializer_list< std::pair< SpaceId, SubspaceId >> subspaces)
 
 TensorSignature (const std::vector< std::pair< SpaceId, SubspaceId >> &subspaces)
 
 TensorSignature (unsigned int rank)
 
 TensorSignature ()
 
 TensorSignature (const TensorSignature &tens_signature)=default
 
TensorSignatureoperator= (const TensorSignature &tens_signature)=default
 
 TensorSignature (TensorSignature &&tens_signature) noexcept=default
 
TensorSignatureoperator= (TensorSignature &&tens_signature) noexcept=default
 
void printIt () const
 
void printItFile (std::ofstream &output_file) const
 
unsigned int getRank () const
 
SpaceId getDimSpaceId (unsigned int dim_id) const
 
SubspaceId getDimSubspaceId (unsigned int dim_id) const
 
std::pair< SpaceId, SubspaceId > getDimSpaceAttr (unsigned int dim_id) const
 
bool isCongruentTo (const TensorSignature &another) const
 
void resetDimension (unsigned int dim_id, std::pair< SpaceId, SubspaceId > subspace)
 
void deleteDimension (unsigned int dim_id)
 
void appendDimension (std::pair< SpaceId, SubspaceId > subspace={SOME_SPACE, 0})
 

Constructor & Destructor Documentation

◆ TensorSignature() [1/3]

exatn::numerics::TensorSignature::TensorSignature ( std::initializer_list< std::pair< SpaceId, SubspaceId >>  subspaces)

Create a tensor signature by specifying pairs <space_id,subspace_id> for each tensor dimension: Case 1: space_id = SOME_SPACE: Then subspace_id refers to the base offset [0..*) in an anonymous abstract space; Case 2: space_id != SOME_SPACE: Then space is registered and subspace_id refers to its registered subspace.

◆ TensorSignature() [2/3]

exatn::numerics::TensorSignature::TensorSignature ( unsigned int  rank)

Create a default tensor signature of std::pair<SOME_SPACE,0> by providing the tensor rank only.

◆ TensorSignature() [3/3]

exatn::numerics::TensorSignature::TensorSignature ( )

Create an empty tensor signature.

Member Function Documentation

◆ appendDimension()

void exatn::numerics::TensorSignature::appendDimension ( std::pair< SpaceId, SubspaceId >  subspace = {SOME_SPACE,0})

Appends a new subspace at the end, increasing the signature rank by one.

◆ deleteDimension()

void exatn::numerics::TensorSignature::deleteDimension ( unsigned int  dim_id)

Deletes a specific subspace, reducing the signature rank by one.

◆ getDimSpaceId()

SpaceId exatn::numerics::TensorSignature::getDimSpaceId ( unsigned int  dim_id) const

Get the space/subspace id for a specific tensor dimension.

◆ getRank()

unsigned int exatn::numerics::TensorSignature::getRank ( ) const

Get tensor rank (number of dimensions).

◆ isCongruentTo()

bool exatn::numerics::TensorSignature::isCongruentTo ( const TensorSignature another) const

Returns TRUE if the tensor signature coincides with another tensor signature.

◆ printIt()

void exatn::numerics::TensorSignature::printIt ( ) const

Print.

◆ resetDimension()

void exatn::numerics::TensorSignature::resetDimension ( unsigned int  dim_id,
std::pair< SpaceId, SubspaceId >  subspace 
)

Resets a specific subspace.


The documentation for this class was generated from the following files: