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/base/std_cxx11/shared_ptr.h> 22 #include <deal.II/lac/vector.h> 25 DEAL_II_NAMESPACE_OPEN
30 class CommunicationPatternBase;
31 template <
typename Number>
class ReadWriteVector;
49 template <
typename Number>
53 typedef Number value_type;
88 std_cxx11::shared_ptr<const CommunicationPatternBase> communication_pattern =
89 std_cxx11::shared_ptr<const CommunicationPatternBase> ()) = 0;
99 virtual void add(
const Number a) = 0;
116 virtual void sadd(
const Number s,
const Number a,
140 virtual real_type
l1_norm()
const = 0;
146 virtual real_type
l2_norm()
const = 0;
183 virtual size_type
size()
const = 0;
201 virtual void print(std::ostream &out,
202 const unsigned int precision=3,
203 const bool scientific=
true,
204 const bool across=
true)
const = 0;
224 template <
typename Number>
231 DEAL_II_NAMESPACE_CLOSE
virtual Number operator*(const VectorSpaceVector< Number > &V) const =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 compress(VectorOperation::values)
virtual ~VectorSpaceVector()
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