strumpack::DistributedMatrix< scalar_t > Class Template Reference
Inheritance diagram for strumpack::DistributedMatrix< scalar_t >:

Public Member Functions

 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 BLACSGridgrid () const
 
const MPICommComm () 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
 
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 ()
 
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)
 

Static Public Attributes

static const int default_MB = STRUMPACK_PBLAS_BLOCKSIZE
 
static const int default_NB = STRUMPACK_PBLAS_BLOCKSIZE
 

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