16#ifndef dealii_la_vector_h
17#define dealii_la_vector_h
33#include <boost/version.hpp>
34#if BOOST_VERSION >= 106400
35# include <boost/serialization/array_wrapper.hpp>
37# include <boost/serialization/array.hpp>
39#include <boost/serialization/split_member.hpp>
77 template <
typename Number>
112 template <
typename InputIterator>
113 Vector(
const InputIterator
first,
const InputIterator last);
125 const bool omit_zeroing_entries =
false)
override;
135 template <
typename Number2>
138 const bool omit_zeroing_entries =
false);
151 const bool omit_zeroing_entries =
false)
override;
160 const bool omit_zeroing_entries =
false)
override;
180 template <
typename Number2>
228 std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
229 communication_pattern = {})
override;
234 DEAL_II_DEPRECATED_EARLY
238 std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
239 communication_pattern = {})
override
248 add(
const Number a)
override;
352 size()
const override;
372 print(std::ostream & out,
373 const unsigned int precision = 3,
374 const bool scientific =
true,
375 const bool across =
true)
const override;
387 const unsigned int precision = 9)
const;
422 template <
typename Archive>
424 serialize(Archive &ar,
const unsigned int version);
435 template <
typename Number2>
442 template <
typename Number>
449 template <
typename Number>
456 template <
typename Number>
457 template <
typename InputIterator>
459 const InputIterator last)
462 std::copy(
first, last, this->begin());
467 template <
typename Number>
476 template <
typename Number>
485 template <
typename Number>
488 const unsigned int precision,
489 const bool scientific,
497 template <
typename Number>
498 template <
typename Archive>
504 ar &this->stored_elements;
506 if (this->size() != current_size)
507 this->reinit(this->size());
508 ar &boost::serialization::make_array(this->values.get(), this->size());
513 template <
typename Number>
525template <
typename Number>
534 template <
typename Number>
548# include <deal.II/lac/la_vector.templates.h>
std::size_t memory_consumption() const
void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true) const
typename numbers::NumberTraits< Number >::real_type real_type
virtual VectorSpaceVector< Number >::real_type linfty_norm() const override
void print_as_numpy_array(std::ostream &out, const unsigned int precision=9) const
virtual Vector< Number > & operator=(const Number s) override
virtual void reinit(const IndexSet &locally_stored_indices, const bool omit_zeroing_entries=false) override
virtual VectorSpaceVector< Number >::real_type l1_norm() const override
virtual void scale(const VectorSpaceVector< Number > &scaling_factors) override
virtual Number operator*(const VectorSpaceVector< Number > &V) const override
virtual Vector< Number > & operator*=(const Number factor) override
virtual void reinit(const size_type size, const bool omit_zeroing_entries=false) override
virtual void add(const Number a, const VectorSpaceVector< Number > &V, const Number b, const VectorSpaceVector< Number > &W) override
void serialize(Archive &ar, const unsigned int version)
virtual ::IndexSet locally_owned_elements() const override
virtual VectorSpaceVector< Number >::real_type l2_norm() const override
Vector< Number > & operator=(const Vector< Number > &in_vector)
virtual value_type mean_value() const override
virtual Vector< Number > & operator+=(const VectorSpaceVector< Number > &V) override
virtual void add(const Number a, const VectorSpaceVector< Number > &V) override
virtual bool all_zero() const override
virtual void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const override
virtual void reinit(const VectorSpaceVector< Number > &V, const bool omit_zeroing_entries=false) override
void block_read(std::istream &in)
virtual void sadd(const Number s, const Number a, const VectorSpaceVector< Number > &V) override
virtual void import_elements(const ReadWriteVector< Number > &V, VectorOperation::values operation, std::shared_ptr< const Utilities::MPI::CommunicationPatternBase > communication_pattern={}) override
void block_write(std::ostream &out) const
virtual Vector< Number > & operator/=(const Number factor) override
typename ReadWriteVector< Number >::value_type value_type
virtual std::size_t memory_consumption() const override
virtual void add(const Number a) override
virtual size_type size() const override
virtual Number add_and_dot(const Number a, const VectorSpaceVector< Number > &V, const VectorSpaceVector< Number > &W) override
bool has_ghost_elements() const
virtual Vector< Number > & operator-=(const VectorSpaceVector< Number > &V) override
Vector< Number > & operator=(const Vector< Number2 > &in_vector)
void reinit(const ReadWriteVector< Number2 > &in_vector, const bool omit_zeroing_entries=false)
virtual void equ(const Number a, const VectorSpaceVector< Number > &V) override
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcVectorTypeNotCompatible()
IndexSet complete_index_set(const IndexSet::size_type N)
unsigned int global_dof_index