#include <DistributedMatrix.hpp>
Public Member Functions | |
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 |
Public Member Functions inherited from strumpack::DistributedMatrix< scalar_t > | |
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 BLACSGrid *g, int desc[9]) | |
DistributedMatrix (const DistributedMatrix< scalar_t > &m) | |
DistributedMatrix (DistributedMatrix< scalar_t > &&m) | |
DistributedMatrix< scalar_t > & | operator= (const DistributedMatrix< scalar_t > &m) |
DistributedMatrix< scalar_t > & | operator= (DistributedMatrix< scalar_t > &&m) |
const int * | desc () const |
int * | desc () |
bool | active () const |
const BLACSGrid * | grid () const |
const MPIComm & | Comm () const |
MPI_Comm | comm () const |
int | ctxt () const |
int | ctxt_all () const |
int | lrows () const |
int | lcols () const |
int | ld () const |
int | MB () const |
int | NB () const |
int | rowblocks () const |
int | colblocks () 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 |
bool | fixed () const |
int | rowl2g_fixed (int row) const |
int | coll2g_fixed (int col) const |
int | rowg2l_fixed (int row) const |
int | colg2l_fixed (int col) const |
int | rowg2p_fixed (int row) const |
int | colg2p_fixed (int col) const |
int | rank_fixed (int r, int c) const |
bool | is_local_fixed (int r, int c) const |
const scalar_t & | global (int r, int c) const |
scalar_t & | global (int r, int c) |
scalar_t & | global_fixed (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) |
void | clear () |
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 |
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) |
Additional Inherited Members | |
Static Public Attributes inherited from strumpack::DistributedMatrix< scalar_t > | |
static const int | default_MB = STRUMPACK_PBLAS_BLOCKSIZE |
static const int | default_NB = STRUMPACK_PBLAS_BLOCKSIZE |
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