suanPan
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
BandMatMAGMA< T > Class Template Referencefinal

A BandMatMAGMA class that holds matrices. More...

#include <BandMatMAGMA.hpp>

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

Public Member Functions

 BandMatMAGMA (const uword in_size, const uword in_l, const uword in_u)
 
 BandMatMAGMA (const BandMatMAGMA &other)
 
 BandMatMAGMA (BandMatMAGMA &&) noexcept=delete
 
BandMatMAGMAoperator= (const BandMatMAGMA &)=delete
 
BandMatMAGMAoperator= (BandMatMAGMA &&) noexcept=delete
 
 ~BandMatMAGMA () override
 
unique_ptr< MetaMat< T > > make_copy () override
 
- Public Member Functions inherited from BandMat< T >
 BandMat (const uword in_size, const uword in_l, const uword in_u)
 
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.
 
Tunsafe_at (const uword in_row, const uword in_col) override
 Access element without bound check.
 
Tat (const uword in_row, const uword in_col) override
 Access element with bound check.
 
Mat< Toperator* (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 &&) noexcept=delete
 
DenseMatoperator= (const DenseMat &)=delete
 
DenseMatoperator= (DenseMat &&) noexcept=delete
 
 ~DenseMat () override=default
 
bool is_empty () const override
 
void zeros () override
 
T max () const override
 
const Tmemptr () const override
 
Tmemptr () 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 &&) noexcept=delete
 
MetaMatoperator= (const MetaMat &)=delete
 
MetaMatoperator= (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)
 
void unify (const uword K)
 
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< Tsolve (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)
 

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
 
- Protected Attributes inherited from BandMat< T >
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< Tsetting {}
 

Detailed Description

template<sp_d T>
class BandMatMAGMA< T >

A BandMatMAGMA class that holds matrices.

Author
tlc
Date
28/04/2024
Version
0.1.0

Constructor & Destructor Documentation

◆ BandMatMAGMA() [1/3]

template<sp_d T>
BandMatMAGMA< T >::BandMatMAGMA ( const uword  in_size,
const uword  in_l,
const uword  in_u 
)
inline

◆ BandMatMAGMA() [2/3]

template<sp_d T>
BandMatMAGMA< T >::BandMatMAGMA ( const BandMatMAGMA< T > &  other)
inline

◆ BandMatMAGMA() [3/3]

template<sp_d T>
BandMatMAGMA< T >::BandMatMAGMA ( BandMatMAGMA< T > &&  )
deletenoexcept

◆ ~BandMatMAGMA()

template<sp_d T>
BandMatMAGMA< T >::~BandMatMAGMA ( )
inlineoverride

Member Function Documentation

◆ make_copy()

template<sp_d T>
unique_ptr< MetaMat< T > > BandMatMAGMA< T >::make_copy ( )
inlineoverridevirtual

Reimplemented from BandMat< T >.

◆ operator=() [1/2]

template<sp_d T>
BandMatMAGMA & BandMatMAGMA< T >::operator= ( BandMatMAGMA< T > &&  )
deletenoexcept

◆ operator=() [2/2]

template<sp_d T>
BandMatMAGMA & BandMatMAGMA< T >::operator= ( const BandMatMAGMA< T > &  )
delete

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