|
| 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 BLACSGrid * | grid () const override |
|
const BLACSGrid * | grid (const BLACSGrid *grid) const override |
|
const BLACSGrid * | grid_local () const override |
|
const MPIComm & | Comm () 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_t > | extract (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 TreeLocalRanges & | tree_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 |
|