|
| BandMatSpike (const uword in_size, const uword in_l, const uword in_u) |
|
unique_ptr< MetaMat< T > > | make_copy () override |
|
void | nullify (const uword K) override |
|
T | operator() (const uword in_row, const uword in_col) const override |
| Access element (read-only), returns zero if out-of-bound. More...
|
|
T & | unsafe_at (const uword in_row, const uword in_col) override |
| Access element without bound check. More...
|
|
T & | at (const uword in_row, const uword in_col) override |
| Access element with bound check. More...
|
|
Mat< T > | operator* (const Mat< T > &) const override |
|
int | sign_det () const override |
|
| DenseMat (const uword in_rows, const uword in_cols, const uword in_elem) |
|
| DenseMat (const DenseMat &old_mat) |
|
| DenseMat (DenseMat &&) noexcept=delete |
|
DenseMat & | operator= (const DenseMat &)=delete |
|
DenseMat & | operator= (DenseMat &&) noexcept=delete |
|
| ~DenseMat () override=default |
|
bool | is_empty () const override |
|
void | zeros () override |
|
T | max () const override |
|
Col< T > | diag () const override |
|
const T * | memptr () const override |
|
T * | memptr () override |
|
void | scale_accu (const T scalar, const shared_ptr< MetaMat< T > > &M) override |
|
void | scale_accu (const T scalar, const triplet_form< T, uword > &M) override |
|
void | operator*= (const T value) override |
|
int | sign_det () const override |
|
| MetaMat (const uword in_rows, const uword in_cols, const uword in_elem) |
|
| MetaMat (const MetaMat &)=default |
|
| MetaMat (MetaMat &&) noexcept=delete |
|
MetaMat & | operator= (const MetaMat &)=delete |
|
MetaMat & | operator= (MetaMat &&) noexcept=delete |
|
virtual | ~MetaMat ()=default |
|
void | set_solver_setting (const SolverSetting< T > &SS) |
|
SolverSetting< T > & | get_solver_setting () |
|
void | set_factored (const bool F) |
|
virtual bool | is_empty () const =0 |
|
virtual void | zeros ()=0 |
|
virtual unique_ptr< MetaMat > | make_copy ()=0 |
|
void | unify (const uword K) |
|
virtual void | nullify (uword)=0 |
|
virtual T | max () const =0 |
|
virtual Col< T > | diag () const =0 |
|
virtual T | operator() (uword, uword) const =0 |
| Access element (read-only), returns zero if out-of-bound. More...
|
|
virtual T & | unsafe_at (const uword I, const uword J) |
| Access element without bound check. More...
|
|
virtual T & | at (uword, uword)=0 |
| Access element with bound check. More...
|
|
virtual const T * | memptr () const =0 |
|
virtual T * | memptr ()=0 |
|
virtual void | scale_accu (T, const shared_ptr< MetaMat > &)=0 |
|
virtual void | scale_accu (T, const triplet_form< T, uword > &)=0 |
|
void | operator+= (const shared_ptr< MetaMat > &M) |
|
void | operator-= (const shared_ptr< MetaMat > &M) |
|
void | operator+= (const op_scale< T > &M) |
|
void | operator-= (const op_scale< T > &M) |
|
void | operator+= (const triplet_form< T, uword > &M) |
|
void | operator-= (const triplet_form< T, uword > &M) |
|
virtual Mat< T > | operator* (const Mat< T > &) const =0 |
|
virtual void | operator*= (T)=0 |
|
template<ArmaContainer< T > C> |
int | solve (Mat< T > &X, C &&B) |
|
template<ArmaContainer< T > C> |
Mat< T > | solve (C &&B) |
|
virtual int | sign_det () const =0 |
|
void | save (const char *name) |
|
virtual void | csc_condense () |
|
virtual void | csr_condense () |
|
Col< T > | evaluate (const Col< T > &X) const |
|
|
int | direct_solve (Mat< T > &, Mat< T > &&) override |
|
int | direct_solve (Mat< T > &X, const Mat< T > &B) override |
|
podarray< float > | to_float () |
|
virtual int | direct_solve (Mat< T > &, const Mat< T > &)=0 |
|
virtual int | direct_solve (Mat< T > &, Mat< T > &&)=0 |
|
int | direct_solve (Mat< T > &X, const SpMat< T > &B) |
|
int | direct_solve (Mat< T > &X, SpMat< T > &&B) |
|
int | iterative_solve (Mat< T > &, const Mat< T > &) |
|
int | iterative_solve (Mat< T > &X, const SpMat< T > &B) |
|
template<std::invocable< fmat & > F> |
int | mixed_trs (mat &X, mat &&B, F trs) |
|
template<
sp_d T>
class BandMatSpike< T >
A BandMatSpike class that holds matrices.
- Author
- tlc
- Date
- 08/01/2020
- Version
- 0.1.0