1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::Tensor Class Reference

TODO : public ASpaceObject. More...

#include <Tensor.hpp>

Inheritance diagram for gstlrn::Tensor:
gstlrn::AStringable

Detailed Description

TODO : public ASpaceObject.

Public Member Functions

 Tensor (size_t ndim=2)
 
 Tensor (const Tensor &r)
 
Tensoroperator= (const Tensor &r)
 
virtual ~Tensor ()
 
String toString (const AStringFormat *strfmt=nullptr) const override
 Interface for AStringable.
 
void init (Id ndim)
 
void setTensorDirect2 (const MatrixSymmetric &tensor)
 
void setRadiusIsotropic (double radius)
 
void setRadiusVec (const 1 &radius)
 
void setRadiusDir (size_t idim, double radius)
 
void setRotation (const Rotation &rot)
 
void setRotationAngles (const 1 &angles)
 
void setRotationAngle (size_t idim, double angle)
 
void setRotationAnglesAndRadius (const 1 &angles=1(), const 1 &radius=1())
 
const & getAngles () const
 
const MatrixSquaregetTensorDirect () const
 
const MatrixSquaregetTensorInverse () const
 
const MatrixSymmetricgetTensorDirect2 () const
 
const & getRadius () const
 
double getAngle (Id i) const
 
double getRadius (Id i) const
 
const RotationgetRotation () const
 
const MatrixSquaregetMatrixDirect () const
 
const MatrixSquaregetMatrixInverse () const
 
bool isIsotropic () const
 
bool hasRotation () const
 
double getValue (Id idim, Id jdim) const
 
 applyDirect (const 1 &vec) const
 
 applyInverse (const 1 &vec) const
 
void applyInverseInPlace (constvect vec, vect out) const
 
void applyInverseInPlace (const 1 &vec, 1 &out) const
 
void applyInverse2InPlace (const 1 &vec, 1 &out) const
 
void applyDirectInPlace (const 1 &vec, 1 &out) const
 
void applyDirectSwapInPlace (const 1 &vec, 1 &out) const
 
bool isFlagDefinedByInverse2 () const
 
- Public Member Functions inherited from gstlrn::AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 

Constructor & Destructor Documentation

◆ Tensor() [1/2]

gstlrn::Tensor::Tensor ( size_t  ndim = 2)

◆ Tensor() [2/2]

gstlrn::Tensor::Tensor ( const Tensor r)

◆ ~Tensor()

gstlrn::Tensor::~Tensor ( )
virtual

Member Function Documentation

◆ applyDirect()

gstlrn::Tensor::applyDirect ( const 1 &  vec) const

◆ applyDirectInPlace()

void gstlrn::Tensor::applyDirectInPlace ( const 1 &  vec,
1 &  out 
) const

◆ applyDirectSwapInPlace()

void gstlrn::Tensor::applyDirectSwapInPlace ( const 1 &  vec,
1 &  out 
) const

◆ applyInverse()

gstlrn::Tensor::applyInverse ( const 1 &  vec) const

◆ applyInverse2InPlace()

void gstlrn::Tensor::applyInverse2InPlace ( const 1 &  vec,
1 &  out 
) const

◆ applyInverseInPlace() [1/2]

void gstlrn::Tensor::applyInverseInPlace ( const 1 &  vec,
1 &  out 
) const

◆ applyInverseInPlace() [2/2]

void gstlrn::Tensor::applyInverseInPlace ( constvect  vec,
vect  out 
) const

◆ getAngle()

double gstlrn::Tensor::getAngle ( Id  i) const
inline

◆ getAngles()

const & gstlrn::Tensor::getAngles ( ) const
inline

◆ getMatrixDirect()

const MatrixSquare & gstlrn::Tensor::getMatrixDirect ( ) const
inline

◆ getMatrixInverse()

const MatrixSquare & gstlrn::Tensor::getMatrixInverse ( ) const
inline

◆ getRadius() [1/2]

const & gstlrn::Tensor::getRadius ( ) const
inline

◆ getRadius() [2/2]

double gstlrn::Tensor::getRadius ( Id  i) const
inline

◆ getRotation()

const Rotation & gstlrn::Tensor::getRotation ( ) const
inline

◆ getTensorDirect()

const MatrixSquare & gstlrn::Tensor::getTensorDirect ( ) const
inline

◆ getTensorDirect2()

const MatrixSymmetric & gstlrn::Tensor::getTensorDirect2 ( ) const
inline

◆ getTensorInverse()

const MatrixSquare & gstlrn::Tensor::getTensorInverse ( ) const
inline

◆ getValue()

double gstlrn::Tensor::getValue ( Id  idim,
Id  jdim 
) const
inline

◆ hasRotation()

bool gstlrn::Tensor::hasRotation ( ) const
inline

◆ init()

void gstlrn::Tensor::init ( Id  ndim)

◆ isFlagDefinedByInverse2()

bool gstlrn::Tensor::isFlagDefinedByInverse2 ( ) const
inline

◆ isIsotropic()

bool gstlrn::Tensor::isIsotropic ( ) const
inline

◆ operator=()

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

◆ setRadiusDir()

void gstlrn::Tensor::setRadiusDir ( size_t  idim,
double  radius 
)

◆ setRadiusIsotropic()

void gstlrn::Tensor::setRadiusIsotropic ( double  radius)

◆ setRadiusVec()

void gstlrn::Tensor::setRadiusVec ( const 1 &  radius)

◆ setRotation()

void gstlrn::Tensor::setRotation ( const Rotation rot)

◆ setRotationAngle()

void gstlrn::Tensor::setRotationAngle ( size_t  idim,
double  angle 
)

◆ setRotationAngles()

void gstlrn::Tensor::setRotationAngles ( const 1 &  angles)

TODO : Rotation angles in 2D

◆ setRotationAnglesAndRadius()

void gstlrn::Tensor::setRotationAnglesAndRadius ( const 1 &  angles = 1(),
const 1 &  radius = 1() 
)

This functions defines jointly the rotation anisotropy and ranges. It allows initiating the tensor only once (saves time)

Parameters
anglesVector of rotation angles (optional)
radiusVector of ranges (optional)

◆ setTensorDirect2()

void gstlrn::Tensor::setTensorDirect2 ( const MatrixSymmetric tensor)

◆ toString()

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

Interface for AStringable.

Reimplemented from gstlrn::AStringable.


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