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> 28 DEAL_II_NAMESPACE_OPEN
110 const std::vector<size_type> &row_lengths,
130 template <
typename SparsityPatternType>
131 explicit SparseMatrix (
const SparsityPatternType &sparsity_pattern,
132 const bool preset_nonzero_locations =
true);
162 const std::vector<size_type> &row_lengths,
190 template <
typename SparsityPatternType>
191 void reinit (
const SparsityPatternType &sparsity_pattern,
192 const bool preset_nonzero_locations =
true);
264 const std::vector<size_type> &row_lengths,
270 template <
typename SparsityPatternType>
271 void do_reinit (
const SparsityPatternType &sparsity_pattern,
272 const bool preset_nonzero_locations);
281 DEAL_II_NAMESPACE_CLOSE
283 #endif // DEAL_II_WITH_PETSC
PetscScalar matrix_scalar_product(const VectorBase &u, const VectorBase &v) const
static const bool zero_addition_can_be_elided
PetscScalar matrix_norm_square(const VectorBase &v) const
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
PetscBooleanType is_symmetric(const double tolerance=1.e-12)
void do_reinit(const size_type m, const size_type n, const size_type n_nonzero_per_row, const bool is_symmetric=false)