gstlearn  1.0.0
CCC
Tensor Class Reference

TODO : public ASpaceObject. More...

#include <Tensor.hpp>

Inheritance diagram for Tensor:
AStringable

Public Member Functions

 Tensor (unsigned int ndim=2)
 
 Tensor (const Tensor &r)
 
Tensoroperator= (const Tensor &r)
 
virtual ~Tensor ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 Interface for AStringable. More...
 
void init (int ndim)
 
void setTensorDirect (const MatrixSquareGeneral &tensor)
 
void setTensorInverse (const MatrixSquareGeneral &tensor)
 
void setRadius (double radius)
 
void setRadiusVec (const VectorDouble &radius)
 
void setRadiusDir (unsigned int idim, double radius)
 
void setRotation (const Rotation &rot)
 
void setRotationAngles (const VectorDouble &angles)
 
void setRotationAngle (unsigned int idim, double angle)
 
const VectorDoublegetAngles () const
 
const MatrixSquareGeneralgetTensorDirect () const
 
const MatrixSquareGeneralgetTensorInverse () const
 
const VectorDoublegetRadius () const
 
const RotationgetRotation () const
 
const MatrixSquareGeneralgetMatrixDirect () const
 
const MatrixSquareGeneralgetMatrixInverse () const
 
bool isIsotropic () const
 
bool hasRotation () const
 
VectorDouble applyDirect (const VectorDouble &vec) const
 
VectorDouble applyInverse (const VectorDouble &vec) const
 
void applyInverseInPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyDirectInPlace (const VectorDouble &vec, VectorDouble &out) const
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 

Private Member Functions

void _updateIsotropic ()
 
void _fillTensors ()
 

Private Attributes

unsigned int _nDim
 
MatrixSquareGeneral _tensorDirect
 Number of dimensions. More...
 
MatrixSquareGeneral _tensorInverse
 Direct Tensor matrix (definite positive) More...
 
VectorDouble _radius
 Inverse Tensor matrix (definite positive) More...
 
Rotation _rotation
 Ellipsoid radius. More...
 
bool _isotropic
 Ellipsoid rotation. More...
 

Detailed Description

TODO : public ASpaceObject.

Constructor & Destructor Documentation

◆ Tensor() [1/2]

Tensor::Tensor ( unsigned int  ndim = 2)

◆ Tensor() [2/2]

Tensor::Tensor ( const Tensor r)

◆ ~Tensor()

Tensor::~Tensor ( )
virtual

Member Function Documentation

◆ _fillTensors()

void Tensor::_fillTensors ( )
private

◆ _updateIsotropic()

void Tensor::_updateIsotropic ( )
private

◆ applyDirect()

VectorDouble Tensor::applyDirect ( const VectorDouble vec) const

◆ applyDirectInPlace()

void Tensor::applyDirectInPlace ( const VectorDouble vec,
VectorDouble out 
) const

◆ applyInverse()

VectorDouble Tensor::applyInverse ( const VectorDouble vec) const

◆ applyInverseInPlace()

void Tensor::applyInverseInPlace ( const VectorDouble vec,
VectorDouble out 
) const

◆ getAngles()

const VectorDouble& Tensor::getAngles ( ) const
inline

◆ getMatrixDirect()

const MatrixSquareGeneral& Tensor::getMatrixDirect ( ) const
inline

◆ getMatrixInverse()

const MatrixSquareGeneral& Tensor::getMatrixInverse ( ) const
inline

◆ getRadius()

const VectorDouble& Tensor::getRadius ( ) const
inline

◆ getRotation()

const Rotation& Tensor::getRotation ( ) const
inline

◆ getTensorDirect()

const MatrixSquareGeneral& Tensor::getTensorDirect ( ) const
inline

◆ getTensorInverse()

const MatrixSquareGeneral& Tensor::getTensorInverse ( ) const
inline

◆ hasRotation()

bool Tensor::hasRotation ( ) const
inline

◆ init()

void Tensor::init ( int  ndim)

◆ isIsotropic()

bool Tensor::isIsotropic ( ) const
inline

◆ operator=()

Tensor & Tensor::operator= ( const Tensor r)

◆ setRadius()

void Tensor::setRadius ( double  radius)

◆ setRadiusDir()

void Tensor::setRadiusDir ( unsigned int  idim,
double  radius 
)

◆ setRadiusVec()

void Tensor::setRadiusVec ( const VectorDouble radius)

◆ setRotation()

void Tensor::setRotation ( const Rotation rot)

◆ setRotationAngle()

void Tensor::setRotationAngle ( unsigned int  idim,
double  angle 
)

◆ setRotationAngles()

void Tensor::setRotationAngles ( const VectorDouble angles)

TODO : Rotation angles in 2D

◆ setTensorDirect()

void Tensor::setTensorDirect ( const MatrixSquareGeneral tensor)
inline

◆ setTensorInverse()

void Tensor::setTensorInverse ( const MatrixSquareGeneral tensor)
inline

◆ toString()

String Tensor::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

Interface for AStringable.

Reimplemented from AStringable.

Member Data Documentation

◆ _isotropic

bool Tensor::_isotropic
private

Ellipsoid rotation.

◆ _nDim

unsigned int Tensor::_nDim
private

◆ _radius

VectorDouble Tensor::_radius
private

Inverse Tensor matrix (definite positive)

◆ _rotation

Rotation Tensor::_rotation
private

Ellipsoid radius.

◆ _tensorDirect

MatrixSquareGeneral Tensor::_tensorDirect
private

Number of dimensions.

◆ _tensorInverse

MatrixSquareGeneral Tensor::_tensorInverse
private

Direct Tensor matrix (definite positive)


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