cgv
Loading...
Searching...
No Matches
cgv::math::tri_diag_mat< T > Class Template Reference

tridiagonal matrix (square) More...

#include <tri_diag_mat.h>

Public Member Functions

 tri_diag_mat ()
 standard constructor
 
 tri_diag_mat (unsigned n)
 
 tri_diag_mat (unsigned n, const T &c)
 
 tri_diag_mat (const tri_diag_mat< T > &m)
 copy constructor
 
tri_diag_mat< T > & operator= (const tri_diag_mat< T > &m)
 assignment of a matrix with the same element type
 
 operator const mat< T > () const
 cast into const full storage matrix
 
void identity ()
 set identity matrix
 
 operator T* ()
 cast into array of element type
 
 operator const T * () const
 cast into array of const element type
 
void fill (const T &c)
 
bool is_square ()
 returns true
 
void transpose ()
 
void zeros ()
 
void zeros (unsigned n)
 
void resize (unsigned n)
 
unsigned nrows ()
 return number of rows
 
unsigned ncols ()
 return number of columns
 
unsigned size ()
 return storage size in elements
 
T & operator() (unsigned r, int b)
 return matrix element in row r of band b
 
const T & operator() (unsigned r, int b) const
 return matrix element in row r of band b
 
vec< T > band (int b) const
 
vec< T > operator* (const vec< T > &v) const
 

Protected Attributes

vec< T > _data
 
unsigned _dim
 

Detailed Description

template<typename T>
class cgv::math::tri_diag_mat< T >

tridiagonal matrix (square)

Definition at line 13 of file tri_diag_mat.h.

Constructor & Destructor Documentation

◆ tri_diag_mat() [1/4]

template<typename T >
cgv::math::tri_diag_mat< T >::tri_diag_mat ( )
inline

standard constructor

Definition at line 22 of file tri_diag_mat.h.

◆ tri_diag_mat() [2/4]

template<typename T >
cgv::math::tri_diag_mat< T >::tri_diag_mat ( unsigned  n)
inline

Definition at line 27 of file tri_diag_mat.h.

◆ tri_diag_mat() [3/4]

template<typename T >
cgv::math::tri_diag_mat< T >::tri_diag_mat ( unsigned  n,
const T &  c 
)
inline

Definition at line 33 of file tri_diag_mat.h.

◆ tri_diag_mat() [4/4]

template<typename T >
cgv::math::tri_diag_mat< T >::tri_diag_mat ( const tri_diag_mat< T > &  m)
inline

copy constructor

Definition at line 40 of file tri_diag_mat.h.

Member Function Documentation

◆ band()

template<typename T >
vec< T > cgv::math::tri_diag_mat< T >::band ( int  b) const
inline

Definition at line 172 of file tri_diag_mat.h.

◆ fill()

template<typename T >
void cgv::math::tri_diag_mat< T >::fill ( const T &  c)
inline

Definition at line 100 of file tri_diag_mat.h.

◆ identity()

template<typename T >
void cgv::math::tri_diag_mat< T >::identity ( )
inline

set identity matrix

Definition at line 75 of file tri_diag_mat.h.

◆ is_square()

template<typename T >
bool cgv::math::tri_diag_mat< T >::is_square ( )
inline

returns true

Definition at line 108 of file tri_diag_mat.h.

◆ ncols()

template<typename T >
unsigned cgv::math::tri_diag_mat< T >::ncols ( )
inline

return number of columns

Definition at line 146 of file tri_diag_mat.h.

◆ nrows()

template<typename T >
unsigned cgv::math::tri_diag_mat< T >::nrows ( )
inline

return number of rows

Definition at line 140 of file tri_diag_mat.h.

◆ operator const mat< T >()

template<typename T >
cgv::math::tri_diag_mat< T >::operator const mat< T > ( ) const
inline

cast into const full storage matrix

Definition at line 55 of file tri_diag_mat.h.

References cgv::math::tri_diag_mat< T >::operator()(), and cgv::math::mat< T >::zeros().

◆ operator const T *()

template<typename T >
cgv::math::tri_diag_mat< T >::operator const T * ( ) const
inline

cast into array of const element type

Definition at line 95 of file tri_diag_mat.h.

◆ operator T*()

template<typename T >
cgv::math::tri_diag_mat< T >::operator T* ( )
inline

cast into array of element type

Definition at line 89 of file tri_diag_mat.h.

◆ operator()() [1/2]

template<typename T >
T & cgv::math::tri_diag_mat< T >::operator() ( unsigned  r,
int  b 
)
inline

return matrix element in row r of band b

Definition at line 158 of file tri_diag_mat.h.

Referenced by cgv::math::tri_diag_mat< T >::operator const mat< T >().

◆ operator()() [2/2]

template<typename T >
const T & cgv::math::tri_diag_mat< T >::operator() ( unsigned  r,
int  b 
) const
inline

return matrix element in row r of band b

Definition at line 165 of file tri_diag_mat.h.

◆ operator*()

template<typename T >
vec< T > cgv::math::tri_diag_mat< T >::operator* ( const vec< T > &  v) const
inline

Definition at line 178 of file tri_diag_mat.h.

◆ operator=()

template<typename T >
tri_diag_mat< T > & cgv::math::tri_diag_mat< T >::operator= ( const tri_diag_mat< T > &  m)
inline

assignment of a matrix with the same element type

Definition at line 47 of file tri_diag_mat.h.

◆ resize()

template<typename T >
void cgv::math::tri_diag_mat< T >::resize ( unsigned  n)
inline

Definition at line 131 of file tri_diag_mat.h.

◆ size()

template<typename T >
unsigned cgv::math::tri_diag_mat< T >::size ( )
inline

return storage size in elements

Definition at line 152 of file tri_diag_mat.h.

◆ transpose()

template<typename T >
void cgv::math::tri_diag_mat< T >::transpose ( )
inline

Definition at line 114 of file tri_diag_mat.h.

◆ zeros() [1/2]

template<typename T >
void cgv::math::tri_diag_mat< T >::zeros ( )
inline

Definition at line 119 of file tri_diag_mat.h.

◆ zeros() [2/2]

template<typename T >
void cgv::math::tri_diag_mat< T >::zeros ( unsigned  n)
inline

Definition at line 124 of file tri_diag_mat.h.

Member Data Documentation

◆ _data

template<typename T >
vec<T> cgv::math::tri_diag_mat< T >::_data
protected

Definition at line 16 of file tri_diag_mat.h.

◆ _dim

template<typename T >
unsigned cgv::math::tri_diag_mat< T >::_dim
protected

Definition at line 18 of file tri_diag_mat.h.


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