16 #ifndef dealii_vector_space_vector_h 17 #define dealii_vector_space_vector_h 19 #include <deal.II/base/config.h> 21 #include <deal.II/base/numbers.h> 23 #include <deal.II/lac/vector_operation.h> 28 DEAL_II_NAMESPACE_OPEN
33 class CommunicationPatternBase;
34 template <
typename Number>
35 class ReadWriteVector;
53 template <
typename Number>
57 using value_type = Number;
67 const bool omit_zeroing_entries =
false) = 0;
112 std::shared_ptr<const CommunicationPatternBase> communication_pattern =
113 std::shared_ptr<const CommunicationPatternBase>()) = 0;
124 add(
const Number a) = 0;
253 print(std::ostream & out,
254 const unsigned int precision = 3,
255 const bool scientific =
true,
256 const bool across =
true)
const = 0;
273 DEAL_II_NAMESPACE_CLOSE
virtual Number operator*(const VectorSpaceVector< Number > &V) const =0
virtual VectorSpaceVector< Number > & operator=(const Number s)=0
virtual void sadd(const Number s, const Number a, const VectorSpaceVector< Number > &V)=0
virtual VectorSpaceVector< Number > & operator/=(const Number factor)=0
virtual real_type l2_norm() const =0
virtual void add(const Number a)=0
virtual real_type linfty_norm() const =0
virtual void scale(const VectorSpaceVector< Number > &scaling_factors)=0
virtual void equ(const Number a, const VectorSpaceVector< Number > &V)=0
virtual size_type size() const =0
virtual Number add_and_dot(const Number a, const VectorSpaceVector< Number > &V, const VectorSpaceVector< Number > &W)=0
virtual void reinit(const VectorSpaceVector< Number > &V, const bool omit_zeroing_entries=false)=0
virtual void compress(VectorOperation::values)
virtual bool all_zero() const =0
virtual ~VectorSpaceVector()=default
virtual std::size_t memory_consumption() const =0
virtual void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const =0
virtual VectorSpaceVector< Number > & operator+=(const VectorSpaceVector< Number > &V)=0
unsigned int global_dof_index
virtual real_type l1_norm() const =0
virtual VectorSpaceVector< Number > & operator-=(const VectorSpaceVector< Number > &V)=0
virtual VectorSpaceVector< Number > & operator*=(const Number factor)=0
virtual value_type mean_value() const =0
virtual ::IndexSet locally_owned_elements() const =0