16 #ifndef dealii_vector_space_vector_h 17 #define dealii_vector_space_vector_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/base/numbers.h> 21 #include <deal.II/lac/vector_operation.h> 26 DEAL_II_NAMESPACE_OPEN
31 class CommunicationPatternBase;
32 template <
typename Number>
class ReadWriteVector;
50 template <
typename Number>
54 typedef Number value_type;
63 const bool omit_zeroing_entries =
false) = 0;
101 std::shared_ptr<const CommunicationPatternBase> communication_pattern =
102 std::shared_ptr<const CommunicationPatternBase> ()) = 0;
112 virtual void add(
const Number a) = 0;
129 virtual void sadd(
const Number s,
const Number a,
158 virtual real_type
l1_norm()
const = 0;
164 virtual real_type
l2_norm()
const = 0;
204 virtual size_type
size()
const = 0;
222 virtual void print(std::ostream &out,
223 const unsigned int precision=3,
224 const bool scientific=
true,
225 const bool across=
true)
const = 0;
241 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
unsigned int global_dof_index
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
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