suanPan
Loading...
Searching...
No Matches
DenseMat< T > Class Template Reference

A DenseMat class that holds matrices. More...

#include <DenseMat.hpp>

Inheritance diagram for DenseMat< T >:
Collaboration diagram for DenseMat< T >:

Public Member Functions

 DenseMat (uword, uword, uword)
 
 DenseMat (const DenseMat &)
 
 DenseMat (DenseMat &&) noexcept
 
DenseMatoperator= (const DenseMat &)
 
DenseMatoperator= (DenseMat &&) noexcept
 
 ~DenseMat () override
 
bool is_empty () const override
 
void zeros () override
 
T max () const override
 
Col< Tdiag () const override
 
const Tmemptr () const override
 
Tmemptr () override
 
void operator+= (const shared_ptr< MetaMat< T > > &) override
 
void operator-= (const shared_ptr< MetaMat< T > > &) override
 
void operator+= (const triplet_form< T, uword > &) override
 
void operator-= (const triplet_form< T, uword > &) override
 
void operator*= (T) override
 
int sign_det () const override
 
- Public Member Functions inherited from MetaMat< T >
 MetaMat (uword, uword, uword)
 
 MetaMat (const MetaMat &)=default
 
 MetaMat (MetaMat &&) noexcept=delete
 
MetaMatoperator= (const MetaMat &)=delete
 
MetaMatoperator= (MetaMat &&) noexcept=delete
 
virtual ~MetaMat ()=default
 
void set_solver_setting (const SolverSetting< T > &)
 
SolverSetting< T > & get_solver_setting ()
 
void set_factored (bool)
 
virtual bool is_empty () const =0
 
virtual void zeros ()=0
 
virtual unique_ptr< MetaMatmake_copy ()=0
 
virtual void unify (uword)=0
 
virtual void nullify (uword)=0
 
virtual T max () const =0
 
virtual Col< Tdiag () const =0
 
virtual const Toperator() (uword, uword) const =0
 Access element (read-only), returns zero if out-of-bound. More...
 
virtual Tunsafe_at (uword, uword)
 Access element without bound check. More...
 
virtual Tat (uword, uword)=0
 Access element with bound check. More...
 
virtual const Tmemptr () const =0
 
virtual Tmemptr ()=0
 
virtual void operator+= (const shared_ptr< MetaMat > &)=0
 
virtual void operator-= (const shared_ptr< MetaMat > &)=0
 
virtual void operator+= (const triplet_form< T, uword > &)=0
 
virtual void operator-= (const triplet_form< T, uword > &)=0
 
virtual Mat< Toperator* (const Mat< T > &) const =0
 
virtual void operator*= (T)=0
 
template<ArmaContainer< T > C>
Mat< Tsolve (const C &B)
 
template<ArmaContainer< T > C>
Mat< Tsolve (C &&B)
 
template<ArmaContainer< T > C>
int solve (Mat< T > &X, const C &B)
 
template<ArmaContainer< T > C>
int solve (Mat< T > &X, C &&B)
 
template<ArmaContainer< T > C>
Mat< Tdirect_solve (const C &B)
 
template<ArmaContainer< T > C>
Mat< Tdirect_solve (C &&B)
 
virtual int direct_solve (Mat< T > &, const Mat< T > &)=0
 
virtual int direct_solve (Mat< T > &, const SpMat< T > &)
 
virtual int direct_solve (Mat< T > &, Mat< T > &&)
 
virtual int direct_solve (Mat< T > &, SpMat< T > &&)
 
virtual int sign_det () const =0
 
void save (const char *)
 
virtual void csc_condense ()
 
virtual void csr_condense ()
 
Mat< Titerative_solve (const Mat< T > &)
 
Mat< Titerative_solve (const SpMat< T > &)
 
virtual int iterative_solve (Mat< T > &, const Mat< T > &)
 
int iterative_solve (Mat< T > &, const SpMat< T > &)
 
Col< Tevaluate (const Col< T > &) const
 

Protected Member Functions

podarray< float > to_float ()
 

Protected Attributes

podarray< int > pivot
 
podarray< float > s_memory
 
const T *const memory = nullptr
 
- Protected Attributes inherited from MetaMat< T >
bool factored = false
 
SolverSetting< Tsetting {}
 

Additional Inherited Members

- Public Attributes inherited from MetaMat< T >
triplet_form< T, uword > triplet_mat
 
const uword n_rows
 
const uword n_cols
 
const uword n_elem
 

Detailed Description

template<sp_d T>
class DenseMat< T >

A DenseMat class that holds matrices.

Author
tlc
Date
19/04/2021
Version
0.1.0

Member Data Documentation

◆ memory

template<sp_d T>
const T* const DenseMat< T >::memory = nullptr
protected

◆ pivot

template<sp_d T>
podarray<int> DenseMat< T >::pivot
protected

◆ s_memory

template<sp_d T>
podarray<float> DenseMat< T >::s_memory
protected

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