Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
tensor_basic< T >

Detailed Description

template<class T>
class rheolef::tensor_basic< T >

Definition at line 90 of file tensor.h.

Public Types

typedef size_t size_type
 
typedef T element_type
 
typedef T float_type
 

Public Member Functions

 tensor_basic (const T &init_val=0)
 
 tensor_basic (T x[3][3])
 
 tensor_basic (const tensor_basic< T > &a)
 
 tensor_basic (const std::initializer_list< std::initializer_list< T > > &il)
 
tensor_basic< T > & operator= (const tensor_basic< T > &a)
 
tensor_basic< T > & operator= (const T &val)
 
void fill (const T &init_val)
 
void reset ()
 
void set_row (const point_basic< T > &r, size_t i, size_t d=3)
 
void set_column (const point_basic< T > &c, size_t j, size_t d=3)
 
Toperator() (size_type i, size_type j)
 
const Toperator() (size_type i, size_type j) const
 
point_basic< Trow (size_type i) const
 
point_basic< Tcol (size_type i) const
 
size_t nrow () const
 
size_t ncol () const
 
std::ostream & put (std::ostream &s, size_type d=3) const
 
std::istream & get (std::istream &)
 
bool operator== (const tensor_basic< T > &) const
 
bool operator!= (const tensor_basic< T > &b) const
 
const tensor_basic< T > & operator+ () const
 
tensor_basic< Toperator- () const
 
tensor_basic< Toperator+ (const tensor_basic< T > &b) const
 
tensor_basic< Toperator- (const tensor_basic< T > &b) const
 
tensor_basic< Toperator* (const tensor_basic< T > &b) const
 
tensor_basic< Toperator* (const T &k) const
 
tensor_basic< Toperator/ (const T &k) const
 
point_basic< Toperator* (const point_basic< T > &) const
 
point_basic< Ttrans_mult (const point_basic< T > &x) const
 
tensor_basic< T > & operator+= (const tensor_basic< T > &)
 
tensor_basic< T > & operator-= (const tensor_basic< T > &)
 
tensor_basic< T > & operator*= (const T &k)
 
tensor_basic< T > & operator/= (const T &k)
 
T determinant (size_type d=3) const
 
bool is_symmetric (size_type d=3) const
 
point_basic< Teig (tensor_basic< T > &q, size_t dim=3) const
 
point_basic< Teig (size_t dim=3) const
 
point_basic< Tsvd (tensor_basic< T > &u, tensor_basic< T > &v, size_t dim=3) const
 

Static Public Member Functions

static tensor_basic< Teye (size_type d=3)
 

Public Attributes

T _x [3][3]
 

Member Typedef Documentation

◆ size_type

template<class T >
typedef size_t size_type

Definition at line 93 of file tensor.h.

◆ element_type

template<class T >
typedef T element_type

Definition at line 94 of file tensor.h.

◆ float_type

template<class T >
typedef T float_type

Definition at line 95 of file tensor.h.

Constructor & Destructor Documentation

◆ tensor_basic() [1/4]

template<class T >
tensor_basic ( const T init_val = 0)

Definition at line 266 of file tensor.h.

◆ tensor_basic() [2/4]

template<class T >
tensor_basic ( T  x[3][3])

Definition at line 272 of file tensor.h.

◆ tensor_basic() [3/4]

template<class T >
tensor_basic ( const tensor_basic< T > &  a)

Definition at line 279 of file tensor.h.

◆ tensor_basic() [4/4]

template<class T >
tensor_basic ( const std::initializer_list< std::initializer_list< T > > &  il)

Definition at line 285 of file tensor.h.

Member Function Documentation

◆ eye()

template<class T >
tensor_basic< T > eye ( size_type  d = 3)
static

Definition at line 443 of file tensor.h.

◆ operator=() [1/2]

template<class T >
tensor_basic< T > & operator= ( const tensor_basic< T > &  a)

Definition at line 303 of file tensor.h.

◆ operator=() [2/2]

template<class T >
tensor_basic< T > & operator= ( const T val)

Definition at line 312 of file tensor.h.

◆ fill()

template<class T >
void fill ( const T init_val)

Definition at line 252 of file tensor.h.

◆ reset()

template<class T >
void reset ( )

Definition at line 260 of file tensor.h.

◆ set_row()

template<class T >
void set_row ( const point_basic< T > &  r,
size_t  i,
size_t  d = 3 
)

Definition at line 435 of file tensor.h.

◆ set_column()

template<class T >
void set_column ( const point_basic< T > &  c,
size_t  j,
size_t  d = 3 
)

Definition at line 427 of file tensor.h.

◆ operator()() [1/2]

template<class T >
T & operator() ( size_type  i,
size_type  j 
)

Definition at line 335 of file tensor.h.

◆ operator()() [2/2]

template<class T >
const T & operator() ( size_type  i,
size_type  j 
) const

Definition at line 342 of file tensor.h.

◆ row()

template<class T >
point_basic< T > row ( size_type  i) const

Definition at line 313 of file tensor.cc.

◆ col()

template<class T >
point_basic< T > col ( size_type  i) const

Definition at line 323 of file tensor.cc.

◆ nrow()

template<class T >
size_t nrow ( ) const

Definition at line 321 of file tensor.h.

◆ ncol()

template<class T >
size_t ncol ( ) const

Definition at line 328 of file tensor.h.

◆ put()

template<class T >
ostream & put ( std::ostream &  s,
size_type  d = 3 
) const

Definition at line 37 of file tensor.cc.

◆ get()

template<class T >
istream & get ( std::istream &  in)

Definition at line 51 of file tensor.cc.

◆ operator==()

template<class T >
bool operator== ( const tensor_basic< T > &  b) const

Definition at line 101 of file tensor.cc.

◆ operator!=()

template<class T >
bool operator!= ( const tensor_basic< T > &  b) const

Definition at line 135 of file tensor.h.

◆ operator+() [1/2]

template<class T >
const tensor_basic< T > & operator+ ( ) const

Definition at line 136 of file tensor.h.

◆ operator-() [1/2]

template<class T >
tensor_basic< T > operator- ( ) const

Definition at line 110 of file tensor.cc.

◆ operator+() [2/2]

template<class T >
tensor_basic< T > operator+ ( const tensor_basic< T > &  b) const

Definition at line 121 of file tensor.cc.

◆ operator-() [2/2]

template<class T >
tensor_basic< T > operator- ( const tensor_basic< T > &  b) const

Definition at line 132 of file tensor.cc.

◆ operator*() [1/3]

template<class T >
tensor_basic< T > operator* ( const tensor_basic< T > &  b) const

Definition at line 270 of file tensor.cc.

◆ operator*() [2/3]

template<class T >
tensor_basic< T > operator* ( const T k) const

Definition at line 143 of file tensor.cc.

◆ operator/()

template<class T >
tensor_basic< T > operator/ ( const T k) const

Definition at line 360 of file tensor.h.

◆ operator*() [3/3]

template<class T >
point_basic< T > operator* ( const point_basic< T > &  x) const

Definition at line 153 of file tensor.cc.

◆ trans_mult()

template<class T >
point_basic< T > trans_mult ( const point_basic< T > &  x) const

Definition at line 367 of file tensor.h.

◆ operator+=()

template<class T >
tensor_basic< T > & operator+= ( const tensor_basic< T > &  b)

Definition at line 174 of file tensor.cc.

◆ operator-=()

template<class T >
tensor_basic< T > & operator-= ( const tensor_basic< T > &  b)

Definition at line 183 of file tensor.cc.

◆ operator*=()

template<class T >
tensor_basic< T > & operator*= ( const T k)

Definition at line 192 of file tensor.cc.

◆ operator/=()

template<class T >
tensor_basic< T > & operator/= ( const T k)

Definition at line 201 of file tensor.cc.

◆ determinant()

template<class T >
T determinant ( size_type  d = 3) const

Definition at line 288 of file tensor.cc.

◆ is_symmetric()

template<class T >
bool is_symmetric ( size_type  d = 3) const

Definition at line 351 of file tensor.cc.

◆ eig() [1/2]

template<class T >
point_basic< T > eig ( tensor_basic< T > &  q,
size_t  dim = 3 
) const

Definition at line 426 of file tensor.cc.

◆ eig() [2/2]

template<class T >
point_basic< T > eig ( size_t  dim = 3) const

Definition at line 440 of file tensor.cc.

◆ svd()

template<class T >
point_basic< T > svd ( tensor_basic< T > &  u,
tensor_basic< T > &  v,
size_t  dim = 3 
) const

Definition at line 470 of file tensor.cc.

Member Data Documentation

◆ _x

template<class T >
T _x[3][3]

Definition at line 175 of file tensor.h.


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