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.

Referenced by operator=(), and tri_diag_mat().

◆ 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.

References tri_diag_mat().

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 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 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.

References tri_diag_mat().

◆ 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: