1.11.1
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)
 
Tensor & operator= (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 MatrixSquare & getTensorDirect () const
 
const MatrixSquare & getTensorInverse () const
 
const MatrixSymmetric & getTensorDirect2 () const
 
const & getRadius () const
 
double getAngle (Id i) const
 
double getRadius (Id i) const
 
const Rotation & getRotation () const
 
const MatrixSquare & getMatrixDirect () const
 
const MatrixSquare & getMatrixInverse () 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)
 
AStringable & operator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 
void printConcreteClassName () const
 

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: