|
suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
|
A BandMat class that holds matrices. More...
#include <BandMat.hpp>
Public Member Functions | |
| BandMat (const uword in_size, const uword in_l, const uword in_u) | |
| unique_ptr< MetaMat< T > > | unique_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. | |
| T & | unsafe_at (const uword in_row, const uword in_col) override |
| Access element without bound check. | |
| T & | at (const uword in_row, const uword in_col) override |
| Access element with bound check. | |
| Mat< T > | operator* (const Mat< T > &) const override |
| int | sign_det () const override |
Public Member Functions inherited from DenseMat< T > | |
| DenseMat (const uword in_rows, const uword in_cols, const uword in_elem) | |
| DenseMat (const DenseMat &old_mat) | |
| DenseMat (DenseMat &&)=delete | |
| DenseMat & | operator= (const DenseMat &)=delete |
| DenseMat & | operator= (DenseMat &&)=delete |
| ~DenseMat () override=default | |
| bool | is_empty () const override |
| void | zeros () override |
| T | max () 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 |
| void | allreduce () override |
Public Member Functions inherited from MetaMat< T > | |
| MetaMat (const uword in_rows, const uword in_cols, const uword in_elem) | |
| MetaMat (const MetaMat &)=default | |
| MetaMat (MetaMat &&)=delete | |
| MetaMat & | operator= (const MetaMat &)=delete |
| MetaMat & | operator= (MetaMat &&)=delete |
| virtual | ~MetaMat ()=default |
| void | set_solver_setting (const SolverSetting< T > &SS) |
| SolverSetting< T > & | get_solver_setting () |
| void | set_factored (const bool F) |
| void | unify (const uword K) |
| void | unify (const uvec &list) |
| void | nullify (const uvec &list) |
| 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) |
| template<typename C > requires is_arma_mat<T, C> | |
| int | solve (Mat< T > &X, C &&B) |
| template<typename C > requires is_arma_mat<T, C> | |
| Mat< T > | solve (C &&B) |
| void | save (const char *name) |
| virtual void | csc_condense () |
| virtual void | csr_condense () |
Protected Member Functions | |
| int | direct_solve (Mat< T > &, Mat< T > &&) override |
Protected Member Functions inherited from DenseMat< T > | |
| int | direct_solve (Mat< T > &X, const Mat< T > &B) override |
| podarray< float > | to_float () |
Protected Member Functions inherited from MetaMat< T > | |
| int | direct_solve (Mat< T > &X, const SpMat< T > &B) |
| int | direct_solve (Mat< T > &X, SpMat< T > &&B) |
| template<std::invocable< fmat & > F> | |
| int | mixed_trs (mat &X, mat &&B, F &&trs) |
Protected Attributes | |
| const uword | m_rows |
| const uword | l_band |
| const uword | u_band |
Protected Attributes inherited from DenseMat< T > | |
| podarray< blas_int > | pivot |
| podarray< float > | s_memory |
| std::unique_ptr< T[]> | memory = nullptr |
Protected Attributes inherited from MetaMat< T > | |
| bool | factored = false |
| SolverSetting< T > | setting {} |
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 |
|
inline |
Access element with bound check.
Implements MetaMat< T >.
Reimplemented from MetaMat< T >.
Implements MetaMat< T >.
Reimplemented in BandMatMAGMA< T >.
Access element without bound check.
Reimplemented from MetaMat< T >.