strumpack::HSS::HSSMatrixMPI< scalar_t > Class Template Reference

Public Member Functions

 HSSMatrixMPI (const DistM_t &A, const opts_t &opts)
 
 HSSMatrixMPI (const HSSPartitionTree &t, const DistM_t &A, const opts_t &opts)
 
 HSSMatrixMPI (const HSSPartitionTree &t, const BLACSGrid *g, const opts_t &opts)
 
 HSSMatrixMPI (std::size_t m, std::size_t n, const BLACSGrid *Agrid, const dmult_t &Amult, const delem_t &Aelem, const opts_t &opts)
 
 HSSMatrixMPI (std::size_t m, std::size_t n, const BLACSGrid *Agrid, const dmult_t &Amult, const delem_blocks_t &Aelem, const opts_t &opts)
 
 HSSMatrixMPI (const HSSPartitionTree &t, const BLACSGrid *Agrid, const dmult_t &Amult, const delem_t &Aelem, const opts_t &opts)
 
 HSSMatrixMPI (kernel::Kernel< real_t > &K, const BLACSGrid *Agrid, const opts_t &opts)
 
 HSSMatrixMPI (const HSSMatrixMPI< scalar_t > &other)
 
 HSSMatrixMPI (HSSMatrixMPI< scalar_t > &&other)=default
 
HSSMatrixMPI< scalar_t > & operator= (const HSSMatrixMPI< scalar_t > &other)
 
HSSMatrixMPI< scalar_t > & operator= (HSSMatrixMPI< scalar_t > &&other)=default
 
std::unique_ptr< HSSMatrixBase< scalar_t > > clone () const override
 
const HSSMatrixBase< scalar_t > * child (int c) const
 
HSSMatrixBase< scalar_t > * child (int c)
 
const BLACSGridgrid () const override
 
const BLACSGridgrid (const BLACSGrid *grid) const override
 
const BLACSGridgrid_local () const override
 
const MPICommComm () const
 
MPI_Comm comm () const
 
int Ptotal () const override
 
int Pactive () const override
 
void compress (const DistM_t &A, const opts_t &opts)
 
void compress (const dmult_t &Amult, const delem_t &Aelem, const opts_t &opts)
 
void compress (const dmult_t &Amult, const delem_blocks_t &Aelem, const opts_t &opts)
 
void compress (const kernel::Kernel< real_t > &K, const opts_t &opts)
 
HSSFactorsMPI< scalar_t > factor () const
 
HSSFactorsMPI< scalar_t > partial_factor () const
 
void solve (const HSSFactorsMPI< scalar_t > &ULV, DistM_t &b) const
 
void forward_solve (const HSSFactorsMPI< scalar_t > &ULV, WorkSolveMPI< scalar_t > &w, const DistM_t &b, bool partial) const override
 
void backward_solve (const HSSFactorsMPI< scalar_t > &ULV, WorkSolveMPI< scalar_t > &w, DistM_t &x) const override
 
DistM_t apply (const DistM_t &b) const
 
DistM_t applyC (const DistM_t &b) const
 
scalar_t get (std::size_t i, std::size_t j) const
 
DistM_t extract (const std::vector< std::size_t > &I, const std::vector< std::size_t > &J, const BLACSGrid *Bgrid) const
 
std::vector< DistM_textract (const std::vector< std::vector< std::size_t >> &I, const std::vector< std::vector< std::size_t >> &J, const BLACSGrid *Bgrid) const
 
void extract_add (const std::vector< std::size_t > &I, const std::vector< std::size_t > &J, DistM_t &B) const
 
void extract_add (const std::vector< std::vector< std::size_t >> &I, const std::vector< std::vector< std::size_t >> &J, std::vector< DistM_t > &B) const
 
void Schur_update (const HSSFactorsMPI< scalar_t > &f, DistM_t &Theta, DistM_t &Vhat, DistM_t &DUB01, DistM_t &Phi) const
 
void Schur_product_direct (const DistM_t &Theta, const DistM_t &Vhat, const DistM_t &DUB01, const DistM_t &Phi, const DistM_t &_ThetaVhatC, const DistM_t &VhatCPhiC, const DistM_t &R, DistM_t &Sr, DistM_t &Sc) const
 
std::size_t max_rank () const
 
std::size_t total_memory () const
 
std::size_t total_nonzeros () const
 
std::size_t max_levels () const
 
std::size_t rank () const override
 
std::size_t memory () const override
 
std::size_t nonzeros () const override
 
std::size_t levels () const override
 
void print_info (std::ostream &out=std::cout, std::size_t roff=0, std::size_t coff=0) const override
 
DistM_t dense () const
 
void shift (scalar_t sigma) override
 
const TreeLocalRangestree_ranges () const
 
void to_block_row (const DistM_t &A, DenseM_t &sub_A, DistM_t &leaf_A) const override
 
void allocate_block_row (int d, DenseM_t &sub_A, DistM_t &leaf_A) const override
 
void from_block_row (DistM_t &A, const DenseM_t &sub_A, const DistM_t &leaf_A, const BLACSGrid *lgrid) const override
 
void delete_trailing_block () override
 
void reset () override
 

Friends

class DistSamples< scalar_t >
 
template<typename T >
void apply_HSS (Trans ta, const HSSMatrixMPI< T > &a, const DistributedMatrix< T > &b, T beta, DistributedMatrix< T > &c)
 

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