16 #ifndef dealii_petsc_sparse_matrix_h 17 #define dealii_petsc_sparse_matrix_h 20 #include <deal.II/base/config.h> 22 #ifdef DEAL_II_WITH_PETSC 24 # include <deal.II/lac/exceptions.h> 25 # include <deal.II/lac/petsc_matrix_base.h> 26 # include <deal.II/lac/petsc_parallel_vector.h> 29 DEAL_II_NAMESPACE_OPEN
111 const std::vector<size_type> &row_lengths,
131 template <
typename SparsityPatternType>
132 explicit SparseMatrix (
const SparsityPatternType &sparsity_pattern,
133 const bool preset_nonzero_locations =
true);
163 const std::vector<size_type> &row_lengths,
191 template <
typename SparsityPatternType>
192 void reinit (
const SparsityPatternType &sparsity_pattern,
193 const bool preset_nonzero_locations =
true);
258 const std::vector<size_type> &row_lengths,
264 template <
typename SparsityPatternType>
265 void do_reinit (
const SparsityPatternType &sparsity_pattern,
266 const bool preset_nonzero_locations);
275 DEAL_II_NAMESPACE_CLOSE
277 #endif // DEAL_II_WITH_PETSC
static const bool zero_addition_can_be_elided
PetscBool is_symmetric(const double tolerance=1.e-12)
SparseMatrix & operator=(const double d)
void reinit(const size_type m, const size_type n, const size_type n_nonzero_per_row, const bool is_symmetric=false)
virtual const MPI_Comm & get_mpi_communicator() const
types::global_dof_index size_type
void mmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
void Tmmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
void do_reinit(const size_type m, const size_type n, const size_type n_nonzero_per_row, const bool is_symmetric=false)