18#ifdef DEAL_II_WITH_PETSC
45 const bool is_symmetric)
55 const bool is_symmetric)
62 template <
typename SparsityPatternType>
84 const bool is_symmetric)
100 const bool is_symmetric)
112 template <
typename SparsityPatternType>
131 const bool is_symmetric)
153 const bool is_symmetric)
182 template <
typename SparsityPatternType>
187 std::vector<size_type>
row_lengths(sparsity_pattern.n_rows());
188 for (
size_type i = 0; i < sparsity_pattern.n_rows(); ++i)
192 sparsity_pattern.n_cols(),
213 for (
size_type i = 0; i < sparsity_pattern.n_rows(); ++i)
value_type * data() const noexcept
void mmult(MatrixBase &C, const MatrixBase &B, const VectorBase &V) const
PetscBool is_symmetric(const double tolerance=1.e-12)
MatrixBase & operator=(const MatrixBase &)=delete
void Tmmult(MatrixBase &C, const MatrixBase &B, const VectorBase &V) const
void compress(const VectorOperation::values operation)
void mmult(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)
void Tmmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
void reinit(const size_type m, const size_type n, const size_type n_nonzero_per_row, const bool is_symmetric=false)
SparseMatrix & operator=(const double d)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
#define AssertThrow(cond, exc)
void set_keep_zero_rows(Mat &matrix)
void set_matrix_option(Mat &matrix, const MatOption option_name, const PetscBool option_value=PETSC_FALSE)
void close_matrix(Mat &matrix)