suanPan
Loading...
Searching...
No Matches
MetaMat

Concepts

concept  ArmaContainer
 

Classes

class  BandMat< T >
 A BandMat class that holds matrices. More...
 
class  BandMatSpike< T >
 A BandMatSpike class that holds matrices. More...
 
class  BandSymmMat< T >
 A BandSymmMat class that holds matrices. More...
 
class  DenseMat< T >
 A DenseMat class that holds matrices. More...
 
class  FullMat< T >
 A FullMat class that holds matrices. More...
 
class  MetaMat< T >
 A MetaMat class that holds matrices. More...
 
class  SparseMat< T >
 A SparseMat class that holds matrices. More...
 
class  SparseMatBaseMUMPS< T >
 
class  SparseMatMUMPS< T >
 A SparseMatMUMPS class that holds matrices. More...
 
class  SparseSymmMatMUMPS< T >
 
class  SparseMatSuperLU< T >
 A SparseMatSuperLU class that holds matrices. More...
 
class  SymmPackMat< T >
 A SymmPackMat class that holds matrices. More...
 

Functions

template<sp_d T>
Mat< Tto_mat (const MetaMat< T > &in_mat)
 
template<sp_d T>
Mat< Tto_mat (const shared_ptr< MetaMat< T > > &in_mat)
 
template<sp_d data_t, sp_i index_t>
Mat< data_t > to_mat (const triplet_form< data_t, index_t > &in_mat)
 
template<sp_d data_t, sp_i index_t>
Mat< data_t > to_mat (const csr_form< data_t, index_t > &in_mat)
 
template<sp_d data_t, sp_i index_t>
Mat< data_t > to_mat (const csc_form< data_t, index_t > &in_mat)
 
template<sp_d data_t, sp_i index_t>
triplet_form< data_t, index_t > to_triplet_form (MetaMat< data_t > *in_mat)
 
template<sp_d data_t, sp_i index_t>
triplet_form< data_t, index_t > to_triplet_form (const shared_ptr< MetaMat< data_t > > &in_mat)
 
 BandMat< T >::BandMat (uword, uword, uword)
 
unique_ptr< MetaMat< T > > BandMat< T >::make_copy () override
 
void BandMat< T >::unify (uword) override
 
void BandMat< T >::nullify (uword) override
 
const TBandMat< T >::operator() (uword, uword) const override
 Access element (read-only), returns zero if out-of-bound. More...
 
TBandMat< T >::unsafe_at (uword, uword) override
 Access element without bound check. More...
 
TBandMat< T >::at (uword, uword) override
 Access element with bound check. More...
 
Mat< TBandMat< T >::operator* (const Mat< T > &) const override
 
int BandMat< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int BandMat< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 
 BandMatSpike< T >::BandMatSpike (uword, uword, uword)
 
unique_ptr< MetaMat< T > > BandMatSpike< T >::make_copy () override
 
void BandMatSpike< T >::unify (uword) override
 
void BandMatSpike< T >::nullify (uword) override
 
const TBandMatSpike< T >::operator() (uword, uword) const override
 Access element (read-only), returns zero if out-of-bound. More...
 
TBandMatSpike< T >::at (uword, uword) override
 Access element with bound check. More...
 
Mat< TBandMatSpike< T >::operator* (const Mat< T > &) const override
 
int BandMatSpike< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int BandMatSpike< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 
int BandMatSpike< T >::sign_det () const override
 
 BandSymmMat< T >::BandSymmMat (uword, uword)
 
unique_ptr< MetaMat< T > > BandSymmMat< T >::make_copy () override
 
void BandSymmMat< T >::unify (uword) override
 
void BandSymmMat< T >::nullify (uword) override
 
const TBandSymmMat< T >::operator() (uword, uword) const override
 Access element (read-only), returns zero if out-of-bound. More...
 
TBandSymmMat< T >::unsafe_at (uword, uword) override
 Access element without bound check. More...
 
TBandSymmMat< T >::at (uword, uword) override
 Access element with bound check. More...
 
Mat< TBandSymmMat< T >::operator* (const Mat< T > &) const override
 
int BandSymmMat< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int BandSymmMat< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 
podarray< float > DenseMat< T >::to_float ()
 
 DenseMat< T >::DenseMat (uword, uword, uword)
 
 DenseMat< T >::DenseMat (const DenseMat &)
 
 DenseMat< T >::DenseMat (DenseMat &&) noexcept
 
DenseMatDenseMat< T >::operator= (const DenseMat &)
 
DenseMatDenseMat< T >::operator= (DenseMat &&) noexcept
 
 DenseMat< T >::~DenseMat () override
 
bool DenseMat< T >::is_empty () const override
 
void DenseMat< T >::zeros () override
 
T DenseMat< T >::max () const override
 
Col< TDenseMat< T >::diag () const override
 
const TDenseMat< T >::memptr () const override
 
TDenseMat< T >::memptr () override
 
void DenseMat< T >::operator+= (const shared_ptr< MetaMat< T > > &) override
 
void DenseMat< T >::operator-= (const shared_ptr< MetaMat< T > > &) override
 
void DenseMat< T >::operator+= (const triplet_form< T, uword > &) override
 
void DenseMat< T >::operator-= (const triplet_form< T, uword > &) override
 
void DenseMat< T >::operator*= (T) override
 
int DenseMat< T >::sign_det () const override
 
 FullMat< T >::FullMat (uword, uword)
 
unique_ptr< MetaMat< T > > FullMat< T >::make_copy () override
 
void FullMat< T >::unify (uword) override
 
void FullMat< T >::nullify (uword) override
 
const TFullMat< T >::operator() (uword, uword) const override
 Access element (read-only), returns zero if out-of-bound. More...
 
TFullMat< T >::at (uword, uword) override
 Access element with bound check. More...
 
Mat< TFullMat< T >::operator* (const Mat< T > &) const override
 
int FullMat< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int FullMat< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 
 MetaMat< T >::MetaMat (uword, uword, uword)
 
void MetaMat< T >::set_solver_setting (const SolverSetting< T > &)
 
SolverSetting< T > & MetaMat< T >::get_solver_setting ()
 
void MetaMat< T >::set_factored (bool)
 
virtual TMetaMat< T >::unsafe_at (uword, uword)
 Access element without bound check. More...
 
virtual int MetaMat< T >::direct_solve (Mat< T > &, const SpMat< T > &)
 
virtual int MetaMat< T >::direct_solve (Mat< T > &, Mat< T > &&)
 
virtual int MetaMat< T >::direct_solve (Mat< T > &, SpMat< T > &&)
 
void MetaMat< T >::save (const char *)
 
virtual void MetaMat< T >::csc_condense ()
 
virtual void MetaMat< T >::csr_condense ()
 
Mat< TMetaMat< T >::iterative_solve (const Mat< T > &)
 
Mat< TMetaMat< T >::iterative_solve (const SpMat< T > &)
 
virtual int MetaMat< T >::iterative_solve (Mat< T > &, const Mat< T > &)
 
int MetaMat< T >::iterative_solve (Mat< T > &, const SpMat< T > &)
 
Col< TMetaMat< T >::evaluate (const Col< T > &) const
 
 SparseMat< T >::SparseMat (uword, uword, uword=0)
 
bool SparseMat< T >::is_empty () const override
 
void SparseMat< T >::zeros () override
 
void SparseMat< T >::unify (uword) override
 
void SparseMat< T >::nullify (uword) override
 
T SparseMat< T >::max () const override
 
Col< TSparseMat< T >::diag () const override
 
const TSparseMat< T >::operator() (uword, uword) const override
 Access element (read-only), returns zero if out-of-bound. More...
 
TSparseMat< T >::at (uword, uword) override
 Access element with bound check. More...
 
const TSparseMat< T >::memptr () const override
 
TSparseMat< T >::memptr () override
 
void SparseMat< T >::operator+= (const shared_ptr< MetaMat< T > > &) override
 
void SparseMat< T >::operator-= (const shared_ptr< MetaMat< T > > &) override
 
void SparseMat< T >::operator+= (const triplet_form< T, uword > &) override
 
void SparseMat< T >::operator-= (const triplet_form< T, uword > &) override
 
Mat< TSparseMat< T >::operator* (const Mat< T > &) const override
 
void SparseMat< T >::operator*= (T) override
 
int SparseMat< T >::sign_det () const override
 
void SparseMat< T >::csc_condense () override
 
void SparseMat< T >::csr_condense () override
 
int SparseMat< T >::iterative_solve (Mat< T > &, const Mat< T > &) override
 
 SparseMatBaseMUMPS< T >::SparseMatBaseMUMPS (uword, uword, uword, int)
 
 SparseMatBaseMUMPS< T >::SparseMatBaseMUMPS (const SparseMatBaseMUMPS &)
 
 SparseMatBaseMUMPS< T >::~SparseMatBaseMUMPS () override
 
void SparseMatBaseMUMPS< T >::zeros () override
 
int SparseMatBaseMUMPS< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 
int SparseMatBaseMUMPS< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int SparseMatBaseMUMPS< T >::sign_det () const override
 
 SparseMatMUMPS< T >::SparseMatMUMPS (uword, uword, uword=0)
 
unique_ptr< MetaMat< T > > SparseMatMUMPS< T >::make_copy () override
 
 SparseSymmMatMUMPS< T >::SparseSymmMatMUMPS (uword, uword, uword=0)
 
unique_ptr< MetaMat< T > > SparseSymmMatMUMPS< T >::make_copy () override
 
 SparseMatSuperLU< T >::SparseMatSuperLU (uword, uword, uword=0)
 
 SparseMatSuperLU< T >::SparseMatSuperLU (const SparseMatSuperLU &)
 
 SparseMatSuperLU< T >::~SparseMatSuperLU () override
 
void SparseMatSuperLU< T >::zeros () override
 
unique_ptr< MetaMat< T > > SparseMatSuperLU< T >::make_copy () override
 
int SparseMatSuperLU< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int SparseMatSuperLU< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 
 SymmPackMat< T >::SymmPackMat (uword)
 
unique_ptr< MetaMat< T > > SymmPackMat< T >::make_copy () override
 
void SymmPackMat< T >::unify (uword) override
 
void SymmPackMat< T >::nullify (uword) override
 
const TSymmPackMat< T >::operator() (uword, uword) const override
 Access element (read-only), returns zero if out-of-bound. More...
 
TSymmPackMat< T >::unsafe_at (uword, uword) override
 Access element without bound check. More...
 
TSymmPackMat< T >::at (uword, uword) override
 Access element with bound check. More...
 
Mat< TSymmPackMat< T >::operator* (const Mat< T > &) const override
 
int SymmPackMat< T >::direct_solve (Mat< T > &, const Mat< T > &) override
 
int SymmPackMat< T >::direct_solve (Mat< T > &, Mat< T > &&) override
 

Detailed Description

Function Documentation

◆ at() [1/6]

template<sp_d T>
T & BandMat< T >::at ( uword  ,
uword   
)
overridevirtual

Access element with bound check.

Returns
value

Implements MetaMat< T >.

Here is the caller graph for this function:

◆ at() [2/6]

template<sp_d T>
T & BandMatSpike< T >::at ( uword  ,
uword   
)
overridevirtual

Access element with bound check.

Returns
value

Implements MetaMat< T >.

◆ at() [3/6]

template<sp_d T>
T & BandSymmMat< T >::at ( uword  ,
uword   
)
overridevirtual

Access element with bound check.

Returns
value

Implements MetaMat< T >.

◆ at() [4/6]

template<sp_d T>
T & FullMat< T >::at ( uword  ,
uword   
)
overridevirtual

Access element with bound check.

Returns
value

Implements MetaMat< T >.

◆ at() [5/6]

template<sp_d T>
T & SparseMat< T >::at ( uword  ,
uword   
)
overridevirtual

Access element with bound check.

Returns
value

Implements MetaMat< T >.

◆ at() [6/6]

template<sp_d T>
T & SymmPackMat< T >::at ( uword  ,
uword   
)
overridevirtual

Access element with bound check.

Returns
value

Implements MetaMat< T >.

◆ BandMat()

template<sp_d T>
BandMat< T >::BandMat ( uword  in_size,
uword  in_l,
uword  in_u 
)

◆ BandMatSpike()

template<sp_d T>
BandMatSpike< T >::BandMatSpike ( uword  in_size,
uword  in_l,
uword  in_u 
)

◆ BandSymmMat()

template<sp_d T>
BandSymmMat< T >::BandSymmMat ( uword  in_size,
uword  in_bandwidth 
)

◆ csc_condense() [1/2]

template<sp_d T>
void MetaMat< T >::csc_condense
virtual

Reimplemented in SparseMat< T >.

◆ csc_condense() [2/2]

template<sp_d T>
void SparseMat< T >::csc_condense
overridevirtual

Reimplemented from MetaMat< T >.

◆ csr_condense() [1/2]

template<sp_d T>
void MetaMat< T >::csr_condense
virtual

Reimplemented in SparseMat< T >.

◆ csr_condense() [2/2]

template<sp_d T>
void SparseMat< T >::csr_condense
overridevirtual

Reimplemented from MetaMat< T >.

◆ DenseMat() [1/3]

template<sp_d T>
DenseMat< T >::DenseMat ( const DenseMat< T > &  old_mat)

◆ DenseMat() [2/3]

template<sp_d T>
DenseMat< T >::DenseMat ( DenseMat< T > &&  old_mat)
noexcept

◆ DenseMat() [3/3]

template<sp_d T>
DenseMat< T >::DenseMat ( uword  in_rows,
uword  in_cols,
uword  in_elem 
)
Here is the call graph for this function:

◆ diag() [1/2]

template<sp_d T>
Col< T > DenseMat< T >::diag
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ diag() [2/2]

template<sp_d T>
Col< T > SparseMat< T >::diag
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [1/17]

template<sp_d T>
int BandMat< T >::direct_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ direct_solve() [2/17]

template<sp_d T>
int BandMatSpike< T >::direct_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [3/17]

template<sp_d T>
int BandSymmMat< T >::direct_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [4/17]

template<sp_d T>
int FullMat< T >::direct_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [5/17]

template<sp_d T>
int SparseMatBaseMUMPS< T >::direct_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [6/17]

template<sp_d T>
int SparseMatSuperLU< T >::direct_solve ( Mat< T > &  out_mat,
const Mat< T > &  in_mat 
)
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [7/17]

template<sp_d T>
int SymmPackMat< T >::direct_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Implements MetaMat< T >.

◆ direct_solve() [8/17]

template<sp_d T>
int MetaMat< T >::direct_solve ( Mat< T > &  X,
const SpMat< T > &  B 
)
virtual

◆ direct_solve() [9/17]

template<sp_d T>
int MetaMat< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
virtual

◆ direct_solve() [10/17]

template<sp_d T>
int BandMat< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

Here is the call graph for this function:

◆ direct_solve() [11/17]

template<sp_d T>
int BandMatSpike< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

◆ direct_solve() [12/17]

template<sp_d T>
int BandSymmMat< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

◆ direct_solve() [13/17]

template<sp_d T>
int FullMat< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

◆ direct_solve() [14/17]

template<sp_d T>
int SparseMatBaseMUMPS< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

◆ direct_solve() [15/17]

template<sp_d T>
int SparseMatSuperLU< T >::direct_solve ( Mat< T > &  out_mat,
Mat< T > &&  in_mat 
)
overridevirtual

Reimplemented from MetaMat< T >.

◆ direct_solve() [16/17]

template<sp_d T>
int SymmPackMat< T >::direct_solve ( Mat< T > &  X,
Mat< T > &&  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

◆ direct_solve() [17/17]

template<sp_d T>
int MetaMat< T >::direct_solve ( Mat< T > &  X,
SpMat< T > &&  B 
)
virtual

◆ evaluate()

template<sp_d T>
Col< T > MetaMat< T >::evaluate ( const Col< T > &  X) const
Here is the call graph for this function:

◆ FullMat()

template<sp_d T>
FullMat< T >::FullMat ( uword  in_rows,
uword  in_cols 
)

◆ get_solver_setting()

template<sp_d T>
SolverSetting< T > & MetaMat< T >::get_solver_setting

◆ is_empty() [1/2]

template<sp_d T>
bool DenseMat< T >::is_empty
overridevirtual

Implements MetaMat< T >.

◆ is_empty() [2/2]

template<sp_d T>
bool SparseMat< T >::is_empty
overridevirtual

Implements MetaMat< T >.

◆ iterative_solve() [1/5]

template<sp_d T>
Mat< T > MetaMat< T >::iterative_solve ( const Mat< T > &  B)
Here is the caller graph for this function:

◆ iterative_solve() [2/5]

template<sp_d T>
Mat< T > MetaMat< T >::iterative_solve ( const SpMat< T > &  B)

◆ iterative_solve() [3/5]

template<sp_d T>
int MetaMat< T >::iterative_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
virtual

Reimplemented in SparseMat< T >.

Here is the call graph for this function:

◆ iterative_solve() [4/5]

template<sp_d T>
int SparseMat< T >::iterative_solve ( Mat< T > &  X,
const Mat< T > &  B 
)
overridevirtual

Reimplemented from MetaMat< T >.

Here is the call graph for this function:

◆ iterative_solve() [5/5]

template<sp_d T>
int MetaMat< T >::iterative_solve ( Mat< T > &  X,
const SpMat< T > &  B 
)

◆ make_copy() [1/8]

template<sp_d T>
unique_ptr< MetaMat< T > > BandMat< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [2/8]

template<sp_d T>
unique_ptr< MetaMat< T > > BandMatSpike< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [3/8]

template<sp_d T>
unique_ptr< MetaMat< T > > BandSymmMat< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [4/8]

template<sp_d T>
unique_ptr< MetaMat< T > > FullMat< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [5/8]

template<sp_d T>
unique_ptr< MetaMat< T > > SparseMatMUMPS< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [6/8]

template<sp_d T>
unique_ptr< MetaMat< T > > SparseSymmMatMUMPS< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [7/8]

template<sp_d T>
unique_ptr< MetaMat< T > > SparseMatSuperLU< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ make_copy() [8/8]

template<sp_d T>
unique_ptr< MetaMat< T > > SymmPackMat< T >::make_copy
overridevirtual

Implements MetaMat< T >.

◆ max() [1/2]

template<sp_d T>
T DenseMat< T >::max
overridevirtual

Implements MetaMat< T >.

◆ max() [2/2]

template<sp_d T>
T SparseMat< T >::max
overridevirtual

Implements MetaMat< T >.

◆ memptr() [1/4]

template<sp_d T>
const T * DenseMat< T >::memptr
overridevirtual

Implements MetaMat< T >.

Here is the caller graph for this function:

◆ memptr() [2/4]

template<sp_d T>
const T * SparseMat< T >::memptr
overridevirtual

Implements MetaMat< T >.

◆ memptr() [3/4]

template<sp_d T>
T * DenseMat< T >::memptr
overridevirtual

Implements MetaMat< T >.

◆ memptr() [4/4]

template<sp_d T>
T * SparseMat< T >::memptr
overridevirtual

Implements MetaMat< T >.

◆ MetaMat()

template<sp_d T>
MetaMat< T >::MetaMat ( uword  in_rows,
uword  in_cols,
uword  in_elem 
)

◆ nullify() [1/6]

template<sp_d T>
void BandMat< T >::nullify ( uword  K)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ nullify() [2/6]

template<sp_d T>
void BandMatSpike< T >::nullify ( uword  K)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ nullify() [3/6]

template<sp_d T>
void BandSymmMat< T >::nullify ( uword  K)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ nullify() [4/6]

template<sp_d T>
void FullMat< T >::nullify ( uword  K)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ nullify() [5/6]

template<sp_d T>
void SparseMat< T >::nullify ( uword  idx)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ nullify() [6/6]

template<sp_d T>
void SymmPackMat< T >::nullify ( uword  K)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator()() [1/6]

template<sp_d T>
const T & BandMat< T >::operator() ( uword  ,
uword   
) const
overridevirtual

Access element (read-only), returns zero if out-of-bound.

Returns
value

Implements MetaMat< T >.

◆ operator()() [2/6]

template<sp_d T>
const T & BandMatSpike< T >::operator() ( uword  ,
uword   
) const
overridevirtual

Access element (read-only), returns zero if out-of-bound.

Returns
value

Implements MetaMat< T >.

◆ operator()() [3/6]

template<sp_d T>
const T & BandSymmMat< T >::operator() ( uword  ,
uword   
) const
overridevirtual

Access element (read-only), returns zero if out-of-bound.

Returns
value

Implements MetaMat< T >.

◆ operator()() [4/6]

template<sp_d T>
const T & FullMat< T >::operator() ( uword  ,
uword   
) const
overridevirtual

Access element (read-only), returns zero if out-of-bound.

Returns
value

Implements MetaMat< T >.

◆ operator()() [5/6]

template<sp_d T>
const T & SparseMat< T >::operator() ( uword  ,
uword   
) const
overridevirtual

Access element (read-only), returns zero if out-of-bound.

Returns
value

Implements MetaMat< T >.

◆ operator()() [6/6]

template<sp_d T>
const T & SymmPackMat< T >::operator() ( uword  ,
uword   
) const
overridevirtual

Access element (read-only), returns zero if out-of-bound.

Returns
value

Implements MetaMat< T >.

◆ operator*() [1/6]

template<sp_d T>
Mat< T > BandMat< T >::operator* ( const Mat< T > &  X) const
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator*() [2/6]

template<sp_d T>
Mat< T > BandMatSpike< T >::operator* ( const Mat< T > &  X) const
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator*() [3/6]

template<sp_d T>
Mat< T > BandSymmMat< T >::operator* ( const Mat< T > &  X) const
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator*() [4/6]

template<sp_d T>
Mat< T > FullMat< T >::operator* ( const Mat< T > &  B) const
overridevirtual

Implements MetaMat< T >.

◆ operator*() [5/6]

template<sp_d T>
Mat< T > SparseMat< T >::operator* ( const Mat< T > &  in_mat) const
overridevirtual

Implements MetaMat< T >.

◆ operator*() [6/6]

template<sp_d T>
Mat< T > SymmPackMat< T >::operator* ( const Mat< T > &  X) const
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator*=() [1/2]

template<sp_d T>
void DenseMat< T >::operator*= ( T  value)
overridevirtual

Implements MetaMat< T >.

◆ operator*=() [2/2]

template<sp_d T>
void SparseMat< T >::operator*= ( T  scalar)
overridevirtual

Implements MetaMat< T >.

◆ operator+=() [1/4]

template<sp_d T>
void DenseMat< T >::operator+= ( const shared_ptr< MetaMat< T > > &  M)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator+=() [2/4]

template<sp_d T>
void SparseMat< T >::operator+= ( const shared_ptr< MetaMat< T > > &  in_mat)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator+=() [3/4]

template<sp_d T>
void DenseMat< T >::operator+= ( const triplet_form< T, uword > &  M)
overridevirtual

Implements MetaMat< T >.

◆ operator+=() [4/4]

template<sp_d T>
void SparseMat< T >::operator+= ( const triplet_form< T, uword > &  in_mat)
overridevirtual

Implements MetaMat< T >.

◆ operator-=() [1/4]

template<sp_d T>
void DenseMat< T >::operator-= ( const shared_ptr< MetaMat< T > > &  M)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator-=() [2/4]

template<sp_d T>
void SparseMat< T >::operator-= ( const shared_ptr< MetaMat< T > > &  in_mat)
overridevirtual

Implements MetaMat< T >.

Here is the call graph for this function:

◆ operator-=() [3/4]

template<sp_d T>
void DenseMat< T >::operator-= ( const triplet_form< T, uword > &  M)
overridevirtual

Implements MetaMat< T >.

◆ operator-=() [4/4]

template<sp_d T>
void SparseMat< T >::operator-= ( const triplet_form< T, uword > &  in_mat)
overridevirtual

Implements MetaMat< T >.

◆ operator=() [1/2]

template<sp_d T>
DenseMat< T > & DenseMat< T >::operator= ( const DenseMat< T > &  old_mat)
Here is the call graph for this function:

◆ operator=() [2/2]

template<sp_d T>
DenseMat< T > & DenseMat< T >::operator= ( DenseMat< T > &&  old_mat)
noexcept
Here is the call graph for this function:

◆ save()

template<sp_d T>
void MetaMat< T >::save ( const char *  name)
Here is the call graph for this function:

◆ set_factored()

template<sp_d T>
void MetaMat< T >::set_factored ( bool  F)

◆ set_solver_setting()

template<sp_d T>
void MetaMat< T >::set_solver_setting ( const SolverSetting< T > &  SS)

◆ sign_det() [1/4]

template<sp_d T>
int BandMatSpike< T >::sign_det
overridevirtual

Implements MetaMat< T >.

◆ sign_det() [2/4]

template<sp_d T>
int DenseMat< T >::sign_det
overridevirtual

Implements MetaMat< T >.

◆ sign_det() [3/4]

template<sp_d T>
int SparseMat< T >::sign_det
overridevirtual

Implements MetaMat< T >.

Reimplemented in SparseMatBaseMUMPS< T >.

◆ sign_det() [4/4]

template<sp_d T>
int SparseMatBaseMUMPS< T >::sign_det
overridevirtual

Reimplemented from SparseMat< T >.

◆ SparseMat()

template<sp_d T>
SparseMat< T >::SparseMat ( uword  in_row,
uword  in_col,
uword  in_elem = 0 
)
Here is the call graph for this function:

◆ SparseMatBaseMUMPS() [1/2]

template<sp_d T>
SparseMatBaseMUMPS< T >::SparseMatBaseMUMPS ( const SparseMatBaseMUMPS< T > &  other)

◆ SparseMatBaseMUMPS() [2/2]

template<sp_d T>
SparseMatBaseMUMPS< T >::SparseMatBaseMUMPS ( uword  in_row,
uword  in_col,
uword  in_elem,
int  in_sym 
)

◆ SparseMatMUMPS()

template<sp_d T>
SparseMatMUMPS< T >::SparseMatMUMPS ( uword  in_row,
uword  in_col,
uword  in_elem = 0 
)

◆ SparseMatSuperLU() [1/2]

template<sp_d T>
SparseMatSuperLU< T >::SparseMatSuperLU ( const SparseMatSuperLU< T > &  other)

◆ SparseMatSuperLU() [2/2]

template<sp_d T>
SparseMatSuperLU< T >::SparseMatSuperLU ( uword  in_row,
uword  in_col,
uword  in_elem = 0 
)

◆ SparseSymmMatMUMPS()

template<sp_d T>
SparseSymmMatMUMPS< T >::SparseSymmMatMUMPS ( uword  in_row,
uword  in_col,
uword  in_elem = 0 
)

◆ SymmPackMat()

template<sp_d T>
SymmPackMat< T >::SymmPackMat ( uword  in_size)
explicit

◆ to_float()

template<sp_d T>
podarray< float > DenseMat< T >::to_float
protected
Here is the call graph for this function:

◆ to_mat() [1/5]

template<sp_d data_t, sp_i index_t>
Mat< data_t > to_mat ( const csc_form< data_t, index_t > &  in_mat)
Here is the call graph for this function:

◆ to_mat() [2/5]

template<sp_d data_t, sp_i index_t>
Mat< data_t > to_mat ( const csr_form< data_t, index_t > &  in_mat)
Here is the call graph for this function:

◆ to_mat() [3/5]

template<sp_d T>
Mat< T > to_mat ( const MetaMat< T > &  in_mat)
Here is the caller graph for this function:

◆ to_mat() [4/5]

template<sp_d T>
Mat< T > to_mat ( const shared_ptr< MetaMat< T > > &  in_mat)
Here is the call graph for this function:

◆ to_mat() [5/5]

template<sp_d data_t, sp_i index_t>
Mat< data_t > to_mat ( const triplet_form< data_t, index_t > &  in_mat)
Here is the call graph for this function:

◆ to_triplet_form() [1/2]

template<sp_d data_t, sp_i index_t>
triplet_form< data_t, index_t > to_triplet_form ( const shared_ptr< MetaMat< data_t > > &  in_mat)

◆ to_triplet_form() [2/2]

template<sp_d data_t, sp_i index_t>
triplet_form< data_t, index_t > to_triplet_form ( MetaMat< data_t > *  in_mat)
Here is the call graph for this function:

◆ unify() [1/6]

template<sp_d T>
void BandMat< T >::unify ( uword  K)
overridevirtual

Implements MetaMat< T >.

◆ unify() [2/6]

template<sp_d T>
void BandMatSpike< T >::unify ( uword  K)
overridevirtual

Implements MetaMat< T >.

◆ unify() [3/6]

template<sp_d T>
void BandSymmMat< T >::unify ( uword  K)
overridevirtual

Implements MetaMat< T >.

◆ unify() [4/6]

template<sp_d T>
void FullMat< T >::unify ( uword  K)
overridevirtual

Implements MetaMat< T >.

◆ unify() [5/6]

template<sp_d T>
void SparseMat< T >::unify ( uword  idx)
overridevirtual

Implements MetaMat< T >.

◆ unify() [6/6]

template<sp_d T>
void SymmPackMat< T >::unify ( uword  K)
overridevirtual

Implements MetaMat< T >.

◆ unsafe_at() [1/4]

template<sp_d T>
T & MetaMat< T >::unsafe_at ( uword  I,
uword  J 
)
virtual

Access element without bound check.

Returns
value

Reimplemented in BandMat< T >, BandSymmMat< T >, and SymmPackMat< T >.

◆ unsafe_at() [2/4]

template<sp_d T>
T & BandMat< T >::unsafe_at ( uword  I,
uword  J 
)
overridevirtual

Access element without bound check.

Returns
value

Reimplemented from MetaMat< T >.

◆ unsafe_at() [3/4]

template<sp_d T>
T & BandSymmMat< T >::unsafe_at ( uword  I,
uword  J 
)
overridevirtual

Access element without bound check.

Returns
value

Reimplemented from MetaMat< T >.

◆ unsafe_at() [4/4]

template<sp_d T>
T & SymmPackMat< T >::unsafe_at ( uword  I,
uword  J 
)
overridevirtual

Access element without bound check.

Returns
value

Reimplemented from MetaMat< T >.

◆ zeros() [1/4]

template<sp_d T>
void DenseMat< T >::zeros
overridevirtual

Implements MetaMat< T >.

Here is the caller graph for this function:

◆ zeros() [2/4]

template<sp_d T>
void SparseMat< T >::zeros
overridevirtual

Implements MetaMat< T >.

Reimplemented in SparseMatBaseMUMPS< T >, and SparseMatSuperLU< T >.

Here is the caller graph for this function:

◆ zeros() [3/4]

template<sp_d T>
void SparseMatBaseMUMPS< T >::zeros
overridevirtual

Reimplemented from SparseMat< T >.

Here is the call graph for this function:

◆ zeros() [4/4]

template<sp_d T>
void SparseMatSuperLU< T >::zeros
overridevirtual

Reimplemented from SparseMat< T >.

Here is the call graph for this function:

◆ ~DenseMat()

template<sp_d T>
DenseMat< T >::~DenseMat
override

◆ ~SparseMatBaseMUMPS()

template<sp_d T>
SparseMatBaseMUMPS< T >::~SparseMatBaseMUMPS
override

◆ ~SparseMatSuperLU()

template<sp_d T>
SparseMatSuperLU< T >::~SparseMatSuperLU
override