|
| DistributedMatrixWrapper (DistributedMatrix< scalar_t > &A) |
|
| DistributedMatrixWrapper (const DistributedMatrixWrapper< scalar_t > &A) |
|
| DistributedMatrixWrapper (DistributedMatrixWrapper< scalar_t > &&A) |
|
| DistributedMatrixWrapper (std::size_t m, std::size_t n, DistributedMatrix< scalar_t > &A, std::size_t i, std::size_t j) |
|
| DistributedMatrixWrapper (const BLACSGrid *g, std::size_t m, std::size_t n, scalar_t *A) |
|
| DistributedMatrixWrapper (const BLACSGrid *g, std::size_t m, std::size_t n, int MB, int NB, scalar_t *A) |
|
| DistributedMatrixWrapper (const BLACSGrid *g, std::size_t m, std::size_t n, DenseMatrix< scalar_t > &A) |
|
DistributedMatrixWrapper< scalar_t > & | operator= (const DistributedMatrixWrapper< scalar_t > &A) |
|
DistributedMatrixWrapper< scalar_t > & | operator= (DistributedMatrixWrapper< scalar_t > &&A) |
|
int | rows () const override |
|
int | cols () const override |
|
int | I () const override |
|
int | J () const override |
|
void | lranges (int &rlo, int &rhi, int &clo, int &chi) const override |
|
void | resize (std::size_t m, std::size_t n) override |
|
void | hconcat (const DistributedMatrix< scalar_t > &b) override |
|
void | clear () |
|
std::size_t | memory () const override |
|
std::size_t | total_memory () const override |
|
std::size_t | nonzeros () const override |
|
std::size_t | total_nonzeros () const override |
|
DenseMatrix< scalar_t > | dense_and_clear ()=delete |
|
DenseMatrixWrapper< scalar_t > | dense_wrapper ()=delete |
|
DistributedMatrixWrapper< scalar_t > & | operator= (const DistributedMatrix< scalar_t > &)=delete |
|
DistributedMatrixWrapper< scalar_t > & | operator= (DistributedMatrix< scalar_t > &&)=delete |
|
| DistributedMatrix () |
|
| DistributedMatrix (const BLACSGrid *g, int M, int N) |
|
| DistributedMatrix (const BLACSGrid *g, int M, int N, const std::function< scalar_t(std::size_t, std::size_t)> &A) |
|
| DistributedMatrix (const BLACSGrid *g, const DenseMatrix< scalar_t > &m) |
|
| DistributedMatrix (const BLACSGrid *g, DenseMatrix< scalar_t > &&m) |
|
| DistributedMatrix (const BLACSGrid *g, DenseMatrixWrapper< scalar_t > &&m) |
|
| DistributedMatrix (const BLACSGrid *g, int M, int N, const DistributedMatrix< scalar_t > &m, int context_all) |
|
| DistributedMatrix (const BLACSGrid *g, int M, int N, int MB, int NB) |
|
| DistributedMatrix (const DistributedMatrix< scalar_t > &m) |
|
| DistributedMatrix (DistributedMatrix< scalar_t > &&m) |
|
virtual | ~DistributedMatrix () |
|
DistributedMatrix< scalar_t > & | operator= (const DistributedMatrix< scalar_t > &m) |
|
DistributedMatrix< scalar_t > & | operator= (DistributedMatrix< scalar_t > &&m) |
|
const int * | desc () const |
|
bool | active () const |
|
const BLACSGrid * | grid () const |
|
const MPIComm & | Comm () const |
|
MPI_Comm | comm () const |
|
int | ctxt () const |
|
int | ctxt_all () const |
|
virtual int | rows () const |
|
virtual int | cols () const |
|
int | lrows () const |
|
int | lcols () const |
|
int | ld () const |
|
int | MB () const |
|
int | NB () const |
|
int | rowblocks () const |
|
int | colblocks () const |
|
virtual int | I () const |
|
virtual int | J () const |
|
virtual void | lranges (int &rlo, int &rhi, int &clo, int &chi) const |
|
const scalar_t * | data () const |
|
scalar_t * | data () |
|
const scalar_t & | operator() (int r, int c) const |
|
scalar_t & | operator() (int r, int c) |
|
int | prow () const |
|
int | pcol () const |
|
int | nprows () const |
|
int | npcols () const |
|
int | npactives () const |
|
bool | is_master () const |
|
int | rowl2g (int row) const |
|
int | coll2g (int col) const |
|
int | rowg2l (int row) const |
|
int | colg2l (int col) const |
|
int | rowg2p (int row) const |
|
int | colg2p (int col) const |
|
int | rank (int r, int c) const |
|
bool | is_local (int r, int c) const |
|
const scalar_t & | global (int r, int c) const |
|
scalar_t & | global (int r, int c) |
|
void | global (int r, int c, scalar_t v) |
|
scalar_t | all_global (int r, int c) const |
|
void | print () const |
|
void | print (std::string name, int precision=15) const |
|
void | print_to_file (std::string name, std::string filename, int width=8) const |
|
void | print_to_files (std::string name, int precision=16) const |
|
void | random () |
|
void | random (random::RandomGeneratorBase< typename RealType< scalar_t >::value_type > &rgen) |
|
void | zero () |
|
void | fill (scalar_t a) |
|
void | fill (const std::function< scalar_t(std::size_t, std::size_t)> &A) |
|
void | eye () |
|
void | shift (scalar_t sigma) |
|
scalar_t | trace () const |
|
void | clear () |
|
virtual void | resize (std::size_t m, std::size_t n) |
|
virtual void | hconcat (const DistributedMatrix< scalar_t > &b) |
|
DistributedMatrix< scalar_t > | transpose () const |
|
void | mult (Trans op, const DistributedMatrix< scalar_t > &X, DistributedMatrix< scalar_t > &Y) const |
|
void | laswp (const std::vector< int > &P, bool fwd) |
|
DistributedMatrix< scalar_t > | extract_rows (const std::vector< std::size_t > &Ir) const |
|
DistributedMatrix< scalar_t > | extract_cols (const std::vector< std::size_t > &Ic) const |
|
DistributedMatrix< scalar_t > | extract (const std::vector< std::size_t > &I, const std::vector< std::size_t > &J) const |
|
DistributedMatrix< scalar_t > & | add (const DistributedMatrix< scalar_t > &B) |
|
DistributedMatrix< scalar_t > & | scaled_add (scalar_t alpha, const DistributedMatrix< scalar_t > &B) |
|
DistributedMatrix< scalar_t > & | scale_and_add (scalar_t alpha, const DistributedMatrix< scalar_t > &B) |
|
real_t | norm () const |
|
real_t | normF () const |
|
real_t | norm1 () const |
|
real_t | normI () const |
|
virtual std::size_t | memory () const |
|
virtual std::size_t | total_memory () const |
|
virtual std::size_t | nonzeros () const |
|
virtual std::size_t | total_nonzeros () const |
|
void | scatter (const DenseMatrix< scalar_t > &a) |
|
DenseMatrix< scalar_t > | gather () const |
|
DenseMatrix< scalar_t > | all_gather () const |
|
DenseMatrix< scalar_t > | dense_and_clear () |
|
DenseMatrix< scalar_t > | dense () const |
|
DenseMatrixWrapper< scalar_t > | dense_wrapper () |
|
std::vector< int > | LU () |
|
int | LU (std::vector< int > &) |
|
DistributedMatrix< scalar_t > | solve (const DistributedMatrix< scalar_t > &b, const std::vector< int > &piv) const |
|
void | LQ (DistributedMatrix< scalar_t > &L, DistributedMatrix< scalar_t > &Q) const |
|
void | orthogonalize (scalar_t &r_max, scalar_t &r_min) |
|
void | ID_column (DistributedMatrix< scalar_t > &X, std::vector< int > &piv, std::vector< std::size_t > &ind, real_t rel_tol, real_t abs_tol, int max_rank) |
|
void | ID_row (DistributedMatrix< scalar_t > &X, std::vector< int > &piv, std::vector< std::size_t > &ind, real_t rel_tol, real_t abs_tol, int max_rank, const BLACSGrid *grid_T) |
|
template<typename scalar_t>
class strumpack::DistributedMatrixWrapper< scalar_t >
Wrapper class does exactly the same as a regular DistributedMatrix, but it is initialized with existing memory, so it does not allocate, own or delete the memory