]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove LA::Vector. 15626/head
authorDavid Wells <drwells@email.unc.edu>
Mon, 3 Jul 2023 15:13:50 +0000 (11:13 -0400)
committerDavid Wells <drwells@email.unc.edu>
Tue, 4 Jul 2023 19:08:52 +0000 (15:08 -0400)
We agreed to convert VectorSpaceVector a concept which makes this approach no
longer relevant.

84 files changed:
cmake/config/template-arguments.in
cmake/configure/configure_50_complex_values.cmake
doc/news/changes/incompatibilities/20230703DavidWells [new file with mode: 0644]
include/deal.II/base/template_constraints.h
include/deal.II/distributed/cell_data_transfer.templates.h
include/deal.II/fe/fe_tools_extrapolate.templates.h
include/deal.II/fe/fe_tools_interpolate.templates.h
include/deal.II/grid/grid_tools.h
include/deal.II/lac/affine_constraints.templates.h
include/deal.II/lac/la_parallel_vector.h
include/deal.II/lac/la_vector.h [deleted file]
include/deal.II/lac/la_vector.templates.h [deleted file]
include/deal.II/lac/read_write_vector.h
include/deal.II/lac/read_write_vector.templates.h
include/deal.II/numerics/error_estimator.templates.h
include/deal.II/numerics/vector_tools_integrate_difference.templates.h
include/deal.II/numerics/vector_tools_interpolate.templates.h
include/deal.II/numerics/vector_tools_mean_value.templates.h
include/deal.II/numerics/vector_tools_point_gradient.templates.h
include/deal.II/numerics/vector_tools_point_value.templates.h
include/deal.II/numerics/vector_tools_project.templates.h
include/deal.II/numerics/vector_tools_rhs.templates.h
include/deal.II/sundials/n_vector.templates.h
source/algorithms/operator.cc
source/base/mpi_noncontiguous_partitioner.cc
source/dofs/dof_accessor_get.cc
source/dofs/dof_accessor_set.cc
source/fe/mapping_fe_field.cc
source/fe/mapping_q1_eulerian.cc
source/fe/mapping_q_cache.cc
source/fe/mapping_q_eulerian.cc
source/lac/CMakeLists.txt
source/lac/affine_constraints.inst.in
source/lac/la_vector.cc [deleted file]
source/lac/la_vector.inst.in [deleted file]
source/lac/solver.cc
source/lac/vector_memory.cc
source/meshworker/mesh_worker_vector_selector.cc
source/multigrid/mg_base.cc
source/multigrid/multigrid.cc
source/non_matching/fe_values.cc
source/non_matching/mesh_classifier.cc
source/non_matching/quadrature_generator.cc
source/numerics/data_out_dof_data.cc
source/numerics/data_out_dof_data_codim.cc
source/numerics/data_out_dof_data_inst2.cc
source/numerics/derivative_approximation.cc
source/numerics/dof_output_operator.cc
source/numerics/error_estimator_1d.cc
source/numerics/fe_field_function.cc
source/numerics/point_value_history.cc
source/numerics/smoothness_estimator.cc
source/numerics/solution_transfer.cc
source/trilinos/nox.cc
tests/lac/la_vector_accumulation_01.cc [deleted file]
tests/lac/la_vector_accumulation_01.output [deleted file]
tests/lac/la_vector_add_and_dot.cc [deleted file]
tests/lac/la_vector_add_and_dot.with_complex_values=false.output [deleted file]
tests/lac/la_vector_add_and_dot.with_complex_values=true.output [deleted file]
tests/lac/la_vector_add_and_dot_complex.cc [deleted file]
tests/lac/la_vector_add_and_dot_complex.with_complex_values=on.output [deleted file]
tests/lac/la_vector_all_zero.cc [deleted file]
tests/lac/la_vector_all_zero.output [deleted file]
tests/lac/la_vector_large_numbers.cc [deleted file]
tests/lac/la_vector_large_numbers.output [deleted file]
tests/lac/la_vector_norms.cc [deleted file]
tests/lac/la_vector_norms.output [deleted file]
tests/lac/la_vector_output.cc [deleted file]
tests/lac/la_vector_output.output [deleted file]
tests/lac/la_vector_print.cc [deleted file]
tests/lac/la_vector_print.output [deleted file]
tests/lac/la_vector_vector.cc [deleted file]
tests/lac/la_vector_vector.output [deleted file]
tests/lac/vector_type_traits_is_serial_01.cc
tests/lac/vector_type_traits_is_serial_01.output
tests/matrix_free/fe_evaluation_renumbered.cc
tests/mpi/local_size.cc
tests/mpi/local_size.with_trilinos_with_tpetra=on.with_petsc=on.mpirun=4.output
tests/numerics/subtract_mean_value_01.cc
tests/numerics/subtract_mean_value_01.output
tests/remote_point_evaluation/mapping_01.cc
tests/remote_point_evaluation/mapping_02.cc
tests/remote_point_evaluation/mapping_03.cc
tests/remote_point_evaluation/mapping_04.cc

index f7d58dec3d1d8e527ed670c1ddfb336e7719c6c8..f6181a592b8c3dd53bcfeb672c8a054fa40b44b0 100644 (file)
@@ -94,9 +94,6 @@ VECTOR_TYPES := {   Vector<double>;
                     BlockVector<double>;
                     BlockVector<float>;
 
-                    LinearAlgebra::Vector<double>;
-                    LinearAlgebra::Vector<float> ;
-
                     LinearAlgebra::distributed::Vector<double>;
                     LinearAlgebra::distributed::Vector<float> ;
 
@@ -105,7 +102,6 @@ VECTOR_TYPES := {   Vector<double>;
 
                     @DEAL_II_EXPAND_COMPLEX_VECTORS@;
                     @DEAL_II_EXPAND_COMPLEX_BLOCK_VECTORS@;
-                    @DEAL_II_EXPAND_COMPLEX_LA_VECTORS@;
                     @DEAL_II_EXPAND_COMPLEX_LA_PARALLEL_VECTORS@;
                     @DEAL_II_EXPAND_COMPLEX_LA_PARALLEL_BLOCK_VECTORS@;
 
@@ -129,9 +125,6 @@ REAL_VECTOR_TYPES  := {  Vector<double>;
                          BlockVector<double>;
                          BlockVector<float>;
 
-                         LinearAlgebra::Vector<double>;
-                         LinearAlgebra::Vector<float> ;
-
                          LinearAlgebra::distributed::Vector<double>;
                          LinearAlgebra::distributed::Vector<float> ;
 
@@ -152,9 +145,6 @@ REAL_VECTOR_TYPES  := {  Vector<double>;
 REAL_NONBLOCK_VECTORS := { Vector<double>;
                            Vector<float> ;
 
-                           LinearAlgebra::Vector<double>;
-                           LinearAlgebra::Vector<float> ;
-
                            LinearAlgebra::distributed::Vector<double>;
                            LinearAlgebra::distributed::Vector<float> ;
 
index 046464041335a68897b67a29724968009ad673f1..e5bf9d7fe4b072969f5794efebbb5b2f982ef526 100644 (file)
@@ -30,10 +30,6 @@ if(${DEAL_II_WITH_COMPLEX_VALUES})
        "BlockVector<std::complex<double> >"
        "BlockVector<std::complex<float> >"
       )
-   set(DEAL_II_EXPAND_COMPLEX_LA_VECTORS
-       "LinearAlgebra::Vector<std::complex<double> >"
-       "LinearAlgebra::Vector<std::complex<float> >"
-      )
    set(DEAL_II_EXPAND_COMPLEX_LA_PARALLEL_VECTORS
        "LinearAlgebra::distributed::Vector<std::complex<double> >"
        "LinearAlgebra::distributed::Vector<std::complex<float> >"
diff --git a/doc/news/changes/incompatibilities/20230703DavidWells b/doc/news/changes/incompatibilities/20230703DavidWells
new file mode 100644 (file)
index 0000000..5af21ab
--- /dev/null
@@ -0,0 +1,4 @@
+Removed: The LinearAlgebra::Vector class has been removed without deprecation.
+Users should use the standard Vector class instead.
+<br>
+(David Wells, 2023/07/03)
index d298064240ae73f6563457d8b55e1fb04f0f0672..b156ea15e76180c88a1396f3e77b890d7fd63c15 100644 (file)
@@ -738,10 +738,6 @@ namespace concepts
     inline constexpr bool is_dealii_vector_type<dealii::BlockVector<Number>> =
       true;
 
-    template <typename Number>
-    inline constexpr bool
-      is_dealii_vector_type<dealii::LinearAlgebra::Vector<Number>> = true;
-
     template <typename Number>
     inline constexpr bool
       is_dealii_vector_type<dealii::LinearAlgebra::BlockVector<Number>> = true;
index a9ca456325d2f21b0880d7410552af913588828e..16fc5d86cc0869ad12e1cd262163ea71d7a83b4d 100644 (file)
@@ -26,7 +26,6 @@
 #  include <deal.II/lac/block_vector.h>
 #  include <deal.II/lac/la_parallel_block_vector.h>
 #  include <deal.II/lac/la_parallel_vector.h>
-#  include <deal.II/lac/la_vector.h>
 #  include <deal.II/lac/petsc_block_vector.h>
 #  include <deal.II/lac/petsc_vector.h>
 #  include <deal.II/lac/trilinos_epetra_vector.h>
index 02a4a3131a9524454fd24f1e33a994a63127260b..301c195939963a0d527ffea320306d468ddeb1b8 100644 (file)
@@ -36,7 +36,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 8110b58a962dfaae6191f5634898d0aba1c4c5f8..5750e30611c16f596b44c06c02b34cdb7abeb504 100644 (file)
@@ -39,7 +39,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index cbfa05a523d85091f442358439d554ee9d76f4b3..99146bf8b2b06e4ca5b8852e298b78137fe2e5f8 100644 (file)
@@ -39,7 +39,6 @@
 #include <deal.II/grid/tria_iterator.h>
 
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/sparsity_tools.h>
 #include <deal.II/lac/trilinos_vector.h>
index d951ddb6f42d7b95cd773881448fc3868c163b0a..65db1cda35676bff26029dbe8390911f411313de 100644 (file)
@@ -34,7 +34,6 @@
 #include <deal.II/lac/full_matrix.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/matrix_block.h>
 #include <deal.II/lac/petsc_block_sparse_matrix.h>
 #include <deal.II/lac/petsc_block_vector.h>
index 1ff552f623c6ed4b4f8e2275cc506458adf269bb..40a6af7301e4c61b3c06b1add9e5867cd81fa3e9 100644 (file)
@@ -1824,7 +1824,7 @@ swap(LinearAlgebra::distributed::Vector<Number, MemorySpace> &u,
 
 
 /**
- * Declare dealii::LinearAlgebra::Vector as distributed vector.
+ * Declare dealii::LinearAlgebra::distributed::Vector as distributed vector.
  */
 template <typename Number, typename MemorySpace>
 struct is_serial_vector<LinearAlgebra::distributed::Vector<Number, MemorySpace>>
diff --git a/include/deal.II/lac/la_vector.h b/include/deal.II/lac/la_vector.h
deleted file mode 100644 (file)
index 7847687..0000000
+++ /dev/null
@@ -1,551 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2015 - 2023 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_la_vector_h
-#define dealii_la_vector_h
-
-
-#include <deal.II/base/config.h>
-
-#include <deal.II/base/exceptions.h>
-#include <deal.II/base/index_set.h>
-#include <deal.II/base/logstream.h>
-
-#include <deal.II/lac/read_write_vector.h>
-#include <deal.II/lac/vector_operation.h>
-#include <deal.II/lac/vector_space_vector.h>
-#include <deal.II/lac/vector_type_traits.h>
-
-// boost::serialization::make_array used to be in array.hpp, but was
-// moved to a different file in BOOST 1.64
-#include <boost/version.hpp>
-#if BOOST_VERSION >= 106400
-#  include <boost/serialization/array_wrapper.hpp>
-#else
-#  include <boost/serialization/array.hpp>
-#endif
-#include <boost/serialization/split_member.hpp>
-
-#include <cstdio>
-#include <cstring>
-#include <iostream>
-#include <vector>
-
-
-DEAL_II_NAMESPACE_OPEN
-
-/**
- * A namespace for vector classes.
- *
- * This namespace contains various classes that provide wrappers to vector
- * classes from different external libraries like Trilinos (EPetra) or PETSc
- * and native implementations like LinearAlgebra::distributed::Vector.
- *
- * The different vector classes are derived from VectorSpaceVector to provide
- * a joint interface for vector space operations, are derived from
- * ReadWriteVector (or ReadWriteVector itself), or both. The separation of
- * vector space operations (like norms or vector additions) through
- * VectorSpaceVector and element access through ReadWriteVector are by design
- * and improve performance.
- */
-namespace LinearAlgebra
-{
-  /**
-   * @addtogroup Vectors
-   * @{
-   */
-
-  /**
-   * Numerical vector of data. This class derives from both
-   * ::dealii::LinearAlgebra::ReadWriteVector and
-   * ::dealii::LinearAlgebra::VectorSpaceVector. As opposed to the array of
-   * the C++ standard library, this class implements an element of a vector
-   * space suitable for numerical computations.
-   */
-  template <typename Number>
-  class Vector : public ReadWriteVector<Number>,
-                 public VectorSpaceVector<Number>
-  {
-  public:
-    using size_type  = types::global_dof_index;
-    using value_type = typename ReadWriteVector<Number>::value_type;
-
-    /**
-     * Constructor. Create a vector of dimension zero.
-     */
-    Vector() = default;
-
-    /**
-     * Copy constructor. Sets the dimension to that of the given vector and
-     * copies all elements.
-     */
-    Vector(const Vector<Number> &V);
-
-    /**
-     * Constructor. Set dimension to @p n and initialize all elements with
-     * zero.
-     *
-     * The constructor is made explicit to avoid accident like this:
-     * <tt>v=0;</tt>. Presumably, the user wants to set every element of the
-     * vector to zero, but instead, what happens is this call:
-     * <tt>v=Vector@<Number@>(0);</tt>, i.e. the vector is replaced by one of
-     * length zero.
-     */
-    explicit Vector(const size_type n);
-
-    /**
-     * Initialize the vector with a given range of values pointed to by the
-     * iterators. This function exists in analogy to the @p std::vector class.
-     */
-    template <typename InputIterator>
-    Vector(const InputIterator first, const InputIterator last);
-
-    /**
-     * Set the global size of the vector to @p size. The stored elements have
-     * their index in [0,size).
-     *
-     * If the flag @p omit_zeroing_entries is set to false, the memory will be
-     * initialized with zero, otherwise the memory will be untouched (and the
-     * user must make sure to fill it with reasonable data before using it).
-     */
-    virtual void
-    reinit(const size_type size,
-           const bool      omit_zeroing_entries = false) override;
-
-    /**
-     * Uses the same IndexSet as the one of the input vector @p in_vector and
-     * allocates memory for this vector.
-     *
-     * If the flag @p omit_zeroing_entries is set to false, the memory will be
-     * initialized with zero, otherwise the memory will be untouched (and the
-     * user must make sure to fill it with reasonable data before using it).
-     */
-    template <typename Number2>
-    void
-    reinit(const ReadWriteVector<Number2> &in_vector,
-           const bool                      omit_zeroing_entries = false);
-
-    /**
-     * Initializes the vector. The indices are specified by @p
-     * locally_stored_indices.
-     *
-     * If the flag @p omit_zeroing_entries is set to false, the memory will be
-     * initialized with zero, otherwise the memory will be untouched (and the
-     * user must make sure to fill it with reasonable data before using it).
-     * locally_stored_indices.
-     */
-    virtual void
-    reinit(const IndexSet &locally_stored_indices,
-           const bool      omit_zeroing_entries = false) override;
-
-
-    /**
-     * Change the dimension to that of the vector V. The elements of V are not
-     * copied.
-     */
-    virtual void
-    reinit(const VectorSpaceVector<Number> &V,
-           const bool omit_zeroing_entries = false) override;
-
-    /**
-     * Returns `false` as this is a serial vector.
-     *
-     * This functionality only needs to be called if using MPI based vectors and
-     * exists in other objects for compatibility.
-     */
-    bool
-    has_ghost_elements() const;
-
-    /**
-     * Copies the data of the input vector @p in_vector.
-     */
-    Vector<Number> &
-    operator=(const Vector<Number> &in_vector);
-
-    /**
-     * Copies the data of the input vector @p in_vector.
-     */
-    template <typename Number2>
-    Vector<Number> &
-    operator=(const Vector<Number2> &in_vector);
-
-    /**
-     * Sets all elements of the vector to the scalar @p s. This operation is
-     * only allowed if @p s is equal to zero.
-     */
-    virtual Vector<Number> &
-    operator=(const Number s) override;
-
-    /**
-     * Multiply the entire vector by a fixed factor.
-     */
-    virtual Vector<Number> &
-    operator*=(const Number factor) override;
-
-    /**
-     * Divide the entire vector by a fixed factor.
-     */
-    virtual Vector<Number> &
-    operator/=(const Number factor) override;
-
-    /**
-     * Add the vector @p V to the present one.
-     */
-    virtual Vector<Number> &
-    operator+=(const VectorSpaceVector<Number> &V) override;
-
-    /**
-     * Subtract the vector @p V from the present one.
-     */
-    virtual Vector<Number> &
-    operator-=(const VectorSpaceVector<Number> &V) override;
-
-    /**
-     * Return the scalar product of two vectors.
-     */
-    virtual Number
-    operator*(const VectorSpaceVector<Number> &V) const override;
-
-    /**
-     * This function is not implemented and will throw an exception.
-     */
-    virtual void
-    import_elements(
-      const ReadWriteVector<Number> &V,
-      VectorOperation::values        operation,
-      std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
-        communication_pattern = {}) override;
-
-    /**
-     * @deprecated Use import_elements() instead.
-     */
-    DEAL_II_DEPRECATED
-    virtual void
-    import(const ReadWriteVector<Number> &V,
-           VectorOperation::values        operation,
-           std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
-             communication_pattern = {}) override
-    {
-      import_elements(V, operation, communication_pattern);
-    }
-
-    /**
-     * Add @p a to all components. Note that @p a is a scalar not a vector.
-     */
-    virtual void
-    add(const Number a) override;
-
-    /**
-     * Simple addition of a multiple of a vector, i.e. <tt>*this += a*V</tt>.
-     */
-    virtual void
-    add(const Number a, const VectorSpaceVector<Number> &V) override;
-
-    /**
-     * Multiple addition of a multiple of a vector, i.e. <tt>*this +=
-     * a*V+b*W</tt>.
-     */
-    virtual void
-    add(const Number                     a,
-        const VectorSpaceVector<Number> &V,
-        const Number                     b,
-        const VectorSpaceVector<Number> &W) override;
-
-    /**
-     * Scaling and simple addition of a multiple of a vector, i.e. <tt>*this =
-     * s*(*this)+a*V</tt>.
-     */
-    virtual void
-    sadd(const Number                     s,
-         const Number                     a,
-         const VectorSpaceVector<Number> &V) override;
-
-    /**
-     * Scale each element of this vector by the corresponding element in the
-     * argument. This function is mostly meant to simulate multiplication (and
-     * immediate re-assignment) by a diagonal scaling matrix.
-     */
-    virtual void
-    scale(const VectorSpaceVector<Number> &scaling_factors) override;
-
-    /**
-     * Assignment <tt>*this = a*V</tt>.
-     */
-    virtual void
-    equ(const Number a, const VectorSpaceVector<Number> &V) override;
-
-    /**
-     * Return whether the vector contains only elements with value zero.
-     */
-    virtual bool
-    all_zero() const override;
-
-    /**
-     * Return the mean value of all the entries of this vector.
-     */
-    virtual value_type
-    mean_value() const override;
-
-    /**
-     * Return the l<sub>1</sub> norm of the vector (i.e., the sum of the
-     * absolute values of all entries).
-     */
-    virtual typename VectorSpaceVector<Number>::real_type
-    l1_norm() const override;
-
-    /**
-     * Return the l<sub>2</sub> norm of the vector (i.e., the square root of
-     * the sum of the square of all entries among all processors).
-     */
-    virtual typename VectorSpaceVector<Number>::real_type
-    l2_norm() const override;
-
-    /**
-     * Return the maximum norm of the vector (i.e., the maximum absolute value
-     * among all entries and among all processors).
-     */
-    virtual typename VectorSpaceVector<Number>::real_type
-    linfty_norm() const override;
-
-    /**
-     * Perform a combined operation of a vector addition and a subsequent
-     * inner product, returning the value of the inner product. In other
-     * words, the result of this function is the same as if the user called
-     * @code
-     * this->add(a, V);
-     * return_value = *this * W;
-     * @endcode
-     *
-     * The reason this function exists is that this operation involves less
-     * memory transfer than calling the two functions separately. This method
-     * only needs to load three vectors, @p this, @p V, @p W, whereas calling
-     * separate methods means to load the calling vector @p this twice. Since
-     * most vector operations are memory transfer limited, this reduces the time
-     * by 25\% (or 50\% if @p W equals @p this).
-     *
-     * For complex-valued vectors, the scalar product in the second step is
-     * implemented as
-     * $\left<v,w\right>=\sum_i v_i \bar{w_i}$.
-     */
-    virtual Number
-    add_and_dot(const Number                     a,
-                const VectorSpaceVector<Number> &V,
-                const VectorSpaceVector<Number> &W) override;
-
-    /**
-     * Return the global size of the vector, equal to the sum of the number of
-     * locally owned indices among all processors.
-     */
-    virtual size_type
-    size() const override;
-
-    /**
-     * Return an index set that describes which elements of this vector are
-     * owned by the current processor. As a consequence, the index sets
-     * returned on different processors if this is a distributed vector will
-     * form disjoint sets that add up to the complete index set. Obviously, if
-     * a vector is created on only one processor, then the result would
-     * satisfy
-     * @code
-     *  vec.locally_owned_elements() == complete_index_set(vec.size())
-     * @endcode
-     */
-    virtual dealii::IndexSet
-    locally_owned_elements() const override;
-
-    /**
-     * Print the vector to the output stream @p out.
-     */
-    virtual void
-    print(std::ostream &     out,
-          const unsigned int precision  = 3,
-          const bool         scientific = true,
-          const bool         across     = true) const override;
-
-    /**
-     * Print the vector to the output stream @p out in a format that can be
-     * read by numpy::readtxt(). Note that the IndexSet is not printed but only
-     * the values stored in the Vector. To load the vector in python just do
-     * <code>
-     * vector = numpy.loadtxt('my_vector.txt')
-     * </code>
-     */
-    void
-    print_as_numpy_array(std::ostream &     out,
-                         const unsigned int precision = 9) const;
-
-    /**
-     * Write the vector en bloc to a file. This is done in a binary mode, so
-     * the output is neither readable by humans nor (probably) by other
-     * computers using a different operating system or number format.
-     */
-    void
-    block_write(std::ostream &out) const;
-
-    /**
-     * Read a vector en block from a file. This is done using the inverse
-     * operations to the above function, so it is reasonably fast because the
-     * bitstream is not interpreted.
-     *
-     * The vector is resized if necessary.
-     *
-     * A primitive form of error checking is performed which will recognize
-     * the bluntest attempts to interpret some data as a vector stored bitwise
-     * to a file, but not more.
-     */
-    void
-    block_read(std::istream &in);
-
-    /**
-     * Return the memory consumption of this class in bytes.
-     */
-    virtual std::size_t
-    memory_consumption() const override;
-
-    /**
-     * Write and read the data of this object from a stream for the purpose
-     * of serialization using the [BOOST serialization
-     * library](https://www.boost.org/doc/libs/1_74_0/libs/serialization/doc/index.html).
-     */
-    template <typename Archive>
-    void
-    serialize(Archive &ar, const unsigned int version);
-
-    /**
-     * Attempt to perform an operation between two incompatible vector types.
-     *
-     * @ingroup Exceptions
-     */
-    DeclException0(ExcVectorTypeNotCompatible);
-
-  private:
-    // Make all other ReadWriteVector types friends.
-    template <typename Number2>
-    friend class Vector;
-  };
-
-  /** @} */
-  /*--------------------------- Inline functions ----------------------------*/
-
-  template <typename Number>
-  inline Vector<Number>::Vector(const Vector<Number> &V)
-    : ReadWriteVector<Number>(V)
-  {}
-
-
-
-  template <typename Number>
-  inline Vector<Number>::Vector(const size_type n)
-    : ReadWriteVector<Number>(n)
-  {}
-
-
-
-  template <typename Number>
-  template <typename InputIterator>
-  inline Vector<Number>::Vector(const InputIterator first,
-                                const InputIterator last)
-  {
-    this->reinit(complete_index_set(std::distance(first, last)), true);
-    std::copy(first, last, this->begin());
-  }
-
-
-
-  template <typename Number>
-  inline typename Vector<Number>::size_type
-  Vector<Number>::size() const
-  {
-    return ReadWriteVector<Number>::size();
-  }
-
-
-
-  template <typename Number>
-  inline dealii::IndexSet
-  Vector<Number>::locally_owned_elements() const
-  {
-    return IndexSet(ReadWriteVector<Number>::get_stored_elements());
-  }
-
-
-
-  template <typename Number>
-  inline void
-  Vector<Number>::print(std::ostream &     out,
-                        const unsigned int precision,
-                        const bool         scientific,
-                        const bool) const
-  {
-    ReadWriteVector<Number>::print(out, precision, scientific);
-  }
-
-
-
-  template <typename Number>
-  template <typename Archive>
-  inline void
-  Vector<Number>::serialize(Archive &ar, const unsigned int)
-  {
-    size_type current_size = this->size();
-    ar &static_cast<Subscriptor &>(*this);
-    ar &this->stored_elements;
-    // If necessary, resize the vector during a read operation
-    if (this->size() != current_size)
-      this->reinit(this->size());
-    ar &boost::serialization::make_array(this->values.get(), this->size());
-  }
-
-
-
-  template <typename Number>
-  inline std::size_t
-  Vector<Number>::memory_consumption() const
-  {
-    return ReadWriteVector<Number>::memory_consumption();
-  }
-} // end of namespace LinearAlgebra
-
-
-/**
- * Declare dealii::LinearAlgebra::Vector as serial vector.
- */
-template <typename Number>
-struct is_serial_vector<LinearAlgebra::Vector<Number>> : std::true_type
-{};
-
-#ifndef DOXYGEN
-/*----------------------- Inline functions ----------------------------------*/
-
-namespace LinearAlgebra
-{
-  template <typename Number>
-  inline bool
-  Vector<Number>::has_ghost_elements() const
-  {
-    return false;
-  }
-} // namespace LinearAlgebra
-
-#endif
-
-
-DEAL_II_NAMESPACE_CLOSE
-
-#ifdef DEAL_II_MSVC
-#  include <deal.II/lac/la_vector.templates.h>
-#endif
-
-#endif
diff --git a/include/deal.II/lac/la_vector.templates.h b/include/deal.II/lac/la_vector.templates.h
deleted file mode 100644 (file)
index e620d65..0000000
+++ /dev/null
@@ -1,633 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2015 - 2023 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#ifndef dealii_la_vector_templates_h
-#define dealii_la_vector_templates_h
-
-#include <deal.II/base/config.h>
-
-#include <deal.II/lac/la_vector.h>
-#include <deal.II/lac/vector_operation.h>
-#include <deal.II/lac/vector_operations_internal.h>
-
-#include <boost/io/ios_state.hpp>
-
-#include <iomanip>
-#include <iostream>
-#include <limits>
-
-DEAL_II_NAMESPACE_OPEN
-
-namespace LinearAlgebra
-{
-  template <typename Number>
-  void
-  Vector<Number>::reinit(const size_type size, const bool omit_zeroing_entries)
-  {
-    ReadWriteVector<Number>::reinit(size, omit_zeroing_entries);
-  }
-
-
-
-  template <typename Number>
-  template <typename Number2>
-  void
-  Vector<Number>::reinit(const ReadWriteVector<Number2> &in_vector,
-                         const bool                      omit_zeroing_entries)
-  {
-    ReadWriteVector<Number>::reinit(in_vector, omit_zeroing_entries);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::reinit(const IndexSet &locally_stored_indices,
-                         const bool      omit_zeroing_entries)
-  {
-    ReadWriteVector<Number>::reinit(locally_stored_indices,
-                                    omit_zeroing_entries);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::reinit(const VectorSpaceVector<Number> &V,
-                         const bool                       omit_zeroing_entries)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-
-    ReadWriteVector<Number>::reinit(down_V, omit_zeroing_entries);
-  }
-
-
-
-  template <typename Number>
-  Vector<Number> &
-  Vector<Number>::operator=(const Vector<Number> &in_vector)
-  {
-    if (PointerComparison::equal(this, &in_vector))
-      return *this;
-
-    this->thread_loop_partitioner = in_vector.thread_loop_partitioner;
-    if (this->size() != in_vector.size())
-      this->reinit(in_vector, true);
-
-    dealii::internal::VectorOperations::Vector_copy<Number, Number> copier(
-      in_vector.values.get(), this->values.get());
-    dealii::internal::VectorOperations::parallel_for(
-      copier,
-      static_cast<size_type>(0),
-      this->size(),
-      this->thread_loop_partitioner);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  template <typename Number2>
-  Vector<Number> &
-  Vector<Number>::operator=(const Vector<Number2> &in_vector)
-  {
-    this->thread_loop_partitioner = in_vector.thread_loop_partitioner;
-    if (this->size() != in_vector.size())
-      ReadWriteVector<Number>::reinit(in_vector, true);
-
-    dealii::internal::VectorOperations::Vector_copy<Number, Number2> copier(
-      in_vector.values.get(), this->values.get());
-    dealii::internal::VectorOperations::parallel_for(
-      copier,
-      static_cast<size_type>(0),
-      this->size(),
-      this->thread_loop_partitioner);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  Vector<Number> &
-  Vector<Number>::operator=(const Number s)
-  {
-    Assert(s == static_cast<Number>(0),
-           ExcMessage("Only 0 can be assigned to a vector."));
-    (void)s;
-
-    dealii::internal::VectorOperations::Vector_set<Number> setter(
-      Number(), this->values.get());
-    dealii::internal::VectorOperations::parallel_for(
-      setter, 0, this->size(), this->thread_loop_partitioner);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  Vector<Number> &
-  Vector<Number>::operator*=(const Number factor)
-  {
-    AssertIsFinite(factor);
-
-    dealii::internal::VectorOperations::Vectorization_multiply_factor<Number>
-      vector_multiply(this->values.get(), factor);
-    dealii::internal::VectorOperations::parallel_for(
-      vector_multiply,
-      static_cast<size_type>(0),
-      this->size(),
-      this->thread_loop_partitioner);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  Vector<Number> &
-  Vector<Number>::operator/=(const Number factor)
-  {
-    AssertIsFinite(factor);
-    Assert(factor != Number(0.), ExcZero());
-    this->operator*=(Number(1.) / factor);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  Vector<Number> &
-  Vector<Number>::operator+=(const VectorSpaceVector<Number> &V)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    Assert(down_V.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-
-    dealii::internal::VectorOperations::Vectorization_add_v<Number> vector_add(
-      this->values.get(), down_V.values.get());
-    dealii::internal::VectorOperations::parallel_for(
-      vector_add, 0, this->size(), this->thread_loop_partitioner);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  Vector<Number> &
-  Vector<Number>::operator-=(const VectorSpaceVector<Number> &V)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    Assert(down_V.size() == this->size(),
-           ExcMessage(
-             "Cannot subtract two vectors with different numbers of elements"));
-    dealii::internal::VectorOperations::Vectorization_subtract_v<Number>
-      vector_subtract(this->values.get(), down_V.values.get());
-    dealii::internal::VectorOperations::parallel_for(
-      vector_subtract, 0, this->size(), this->thread_loop_partitioner);
-
-    return *this;
-  }
-
-
-
-  template <typename Number>
-  Number
-  Vector<Number>::operator*(const VectorSpaceVector<Number> &V) const
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    Assert(down_V.size() == this->size(),
-           ExcMessage("Cannot compute the scalar product "
-                      "of two vectors with different numbers of elements"));
-    Number                                                  sum;
-    dealii::internal::VectorOperations::Dot<Number, Number> dot(
-      this->values.get(), down_V.values.get());
-    dealii::internal::VectorOperations::parallel_reduce(
-      dot, 0, this->size(), sum, this->thread_loop_partitioner);
-
-    return sum;
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::import_elements(
-    const ReadWriteVector<Number> &,
-    VectorOperation::values,
-    std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>)
-  {
-    AssertThrow(false, ExcMessage("This function is not implemented."));
-  }
-
-
-
-  template <typename Number>
-  inline void
-  Vector<Number>::add(const Number a)
-  {
-    AssertIsFinite(a);
-
-    dealii::internal::VectorOperations::Vectorization_add_factor<Number>
-      vector_add(this->values.get(), a);
-    dealii::internal::VectorOperations::parallel_for(
-      vector_add, 0, this->size(), this->thread_loop_partitioner);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::add(const Number a, const VectorSpaceVector<Number> &V)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    AssertIsFinite(a);
-    Assert(down_V.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-
-    dealii::internal::VectorOperations::Vectorization_add_av<Number>
-      vector_add_av(this->values.get(), down_V.values.get(), a);
-    dealii::internal::VectorOperations::parallel_for(
-      vector_add_av, 0, this->size(), this->thread_loop_partitioner);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::add(const Number                     a,
-                      const VectorSpaceVector<Number> &V,
-                      const Number                     b,
-                      const VectorSpaceVector<Number> &W)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&W) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    // Downcast W. If fails, throws an exception.
-    const Vector<Number> &down_W = dynamic_cast<const Vector<Number> &>(W);
-    AssertIsFinite(a);
-    Assert(down_V.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-    AssertIsFinite(b);
-    Assert(down_W.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-
-    dealii::internal::VectorOperations::Vectorization_add_avpbw<Number>
-      vector_add(
-        this->values.get(), down_V.values.get(), down_W.values.get(), a, b);
-    dealii::internal::VectorOperations::parallel_for(
-      vector_add, 0, this->size(), this->thread_loop_partitioner);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::sadd(const Number                     s,
-                       const Number                     a,
-                       const VectorSpaceVector<Number> &V)
-  {
-    AssertIsFinite(s);
-    AssertIsFinite(a);
-
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. It fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    dealii::internal::VectorOperations::Vectorization_sadd_xav<Number>
-      vector_sadd_xav(this->values.get(), down_V.values.get(), a, s);
-    dealii::internal::VectorOperations::parallel_for(
-      vector_sadd_xav, 0, this->size(), this->thread_loop_partitioner);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::scale(const VectorSpaceVector<Number> &scaling_factors)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&scaling_factors) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast scaling_factors. If fails, throws an exception.
-    const Vector<Number> &down_scaling_factors =
-      dynamic_cast<const Vector<Number> &>(scaling_factors);
-    Assert(down_scaling_factors.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-
-    dealii::internal::VectorOperations::Vectorization_scale<Number>
-      vector_scale(this->values.get(), down_scaling_factors.values.get());
-    dealii::internal::VectorOperations::parallel_for(
-      vector_scale, 0, this->size(), this->thread_loop_partitioner);
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::equ(const Number a, const VectorSpaceVector<Number> &V)
-  {
-    AssertIsFinite(a);
-
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    dealii::internal::VectorOperations::Vectorization_equ_au<Number> vector_equ(
-      this->values.get(), down_V.values.get(), a);
-    dealii::internal::VectorOperations::parallel_for(
-      vector_equ, 0, this->size(), this->thread_loop_partitioner);
-  }
-
-
-
-  template <typename Number>
-  bool
-  Vector<Number>::all_zero() const
-  {
-    Assert(this->size(), ExcEmptyObject());
-
-    const size_type size = this->size();
-    for (size_type i = 0; i < size; ++i)
-      if (this->values[i] != Number())
-        return false;
-
-    return true;
-  }
-
-
-
-  template <typename Number>
-  typename Vector<Number>::value_type
-  Vector<Number>::mean_value() const
-  {
-    Assert(this->size(), ExcEmptyObject());
-
-    using real_type = typename VectorSpaceVector<Number>::real_type;
-    value_type                                            sum;
-    dealii::internal::VectorOperations::MeanValue<Number> mean_value(
-      this->values.get());
-    dealii::internal::VectorOperations::parallel_reduce(
-      mean_value, 0, this->size(), sum, this->thread_loop_partitioner);
-
-    return sum / static_cast<real_type>(this->size());
-  }
-
-
-
-  template <typename Number>
-  typename VectorSpaceVector<Number>::real_type
-  Vector<Number>::l1_norm() const
-  {
-    Assert(this->size(), ExcEmptyObject());
-
-    using real_type = typename VectorSpaceVector<Number>::real_type;
-    real_type                                                    sum;
-    dealii::internal::VectorOperations::Norm1<Number, real_type> norm1(
-      this->values.get());
-    dealii::internal::VectorOperations::parallel_reduce(
-      norm1, 0, this->size(), sum, this->thread_loop_partitioner);
-
-    return sum;
-  }
-
-
-
-  template <typename Number>
-  typename VectorSpaceVector<Number>::real_type
-  Vector<Number>::l2_norm() const
-  {
-    Assert(this->size(), ExcEmptyObject());
-
-    // if l2_norm()^2 is finite and non-zero, the answer is computed as
-    // std::sqrt(norm_sqr()). If norm_sqrt() is infinite or zero, the l2 norm
-    // might still be finite. In that case, recompute ig (this is a rare case,
-    // so working on the vector twice is uncritical and paid off by the extended
-    // precision) using the BLAS approach with a weight, see e.g. dnrm2.f.
-    using real_type = typename VectorSpaceVector<Number>::real_type;
-    real_type                                                    norm_square;
-    dealii::internal::VectorOperations::Norm2<Number, real_type> norm2(
-      this->values.get());
-    dealii::internal::VectorOperations::parallel_reduce(
-      norm2, 0, this->size(), norm_square, this->thread_loop_partitioner);
-    if (numbers::is_finite(norm_square) &&
-        norm_square >= std::numeric_limits<real_type>::min())
-      return std::sqrt(norm_square);
-    else
-      {
-        real_type       scale = 0.;
-        real_type       sum   = 1.;
-        const size_type size  = this->size();
-        for (size_type i = 0; i < size; ++i)
-          {
-            if (this->values[i] != Number())
-              {
-                const real_type abs_x =
-                  numbers::NumberTraits<Number>::abs(this->values[i]);
-                if (scale < abs_x)
-                  {
-                    sum   = 1. + sum * (scale / abs_x) * (scale / abs_x);
-                    scale = abs_x;
-                  }
-                else
-                  sum += (abs_x / scale) * (abs_x / scale);
-              }
-          }
-        AssertIsFinite(scale * std::sqrt(sum));
-        return scale * std::sqrt(sum);
-      }
-  }
-
-
-
-  template <typename Number>
-  typename VectorSpaceVector<Number>::real_type
-  Vector<Number>::linfty_norm() const
-  {
-    typename ReadWriteVector<Number>::real_type norm = 0.;
-    const size_type                             size = this->size();
-    for (size_type i = 0; i < size; ++i)
-      norm = std::max(std::abs(this->values[i]), norm);
-
-    return norm;
-  }
-
-
-
-  template <typename Number>
-  Number
-  Vector<Number>::add_and_dot(const Number                     a,
-                              const VectorSpaceVector<Number> &V,
-                              const VectorSpaceVector<Number> &W)
-  {
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&V) != nullptr,
-           ExcVectorTypeNotCompatible());
-    // Check that casting will work.
-    Assert(dynamic_cast<const Vector<Number> *>(&W) != nullptr,
-           ExcVectorTypeNotCompatible());
-
-    // Downcast V. If fails, throws an exception.
-    const Vector<Number> &down_V = dynamic_cast<const Vector<Number> &>(V);
-    // Downcast W. If fails, throws an exception.
-    const Vector<Number> &down_W = dynamic_cast<const Vector<Number> &>(W);
-    AssertIsFinite(a);
-    Assert(down_V.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-    Assert(down_W.size() == this->size(),
-           ExcMessage(
-             "Cannot add two vectors with different numbers of elements"));
-
-    Number                                                sum;
-    dealii::internal::VectorOperations::AddAndDot<Number> adder(
-      this->values.get(), down_V.values.get(), down_W.values.get(), a);
-    dealii::internal::VectorOperations::parallel_reduce(
-      adder, 0, this->size(), sum, this->thread_loop_partitioner);
-    AssertIsFinite(sum);
-
-    return sum;
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::print_as_numpy_array(std::ostream &     out,
-                                       const unsigned int precision) const
-  {
-    AssertThrow(out.fail() == false, ExcIO());
-    boost::io::ios_flags_saver restore_flags(out);
-
-    out.precision(precision);
-
-    const unsigned int n_elements = this->locally_owned_size();
-    for (unsigned int i = 0; i < n_elements; ++i)
-      out << this->values[i] << ' ';
-    out << '\n' << std::flush;
-
-    AssertThrow(out.fail() == false, ExcIO());
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::block_write(std::ostream &out) const
-  {
-    AssertThrow(out.fail() == false, ExcIO());
-
-    // Other version of the following
-    //  out << size() << std::endl << '[';
-    // Reason: operator<< seems to use some resources that lead to problems in
-    // a multithreaded environment.  We convert the size index to
-    // unsigned long long int that is at least 64 bits to be able to output it
-    // on all platforms, since std::uint64_t is not in C.
-    const unsigned long long int sz = this->size();
-    char                         buf[16];
-
-    std::sprintf(buf, "%llu", sz);
-    std::strcat(buf, "\n[");
-
-    out.write(buf, std::strlen(buf));
-    out.write(reinterpret_cast<const char *>(this->begin()),
-              reinterpret_cast<const char *>(this->end()) -
-                reinterpret_cast<const char *>(this->begin()));
-
-    // out << ']';
-    const char outro = ']';
-    out.write(&outro, 1);
-
-    AssertThrow(out.fail() == false, ExcIO());
-  }
-
-
-
-  template <typename Number>
-  void
-  Vector<Number>::block_read(std::istream &in)
-  {
-    AssertThrow(in.fail() == false, ExcIO());
-
-    size_type sz;
-
-    char buf[16];
-
-    in.getline(buf, 16, '\n');
-    sz = std::atoi(buf);
-    ReadWriteVector<Number>::reinit(sz, true);
-
-    char c;
-    // in >> c;
-    in.read(&c, 1);
-    AssertThrow(c == '[', ExcIO());
-
-    in.read(reinterpret_cast<char *>(this->begin()),
-            reinterpret_cast<const char *>(this->end()) -
-              reinterpret_cast<const char *>(this->begin()));
-
-    // in >> c;
-    in.read(&c, 1);
-    AssertThrow(c == ']', ExcIO());
-  }
-} // namespace LinearAlgebra
-
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
index f25ddb3761dec57c5ba42172aa6cb931b884f627..c1c9f7376c9d96cc81f4600bce47788b5746ca29 100644 (file)
@@ -318,35 +318,6 @@ namespace LinearAlgebra
       import_elements(V, operation, communication_pattern);
     }
 
-    /**
-     * Imports all the elements present in the vector's IndexSet from the
-     * input vector @p vec. VectorOperation::values @p operation
-     * is used to decide if the elements in @p V should be added to the
-     * current vector or replace the current elements.
-     *
-     * @note The parameter @p communication_pattern is ignored since we are
-     *   dealing with a serial vector here.
-     */
-    void
-    import_elements(
-      const LinearAlgebra::Vector<Number> &vec,
-      VectorOperation::values              operation,
-      const std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
-        &communication_pattern = {});
-
-    /**
-     * @deprecated Use import_elements() instead.
-     */
-    DEAL_II_DEPRECATED
-    void
-    import(const LinearAlgebra::Vector<Number> &V,
-           VectorOperation::values              operation,
-           const std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
-             &communication_pattern = {})
-    {
-      import_elements(V, operation, communication_pattern);
-    }
-
     /**
      * Imports all the elements present in the vector's IndexSet from the
      * input vector @p vec. VectorOperation::values @p operation
index 1115317bd8e4bffc171d9234825f82854e9cfba9..95f71b08624625703b92e8d8edd0e7646bb4fc73 100644 (file)
@@ -23,7 +23,6 @@
 
 #include <deal.II/lac/exceptions.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/read_write_vector.h>
 #include <deal.II/lac/vector.h>
 #include <deal.II/lac/vector_operations_internal.h>
@@ -462,21 +461,6 @@ namespace LinearAlgebra
 
 
 
-  template <typename Number>
-  void
-  ReadWriteVector<Number>::import_elements(
-    const LinearAlgebra::Vector<Number> &vec,
-    VectorOperation::values              operation,
-    const std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
-      &communication_pattern)
-  {
-    (void)communication_pattern;
-
-    internal::import_serial_vector(vec, operation, *this);
-  }
-
-
-
   template <typename Number>
   template <typename MemorySpace>
   void
index 5e00839ce96d784fc9452329c747908018d85220..2b5e66c5001fef4a931e20c617b3b9f9ecc452ec 100644 (file)
@@ -42,7 +42,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index ef889cad47416152e02514b6efb6b00d0afab3c9..9bc533ab823496355db7fd8f0f46536f4da31a90 100644 (file)
@@ -23,7 +23,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index a141943d35a00eeaf9804c69300466e9cde657d0..42e24dad1edc81985ccce7605b9a464f51e7cdfc 100644 (file)
@@ -29,7 +29,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 04c94d3b330025b2e8b5afe11e9ee859efae7879..668258d07c3f847be38d7f77fb9d6708dbe61606 100644 (file)
@@ -33,7 +33,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 361c77f13c7d5101b068f712014568e537908871..e2e32ed693aed125a763433ab1d62f062ce04214 100644 (file)
@@ -26,7 +26,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index f2049e6616c0d6183f7b1006521c8e816b9cecc5..2ed9a2fbb52188388286b674c1b76638acd35985 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index ad5b43de6e37f9a529c61a22c755ba5256eae0e4..ff8cbd12ea839f49daa2245d9f16e5e0aefc9bb2 100644 (file)
@@ -24,7 +24,6 @@
 #include <deal.II/lac/dynamic_sparsity_pattern.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/precondition.h>
index 3188043bdbbd58e9630544d30045df1c0bff666b..5aec03788eda5d40165d3c5004cfb1ac7c16fe24 100644 (file)
@@ -23,7 +23,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index ac417a848bc3462a44da628be62e2936308b7b04..6f8e7dd791360f5106a65702c3c7523a01bca04d 100644 (file)
@@ -28,7 +28,6 @@
 #  include <deal.II/lac/block_vector.h>
 #  include <deal.II/lac/la_parallel_block_vector.h>
 #  include <deal.II/lac/la_parallel_vector.h>
-#  include <deal.II/lac/la_vector.h>
 #  include <deal.II/lac/petsc_block_vector.h>
 #  include <deal.II/lac/petsc_vector.h>
 #  include <deal.II/lac/trilinos_parallel_block_vector.h>
index c052a682489d95637997f61ddd990d459b1bb0f3..378a9844b36e307296d41399026c71cf6c1be3ea 100644 (file)
@@ -23,7 +23,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 3f4ba90765c205ddc3650aa379c03425bf80be6d..2e831058367904d344742172ce3ff533cf39e4f1 100644 (file)
@@ -18,7 +18,6 @@
 #include <deal.II/base/mpi_noncontiguous_partitioner.templates.h>
 
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 
 #include <boost/serialization/utility.hpp>
 
index a414969a05962784109f222634970d87a804a4cb..7cba5ffc1affd234337511f18b850d6d08d27b7c 100644 (file)
@@ -25,7 +25,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/sparse_matrix.h>
index d5396ae9e1364d6deb76967a7d368e79bb137be7..3ca8d4f04f82520d666bde99822cb7ca57a053e1 100644 (file)
@@ -25,7 +25,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/sparse_matrix.h>
@@ -81,9 +80,6 @@ namespace internal
                  dealii::Vector<typename VectorType::value_type>>::value ||
     std::is_same<VectorType,
                  dealii::BlockVector<typename VectorType::value_type>>::value ||
-    std::is_same<
-      VectorType,
-      dealii::LinearAlgebra::Vector<typename VectorType::value_type>>::value ||
     std::is_same<VectorType,
                  dealii::LinearAlgebra::distributed::Vector<
                    typename VectorType::value_type>>::value ||
index 2de9bf96e8476c962a31ee59c34eca8b3e5211c7..86b90ae75c18e17b16f8fc88070875154585d974 100644 (file)
@@ -37,7 +37,6 @@
 #include <deal.II/lac/full_matrix.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index 4f24bec6bb91dafe134d781975d83832ab3e0895..fa8e7dea278b499b7be3ca2af200ded5bc041798 100644 (file)
@@ -25,7 +25,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 61aaf0b0c5a758cd1cf0b5c752ddb0c1aabe86ac..598fd70a7452a1278318a370be001bfa43df15b8 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/fe/mapping_q_cache.h>
 
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_vector.h>
 
index b28588e378b29dcb06c0ae19543dd73155750d15..9e3653d264d2a0bf555f93b63a49e2d2eff20cff 100644 (file)
@@ -28,7 +28,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index f376386727600dba456dc8e493e449d52fbfc523..a3a8a5331523e1f8acf05c1b4be7f84edd56dfcb 100644 (file)
@@ -24,7 +24,6 @@ set(_unity_include_src
   dynamic_sparsity_pattern.cc
   exceptions.cc
   scalapack.cc
-  la_vector.cc
   la_parallel_vector.cc
   la_parallel_block_vector.cc
   matrix_out.cc
@@ -74,7 +73,6 @@ set(_inst
   chunk_sparse_matrix.inst.in
   full_matrix.inst.in
   lapack_full_matrix.inst.in
-  la_vector.inst.in
   la_parallel_vector.inst.in
   la_parallel_block_vector.inst.in
   precondition_block.inst.in
index f3bf2a9365af566f70ea4e2f5eb0a6849f109b49..855f4af5debd219e9c660d1af2fa98be7790da47 100644 (file)
@@ -265,19 +265,6 @@ for (S : COMPLEX_SCALARS; T : DEAL_II_VEC_TEMPLATES)
       const;
   }
 
-for (S : REAL_AND_COMPLEX_SCALARS)
-  {
-    template void AffineConstraints<S>::distribute<LinearAlgebra::Vector<S>>(
-      LinearAlgebra::Vector<S> &) const;
-  }
-
-for (S : COMPLEX_SCALARS)
-  {
-    template void
-    AffineConstraints<S::value_type>::distribute<LinearAlgebra::Vector<S>>(
-      LinearAlgebra::Vector<S> &) const;
-  }
-
 for (V : EXTERNAL_PARALLEL_VECTORS)
   {
     template void AffineConstraints<V::value_type>::distribute<V>(V &) const;
diff --git a/source/lac/la_vector.cc b/source/lac/la_vector.cc
deleted file mode 100644 (file)
index d677224..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2015 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#include <deal.II/lac/la_vector.templates.h>
-
-DEAL_II_NAMESPACE_OPEN
-
-// disable instantiation for MSVC for now because of a compiler bug,
-// see https://github.com/dealii/dealii/issues/2875
-#ifndef DEAL_II_MSVC
-
-namespace LinearAlgebra
-{
-#  include "la_vector.inst"
-
-  // do a few functions that currently don't fit the scheme because they have
-  // two template arguments that need to be different (the case of same
-  // arguments is covered by the default copy constructor and copy operator that
-  // is declared separately)
-
-#  define TEMPL_COPY_CONSTRUCTOR(S1, S2) \
-    template Vector<S1> &Vector<S1>::operator=<S2>(const Vector<S2> &)
-
-  TEMPL_COPY_CONSTRUCTOR(double, float);
-  TEMPL_COPY_CONSTRUCTOR(float, double);
-
-#  ifdef DEAL_II_WITH_COMPLEX_VALUES
-  TEMPL_COPY_CONSTRUCTOR(std::complex<double>, std::complex<float>);
-  TEMPL_COPY_CONSTRUCTOR(std::complex<float>, std::complex<double>);
-#  endif
-
-#  undef TEMPL_COPY_CONSTRUCTOR
-} // namespace LinearAlgebra
-
-#endif // ! DEAL_II_MSVC
-
-DEAL_II_NAMESPACE_CLOSE
diff --git a/source/lac/la_vector.inst.in b/source/lac/la_vector.inst.in
deleted file mode 100644 (file)
index 96acaff..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 1999 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-
-for (SCALAR : REAL_SCALARS)
-  {
-    template class Vector<SCALAR>;
-  }
-
-
-
-for (SCALAR : COMPLEX_SCALARS)
-  {
-    template class Vector<SCALAR>;
-  }
index 4194163d9c8bdd7a62b83b1d97fe7a16589b8ea2..ad01d98affcf43842ea808752f2261c34d84b3f8 100644 (file)
@@ -17,7 +17,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/solver.h>
index d1225748814072829ea6b358949c1be8a2ba565e..dd72832d500366fde280b0dfc99edca6d4655719 100644 (file)
@@ -16,7 +16,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index b2b444942cce0f81b22960475a213e7317a3b47e..ff2a94647945db24d12fbd70906cc0636ef92494 100644 (file)
@@ -17,7 +17,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 2cb5c6b3d02a2c642d44f1ca341a90946ecddea3..ec5904ae3f4cbde5eede2b495b55f5f95cd40bd0 100644 (file)
@@ -16,7 +16,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 1e51506b1751b4e489a023a21af5241bc9a08844..52973d7601e455d70caceb6c56043522e386a6a9 100644 (file)
@@ -17,7 +17,6 @@
 #include <deal.II/lac/block_sparse_matrix.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/sparse_matrix.h>
index cfced4aa53d99c68058ab5a60afa1975cf261c8b..8ddf9bbe5afb12c4e7aea620010ac2715a96c04e 100644 (file)
@@ -19,7 +19,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index b1b0edabb33fea845329f17325b2f39b76d9b6d8..78b1dfb2ffca78370760f85dfdce30a98910d43f 100644 (file)
@@ -24,7 +24,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index f0863b01891eb7405be3d1797512e646c1880ba8..ff4b2f7f2e0e50e1711f8dede2afc8578adae674 100644 (file)
@@ -20,7 +20,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index 79b9a37ec89ae692c9749bb7ff412796a2b56d3e..d562e41a79ad38f98ad4792322d7e4b8186460d6 100644 (file)
@@ -16,7 +16,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index 2c0b422197146065cba5c49e0a4b4055d94cd28b..4ce957b4331b79c98fa58ce4f6241ad3fd9d6256 100644 (file)
@@ -16,7 +16,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index a2a1311d6ad366d1d8c9a6fa4f033dc6b4935f03..3dbf96334ba45e9542b2c16e53fda007b55f78e9 100644 (file)
@@ -16,7 +16,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index 565a9284a85798d14166d3fe8a618bb459f84d6e..691489c76d3f0c93a2432624182d16de7741c388 100644 (file)
@@ -37,7 +37,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index ad37af9768fa5b7f3d03ba1b78d6ae701ffb97bb..d8de292af5d7b1367b36ed8acbd18a0c709a9b7f 100644 (file)
@@ -20,7 +20,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index ef13297851ce423ac1e1aa8a484f70e1b3d6484e..f8bb40ab6f8309e5c442d1bb01c44faf3bdda37d 100644 (file)
@@ -37,7 +37,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 1498019454c37cc6a8a0dcdfc0a4c5752ec8876c..c645cc8d85e4ca2d4f69c71050fe022789d4b641 100644 (file)
@@ -20,7 +20,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index cbb5f920053e39ee9e7bf0f03efd0ebf8ecfadea..6c553644fa3240c05a503092ab76da0ee4584461 100644 (file)
@@ -18,7 +18,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index 8b484ba01e6349ba3ec99a3a208cf13db480b771..7f4b22076f06f468668adf03ed7c5817a0d18b90 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
index 74bffa4ec32da60a8ed3c07ea57ab88a3f0128cf..fd34a4a954047088154923a506f8f5f156681492 100644 (file)
@@ -30,7 +30,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_parallel_block_vector.h>
index fecae8af5d971e679a14ca38d050d33bba38e38e..910bdbee91712ca35230b2b380203c7ab42d2fdd 100644 (file)
 #  include <deal.II/lac/block_vector.h>
 #  include <deal.II/lac/la_parallel_block_vector.h>
 #  include <deal.II/lac/la_parallel_vector.h>
-#  include <deal.II/lac/la_vector.h>
 #  include <deal.II/lac/petsc_block_vector.h>
 #  include <deal.II/lac/petsc_vector.h>
+#  include <deal.II/lac/trilinos_epetra_vector.h>
 #  include <deal.II/lac/trilinos_parallel_block_vector.h>
+#  include <deal.II/lac/trilinos_tpetra_vector.h>
 #  include <deal.II/lac/trilinos_vector.h>
+#  include <deal.II/lac/vector.h>
 #  include <deal.II/lac/vector_memory.h>
 
 #  include <deal.II/trilinos/nox.templates.h>
diff --git a/tests/lac/la_vector_accumulation_01.cc b/tests/lac/la_vector_accumulation_01.cc
deleted file mode 100644 (file)
index 135b187..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-// check that the l2 norm is exactly the same for many runs on random vector
-// size with random vector entries. this is to ensure that the result is
-// reproducible also when parallel evaluation is done
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-
-template <typename number>
-void
-check_norms()
-{
-  for (unsigned int test = 0; test < 20; ++test)
-    {
-      const unsigned int            size = Testing::rand() % 100000;
-      LinearAlgebra::Vector<number> vec(size);
-      for (unsigned int i = 0; i < size; ++i)
-        vec(i) = random_value<number>();
-      const typename LinearAlgebra::ReadWriteVector<number>::real_type norm =
-        vec.l2_norm();
-      for (unsigned int i = 0; i < 30; ++i)
-        AssertThrow(vec.l2_norm() == norm, ExcInternalError());
-
-      LinearAlgebra::Vector<number> vec2(vec);
-      for (unsigned int i = 0; i < 10; ++i)
-        AssertThrow(vec2.l2_norm() == norm, ExcInternalError());
-    }
-}
-
-
-int
-main()
-{
-  std::ofstream logfile("output");
-  deallog << std::fixed;
-  deallog << std::setprecision(2);
-  deallog.attach(logfile);
-
-  check_norms<float>();
-  check_norms<double>();
-#ifdef DEAL_II_WITH_COMPLEX_VALUES
-  check_norms<std::complex<double>>();
-#endif
-  deallog << "OK" << std::endl;
-}
diff --git a/tests/lac/la_vector_accumulation_01.output b/tests/lac/la_vector_accumulation_01.output
deleted file mode 100644 (file)
index 0fd8fc1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-DEAL::OK
diff --git a/tests/lac/la_vector_add_and_dot.cc b/tests/lac/la_vector_add_and_dot.cc
deleted file mode 100644 (file)
index 15e89e0..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2022 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-// check that LinearAlgebra::Vector::add_and_dot works correctly
-
-#include <deal.II/base/numbers.h>
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-
-template <typename number>
-void
-check()
-{
-  for (unsigned int test = 0; test < 5; ++test)
-    {
-      const unsigned int            size = 17 + test * 1101;
-      LinearAlgebra::Vector<number> v1(size), v2(size), v3(size), check(size);
-      // Check that the assignment works
-      v1 = 0.;
-      for (unsigned int i = 0; i < size; ++i)
-        {
-          v1[i] = 0.1 + 0.005 * i;
-          v2[i] = -5.2 + 0.18 * i;
-          v3[i] = numbers::PI + numbers::E / (1. + i);
-        }
-      check               = v1;
-      const number factor = 0.01432;
-
-      v1.add(factor, v2);
-      const number prod       = v1 * v3;
-      const number prod_check = check.add_and_dot(factor, v2, v3);
-      if (test == 0 && std::is_same<number, double>::value)
-        {
-          deallog << "Vector add reference:   ";
-          for (unsigned int i = 0; i < size; ++i)
-            deallog << v1[i] << ' ';
-          deallog << std::endl;
-          deallog << "Vector check reference: ";
-          for (unsigned int i = 0; i < size; ++i)
-            deallog << check[i] << ' ';
-          deallog << std::endl;
-
-          const number constant = 1.;
-          v1.add(constant);
-          deallog << "Vector add constant:    ";
-          for (unsigned int i = 0; i < size; ++i)
-            deallog << v1[i] << ' ';
-          deallog << std::endl;
-        }
-
-      deallog << "Add and dot is ";
-      if (std::abs(prod - prod_check) <
-          4. *
-            std::abs(
-              std::numeric_limits<
-                typename numbers::NumberTraits<number>::real_type>::epsilon()) *
-            std::sqrt(static_cast<double>(size)) * size)
-        deallog << "correct" << std::endl;
-      else
-        deallog << "wrong; should be " << prod / static_cast<number>(size)
-                << ", is " << prod_check / static_cast<number>(size)
-                << std::endl;
-    }
-}
-
-
-int
-main()
-{
-  std::ofstream logfile("output");
-  deallog << std::fixed;
-  deallog << std::setprecision(10);
-  deallog.attach(logfile);
-
-  check<float>();
-  check<double>();
-#ifdef DEAL_II_WITH_COMPLEX_VALUES
-  check<std::complex<double>>();
-#endif
-  deallog << "OK" << std::endl;
-}
diff --git a/tests/lac/la_vector_add_and_dot.with_complex_values=false.output b/tests/lac/la_vector_add_and_dot.with_complex_values=false.output
deleted file mode 100644 (file)
index 00200f3..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Vector add reference:   0.0255360000 0.0331136000 0.0406912000 0.0482688000 0.0558464000 0.0634240000 0.0710016000 0.0785792000 0.0861568000 0.0937344000 0.1013120000 0.1088896000 0.1164672000 0.1240448000 0.1316224000 0.1392000000 0.1467776000 
-DEAL::Vector check reference: 0.0255360000 0.0331136000 0.0406912000 0.0482688000 0.0558464000 0.0634240000 0.0710016000 0.0785792000 0.0861568000 0.0937344000 0.1013120000 0.1088896000 0.1164672000 0.1240448000 0.1316224000 0.1392000000 0.1467776000 
-DEAL::Vector add constant:    1.0255360000 1.0331136000 1.0406912000 1.0482688000 1.0558464000 1.0634240000 1.0710016000 1.0785792000 1.0861568000 1.0937344000 1.1013120000 1.1088896000 1.1164672000 1.1240448000 1.1316224000 1.1392000000 1.1467776000 
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::OK
diff --git a/tests/lac/la_vector_add_and_dot.with_complex_values=true.output b/tests/lac/la_vector_add_and_dot.with_complex_values=true.output
deleted file mode 100644 (file)
index 8ae2aba..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Vector add reference:   0.0255360000 0.0331136000 0.0406912000 0.0482688000 0.0558464000 0.0634240000 0.0710016000 0.0785792000 0.0861568000 0.0937344000 0.1013120000 0.1088896000 0.1164672000 0.1240448000 0.1316224000 0.1392000000 0.1467776000 
-DEAL::Vector check reference: 0.0255360000 0.0331136000 0.0406912000 0.0482688000 0.0558464000 0.0634240000 0.0710016000 0.0785792000 0.0861568000 0.0937344000 0.1013120000 0.1088896000 0.1164672000 0.1240448000 0.1316224000 0.1392000000 0.1467776000 
-DEAL::Vector add constant:    1.0255360000 1.0331136000 1.0406912000 1.0482688000 1.0558464000 1.0634240000 1.0710016000 1.0785792000 1.0861568000 1.0937344000 1.1013120000 1.1088896000 1.1164672000 1.1240448000 1.1316224000 1.1392000000 1.1467776000 
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::OK
diff --git a/tests/lac/la_vector_add_and_dot_complex.cc b/tests/lac/la_vector_add_and_dot_complex.cc
deleted file mode 100644 (file)
index f826c50..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2021 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-// check that LinearAlgebra::Vector::add_and_dot works correctly for
-// complex-valued vectors
-
-#include <deal.II/base/numbers.h>
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-
-template <typename number>
-void
-check()
-{
-  for (unsigned int test = 0; test < 5; ++test)
-    {
-      const unsigned int                          size = 17 + test * 1101;
-      LinearAlgebra::Vector<std::complex<number>> v1(size), v2(size), v3(size),
-        check(size);
-      for (unsigned int i = 0; i < size; ++i)
-        {
-          v1(i) = std::complex<number>(0.1 + 0.005 * i, 1.234 + 12 * i);
-          v2(i) = std::complex<number>(-5.2 + 0.18 * i, 42.4242 + 42 * i);
-          v3(i) =
-            std::complex<number>(numbers::PI + numbers::E / (1. + i), 13.);
-        }
-      check                             = v1;
-      const std::complex<number> factor = std::complex<number>(0.01432);
-
-      // do things by hand once
-      v1.add(factor, v2);
-      const std::complex<number> prod = v1 * v3;
-
-      // then do it a second time with the add_and_dot function
-      const std::complex<number> prod_check = check.add_and_dot(factor, v2, v3);
-      if (test == 0 && std::is_same<number, double>::value)
-        {
-          deallog << "Vector add reference:   ";
-          v1.print(deallog.get_file_stream());
-          deallog << std::endl;
-          deallog << "Vector check reference: ";
-          check.print(deallog.get_file_stream());
-          deallog << std::endl;
-        }
-
-      deallog << "Add and dot is ";
-      // check tolerance with respect to the expected size of result which is
-      // ~ size^2 including the roundoff error ~ sqrt(size) we expect
-      const number tolerance = 4. * std::numeric_limits<number>::epsilon() *
-                               std::sqrt(static_cast<number>(size)) * size *
-                               size;
-      if (std::abs(prod - prod_check) < tolerance)
-        deallog << "correct" << std::endl;
-      else
-        deallog << "wrong by " << std::abs(prod - prod_check)
-                << " with tolerance " << tolerance << "; should be "
-                << prod / static_cast<number>(size) << ", is "
-                << prod_check / static_cast<number>(size) << std::endl;
-    }
-}
-
-
-int
-main()
-{
-  initlog();
-  deallog << std::setprecision(8);
-  check<float>();
-  check<double>();
-  deallog << "OK" << std::endl;
-}
diff --git a/tests/lac/la_vector_add_and_dot_complex.with_complex_values=on.output b/tests/lac/la_vector_add_and_dot_complex.with_complex_values=on.output
deleted file mode 100644 (file)
index 4ce9557..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-IndexSet: {[0,16]}
-
-[0]: (2.554e-02,1.842e+00)
-[1]: (3.311e-02,1.444e+01)
-[2]: (4.069e-02,2.704e+01)
-[3]: (4.827e-02,3.965e+01)
-[4]: (5.585e-02,5.225e+01)
-[5]: (6.342e-02,6.485e+01)
-[6]: (7.100e-02,7.745e+01)
-[7]: (7.858e-02,9.005e+01)
-[8]: (8.616e-02,1.027e+02)
-[9]: (9.373e-02,1.153e+02)
-[10]: (1.013e-01,1.279e+02)
-[11]: (1.089e-01,1.405e+02)
-[12]: (1.165e-01,1.531e+02)
-[13]: (1.240e-01,1.657e+02)
-[14]: (1.316e-01,1.783e+02)
-[15]: (1.392e-01,1.909e+02)
-[16]: (1.468e-01,2.035e+02)
-DEAL::Vector add reference:   
-IndexSet: {[0,16]}
-
-[0]: (2.554e-02,1.842e+00)
-[1]: (3.311e-02,1.444e+01)
-[2]: (4.069e-02,2.704e+01)
-[3]: (4.827e-02,3.965e+01)
-[4]: (5.585e-02,5.225e+01)
-[5]: (6.342e-02,6.485e+01)
-[6]: (7.100e-02,7.745e+01)
-[7]: (7.858e-02,9.005e+01)
-[8]: (8.616e-02,1.027e+02)
-[9]: (9.373e-02,1.153e+02)
-[10]: (1.013e-01,1.279e+02)
-[11]: (1.089e-01,1.405e+02)
-[12]: (1.165e-01,1.531e+02)
-[13]: (1.240e-01,1.657e+02)
-[14]: (1.316e-01,1.783e+02)
-[15]: (1.392e-01,1.909e+02)
-[16]: (1.468e-01,2.035e+02)
-DEAL::Vector check reference: 
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::Add and dot is correct
-DEAL::OK
diff --git a/tests/lac/la_vector_all_zero.cc b/tests/lac/la_vector_all_zero.cc
deleted file mode 100644 (file)
index 8493a3e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2017 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-// Check the function all_zero
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-template <typename Number>
-void
-check_all_zero()
-{
-  LinearAlgebra::Vector<Number> v(10);
-
-  AssertThrow(v.all_zero() == true, ExcInternalError());
-
-  v[0] = 1.;
-  AssertThrow(v.all_zero() == false, ExcInternalError());
-}
-
-int
-main()
-{
-  initlog();
-
-  check_all_zero<float>();
-  check_all_zero<double>();
-
-  deallog << "OK" << std::endl;
-}
diff --git a/tests/lac/la_vector_all_zero.output b/tests/lac/la_vector_all_zero.output
deleted file mode 100644 (file)
index 0fd8fc1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-DEAL::OK
diff --git a/tests/lac/la_vector_large_numbers.cc b/tests/lac/la_vector_large_numbers.cc
deleted file mode 100644 (file)
index 8f3fa31..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-
-#include <deal.II/lac/la_vector.h>
-
-#include <limits>
-
-#include "../tests.h"
-
-
-
-void
-check_large_numbers()
-{
-  LinearAlgebra::Vector<float> v(10);
-  v(0) = 1e13;
-  v(1) = 1e19;
-  v(2) = 1e21;
-  v(4) = 1.;
-  v(7) = 1e20;
-
-  const double correct = std::sqrt(1e26 + 1e38 + 1e42 + 1e40 + 1.);
-  AssertThrow(std::abs(v.l2_norm() - correct) < 1e-6 * correct,
-              ExcInternalError());
-
-  for (unsigned int i = 0; i < v.size(); ++i)
-    v[i] = (float)0.;
-  v(5)                  = 1e-30;
-  v(9)                  = 1e-32;
-  const double correct2 = std::sqrt(1e-60 + 1e-64);
-  AssertThrow(std::abs(v.l2_norm() - correct2) < 1e-6 * correct2,
-              ExcInternalError());
-
-  LinearAlgebra::Vector<double> w(7);
-  w(0)                  = 1e232;
-  w(6)                  = 1e231;
-  w(3)                  = 1e200;
-  const double correct3 = std::sqrt(100. + 1.) * 1e231;
-  AssertThrow(std::abs(w.l2_norm() - correct3) < 1e-13 * correct3,
-              ExcInternalError());
-
-  for (unsigned int i = 0; i < w.size(); ++i)
-    w[i] = (float)0.;
-  w(1)                  = 1e-302;
-  w(2)                  = 1e-303;
-  w(3)                  = 2e-303;
-  w(4)                  = 3e-303;
-  w(5)                  = -1e-303;
-  const double correct4 = std::sqrt(100. + 1. + 4. + 9 + 1.) * 1e-303;
-  AssertThrow(std::abs(w.l2_norm() - correct4) <= 1e-13 * correct4,
-              ExcInternalError());
-
-  deallog << "OK" << std::endl;
-}
-
-
-
-int
-main()
-{
-  std::ofstream logfile("output");
-  deallog << std::fixed;
-  deallog << std::setprecision(2);
-  deallog.attach(logfile);
-
-  check_large_numbers();
-}
diff --git a/tests/lac/la_vector_large_numbers.output b/tests/lac/la_vector_large_numbers.output
deleted file mode 100644 (file)
index 0fd8fc1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-DEAL::OK
diff --git a/tests/lac/la_vector_norms.cc b/tests/lac/la_vector_norms.cc
deleted file mode 100644 (file)
index de0e116..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2021 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-// checks that the l1 and l2 norm are computed correctly for deal.II vectors
-// (check the summation algorithm), including an accuracy test (should not
-// lose more than 1 decimal also for 200000 vector entries)
-
-#include <deal.II/base/numbers.h>
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-
-template <typename number>
-void
-check_norms()
-{
-  const number acc  = 1e1 * std::numeric_limits<number>::epsilon();
-  unsigned int skip = 73;
-  for (unsigned int size = 1; size < 200000; size += skip)
-    {
-      // test correctness
-      if (size > 10000)
-        skip += 17;
-      LinearAlgebra::Vector<number> vec(size);
-      for (unsigned int i = 0; i < size; ++i)
-        vec[i] = i + 1;
-
-      const number l1_norm = vec.l1_norm();
-      AssertThrow(std::abs(l1_norm - 0.5 * size * (size + 1)) <
-                    acc * 0.5 * size * (size + 1),
-                  ExcInternalError());
-
-      // test accuracy of summation
-      constexpr long double value = numbers::PI;
-      for (unsigned int i = 0; i < size; ++i)
-        vec[i] = (number)value;
-      const number l1_norma = vec.l1_norm();
-      AssertThrow(std::abs(l1_norma - value * size) < acc * size * value,
-                  ExcInternalError());
-      const number l2_norma = vec.l2_norm();
-      AssertThrow(std::abs(l2_norma - value * std::sqrt((number)size)) <
-                    acc * std::sqrt(size) * value,
-                  ExcInternalError());
-    }
-}
-
-
-template <typename number>
-void
-check_complex_norms()
-{
-  const number acc  = 1e2 * std::numeric_limits<number>::epsilon();
-  unsigned int skip = 73;
-  for (unsigned int size = 1; size < 100000; size += skip)
-    {
-      // test correctness
-      if (size > 10000)
-        skip += 17;
-      LinearAlgebra::Vector<std::complex<number>> vec(size);
-      long double                                 sum = 0.;
-      for (unsigned int i = 0; i < size; ++i)
-        {
-          vec(i) = std::complex<number>(i + 1, i + 2);
-          sum += std::sqrt((long double)(i + 1) * (i + 1) +
-                           (long double)(i + 2) * (i + 2));
-        }
-
-      const number l1_norm = vec.l1_norm();
-      AssertThrow(std::abs(l1_norm - sum) < acc * sum, ExcInternalError());
-
-      // test accuracy of summation
-      constexpr std::complex<long double> value(numbers::PI, 0.1);
-      for (unsigned int i = 0; i < size; ++i)
-        vec[i] = std::complex<number>(value);
-      const number l1_norma = vec.l1_norm();
-      AssertThrow(std::abs(l1_norma - std::abs(value) * size) <
-                    acc * size * std::abs(value),
-                  ExcInternalError());
-      const number l2_norma = vec.l2_norm();
-      AssertThrow(std::abs(l2_norma -
-                           std::abs(value) * std::sqrt((number)size)) <
-                    acc * std::sqrt((number)size) * std::abs(value),
-                  ExcInternalError());
-    }
-}
-
-
-int
-main()
-{
-  std::ofstream logfile("output");
-  deallog << std::fixed;
-  deallog << std::setprecision(2);
-  deallog.attach(logfile);
-
-  check_norms<float>();
-  check_norms<double>();
-#ifdef DEAL_II_WITH_COMPLEX_VALUES
-  check_complex_norms<double>();
-  check_complex_norms<float>();
-#endif
-  deallog << "OK" << std::endl;
-}
diff --git a/tests/lac/la_vector_norms.output b/tests/lac/la_vector_norms.output
deleted file mode 100644 (file)
index 0fd8fc1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-DEAL::OK
diff --git a/tests/lac/la_vector_output.cc b/tests/lac/la_vector_output.cc
deleted file mode 100644 (file)
index 652b1ac..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2012 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-#include <deal.II/lac/la_vector.h>
-
-#include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/text_oarchive.hpp>
-
-#include <string>
-
-#include "../tests.h"
-
-
-void
-test()
-{
-  const char *                  filename = "test.txt";
-  const unsigned int            size(10);
-  LinearAlgebra::Vector<double> vec(size);
-  for (unsigned int i = 0; i < size; ++i)
-    vec[i] = i;
-
-  // Check block_write and block_read
-  std::ofstream file_out(filename);
-  // Write the vector in the file
-  vec.block_write(file_out);
-  file_out.close();
-  // Clear the vector
-  vec.reinit(0);
-  // Load the vector form the file
-  std::ifstream file_in(filename);
-  vec.block_read(file_in);
-  file_in.close();
-  // Check the vector
-  double eps = 1e-12;
-  for (unsigned int i = 0; i < size; ++i)
-    AssertThrow(
-      std::abs(vec[i] - (double)i) < eps,
-      ExcMessage(
-        "Value in the vector has been changed by block_write or block_read"));
-
-
-  // save data to archive
-  {
-    std::ofstream                 file_out2(filename);
-    boost::archive::text_oarchive oa(file_out2);
-    oa << vec;
-    // archive and stream closed when destructors are called
-  }
-
-  // Clear the vector
-  vec.reinit(0);
-  {
-    std::ifstream                 file_in2(filename);
-    boost::archive::text_iarchive ia(file_in2);
-    ia >> vec;
-  }
-  // Check the vector
-  for (unsigned int i = 0; i < size; ++i)
-    AssertThrow(std::abs(vec[i] - (double)i) < eps,
-                ExcMessage(
-                  "Value in the vector has been changed by boost archive"));
-}
-
-
-int
-main()
-{
-  std::ofstream logfile("output");
-  deallog << std::fixed;
-  deallog << std::setprecision(2);
-  deallog.attach(logfile);
-
-  test();
-
-  deallog << "OK" << std::endl;
-}
diff --git a/tests/lac/la_vector_output.output b/tests/lac/la_vector_output.output
deleted file mode 100644 (file)
index 0fd8fc1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-DEAL::OK
diff --git a/tests/lac/la_vector_print.cc b/tests/lac/la_vector_print.cc
deleted file mode 100644 (file)
index 0062327..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2019 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-// Check that print_as_numpy_array works
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-template <typename number>
-void
-print_vector()
-{
-  const unsigned int            size = 20;
-  LinearAlgebra::Vector<number> vec(size);
-  for (unsigned int i = 0; i < size; ++i)
-    vec(i) = static_cast<number>(i);
-
-  vec.print_as_numpy_array(deallog.get_file_stream());
-}
-
-
-int
-main()
-{
-  initlog();
-
-  print_vector<float>();
-  print_vector<double>();
-}
diff --git a/tests/lac/la_vector_print.output b/tests/lac/la_vector_print.output
deleted file mode 100644 (file)
index 8468fc4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-0.00000000 1.00000000 2.00000000 3.00000000 4.00000000 5.00000000 6.00000000 7.00000000 8.00000000 9.00000000 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000 16.0000000 17.0000000 18.0000000 19.0000000
-0.00000000 1.00000000 2.00000000 3.00000000 4.00000000 5.00000000 6.00000000 7.00000000 8.00000000 9.00000000 10.0000000 11.0000000 12.0000000 13.0000000 14.0000000 15.0000000 16.0000000 17.0000000 18.0000000 19.0000000
diff --git a/tests/lac/la_vector_vector.cc b/tests/lac/la_vector_vector.cc
deleted file mode 100644 (file)
index 00306a9..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 1998 - 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-
-
-#include <deal.II/lac/la_vector.h>
-
-#include "../tests.h"
-
-
-
-const unsigned int N           = 10;
-unsigned int       check_point = 0;
-
-
-
-template <typename number>
-void
-print(const LinearAlgebra::Vector<number> &v)
-{
-  for (unsigned int i = 0; i < v.size(); ++i)
-    deallog << v(i) << '\t';
-  deallog << std::endl;
-}
-
-
-
-template <typename number1, typename number2>
-void
-check_vectors(LinearAlgebra::Vector<number1> &d1,
-              LinearAlgebra::Vector<number2> &d2)
-{
-  deallog << "Fill & Swap" << std::endl;
-  LinearAlgebra::Vector<number1> d3(d1.size());
-  print(d3);
-
-  for (unsigned int i = 0; i < N; ++i)
-    {
-      d1(i) = 2. * i;
-      d2(i) = .5 * d1(i) * d1(i);
-      d3(i) = 2. - .5 * i;
-    };
-
-  print(d1);
-  print(d2);
-  print(d3);
-
-  swap(d1, d2);
-  print(d1);
-
-  d1 = d2;
-  print(d1);
-
-  for (unsigned int i = 0; i < N; ++i)
-    d1[i] = 2.5;
-  print(d1);
-
-  // initialize with iterators
-  number1                        array[] = {0.0, 1.1, 2.2, 3.3};
-  LinearAlgebra::Vector<number1> d4(&array[0], &array[4]);
-  print(d4);
-
-  deallog << "Extract number" << std::endl;
-  // Each line should contain two equal numbers
-  double sum = 0.;
-  for (unsigned int i = 0; i < N; ++i)
-    sum += 4. * i - i * i;
-  deallog << d3 * d2 << '\t' << sum << std::endl;
-
-  sum = 0.;
-  for (unsigned int i = 0; i < N; ++i)
-    sum += 4. * i * i;
-  sum = std::sqrt(sum);
-  deallog << d2.l2_norm() << '\t' << sum << std::endl;
-
-  sum = 0.;
-  for (unsigned int i = 0; i < N; ++i)
-    sum += std::fabs(2. - .5 * i);
-  deallog << d3.l1_norm() << '\t' << sum << std::endl;
-
-  sum = 0.;
-  for (unsigned int i = 0; i < N; ++i)
-    {
-      double t = std::fabs(2. - .5 * i);
-      if (t > sum)
-        sum = t;
-    }
-  deallog << d3.linfty_norm() << '\t' << sum << std::endl;
-
-  deallog << "add & sub" << std::endl;
-
-  d1 += d2;
-  print(d1);
-
-  d2 -= d1;
-  print(d2);
-
-  d1.add(2, d3);
-  print(d1);
-
-  d1.add(2., d2, .5, d3);
-  print(d1);
-
-  deallog << "sadd & scale" << std::endl;
-
-  d2.sadd(2., 1., d1);
-  print(d2);
-
-  d2.sadd(2., .5, d1);
-  print(d2);
-
-  d1 *= 4.;
-  print(d1);
-
-  deallog << "equ" << std::endl;
-
-  d2.equ(.25, d1);
-  print(d2);
-}
-
-
-int
-main()
-{
-  std::ofstream logfile("output");
-  deallog << std::fixed;
-  deallog << std::setprecision(2);
-  deallog.attach(logfile);
-
-  LinearAlgebra::Vector<double> d1(N), d2(N);
-  LinearAlgebra::Vector<float>  f1(N), f2(N);
-
-  // cross-tests with double/float
-  // vectors at the same time are not
-  // supported at present,
-  // unfortunately, as many functions
-  // don't accept other data types as
-  // arguments
-  check_vectors(d1, d2);
-  check_vectors(f1, f2);
-}
diff --git a/tests/lac/la_vector_vector.output b/tests/lac/la_vector_vector.output
deleted file mode 100644 (file)
index 201372c..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-
-DEAL::Fill & Swap
-DEAL::0        0       0       0       0       0       0       0       0       0       
-DEAL::0        2.00    4.00    6.00    8.00    10.00   12.00   14.00   16.00   18.00   
-DEAL::0        2.00    8.00    18.00   32.00   50.00   72.00   98.00   128.00  162.00  
-DEAL::2.00     1.50    1.00    0.50    0       -0.50   -1.00   -1.50   -2.00   -2.50   
-DEAL::0        2.00    8.00    18.00   32.00   50.00   72.00   98.00   128.00  162.00  
-DEAL::0        2.00    4.00    6.00    8.00    10.00   12.00   14.00   16.00   18.00   
-DEAL::2.50     2.50    2.50    2.50    2.50    2.50    2.50    2.50    2.50    2.50    
-DEAL::0        1.10    2.20    3.30    
-DEAL::Extract number
-DEAL::-105.00  -105.00
-DEAL::33.76    33.76
-DEAL::12.50    12.50
-DEAL::2.50     2.50
-DEAL::add & sub
-DEAL::2.50     4.50    6.50    8.50    10.50   12.50   14.50   16.50   18.50   20.50   
-DEAL::-2.50    -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   
-DEAL::6.50     7.50    8.50    9.50    10.50   11.50   12.50   13.50   14.50   15.50   
-DEAL::2.50     3.25    4.00    4.75    5.50    6.25    7.00    7.75    8.50    9.25    
-DEAL::sadd & scale
-DEAL::-2.50    -1.75   -1.00   -0.25   0.50    1.25    2.00    2.75    3.50    4.25    
-DEAL::-3.75    -1.88   0       1.88    3.75    5.62    7.50    9.38    11.25   13.12   
-DEAL::10.00    13.00   16.00   19.00   22.00   25.00   28.00   31.00   34.00   37.00   
-DEAL::equ
-DEAL::2.50     3.25    4.00    4.75    5.50    6.25    7.00    7.75    8.50    9.25    
-DEAL::Fill & Swap
-DEAL::0.00     0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    
-DEAL::0.00     2.00    4.00    6.00    8.00    10.00   12.00   14.00   16.00   18.00   
-DEAL::0.00     2.00    8.00    18.00   32.00   50.00   72.00   98.00   128.00  162.00  
-DEAL::2.00     1.50    1.00    0.50    0.00    -0.50   -1.00   -1.50   -2.00   -2.50   
-DEAL::0.00     2.00    8.00    18.00   32.00   50.00   72.00   98.00   128.00  162.00  
-DEAL::0.00     2.00    4.00    6.00    8.00    10.00   12.00   14.00   16.00   18.00   
-DEAL::2.50     2.50    2.50    2.50    2.50    2.50    2.50    2.50    2.50    2.50    
-DEAL::0.00     1.10    2.20    3.30    
-DEAL::Extract number
-DEAL::-105.00  -105.00
-DEAL::33.76    33.76
-DEAL::12.50    12.50
-DEAL::2.50     2.50
-DEAL::add & sub
-DEAL::2.50     4.50    6.50    8.50    10.50   12.50   14.50   16.50   18.50   20.50   
-DEAL::-2.50    -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   -2.50   
-DEAL::6.50     7.50    8.50    9.50    10.50   11.50   12.50   13.50   14.50   15.50   
-DEAL::2.50     3.25    4.00    4.75    5.50    6.25    7.00    7.75    8.50    9.25    
-DEAL::sadd & scale
-DEAL::-2.50    -1.75   -1.00   -0.25   0.50    1.25    2.00    2.75    3.50    4.25    
-DEAL::-3.75    -1.88   0.00    1.88    3.75    5.62    7.50    9.38    11.25   13.12   
-DEAL::10.00    13.00   16.00   19.00   22.00   25.00   28.00   31.00   34.00   37.00   
-DEAL::equ
-DEAL::2.50     3.25    4.00    4.75    5.50    6.25    7.00    7.75    8.50    9.25    
index e620f34e55ac3e10892b15f24aad5d9b7f860d0d..6b32239a05ce4269bc4ea5901bb376282cc33f68 100644 (file)
@@ -20,7 +20,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/vector.h>
 
 #include "../tests.h"
@@ -59,25 +58,6 @@ test()
   deallog << "OK" << std::endl << std::endl;
 
 
-  // make sure that is_serial_vector< dealii::LinearAlgebra::Vector<Number> > is
-  // working
-  Assert(is_serial_vector<dealii::LinearAlgebra::Vector<double>>::value == true,
-         ExcInternalError());
-
-  deallog << is_serial_vector<dealii::LinearAlgebra::Vector<float>>::value
-          << std::endl;
-  deallog << is_serial_vector<dealii::LinearAlgebra::Vector<double>>::value
-          << std::endl;
-
-  deallog << is_serial_vector<
-               dealii::LinearAlgebra::Vector<std::complex<float>>>::value
-          << std::endl;
-  deallog << is_serial_vector<
-               dealii::LinearAlgebra::Vector<std::complex<double>>>::value
-          << std::endl;
-
-  deallog << "OK" << std::endl << std::endl;
-
   // make sure that dealii::LinearAlgebra::distributed::Vector<Number> > is
   // working
   Assert(is_serial_vector<
index 9aaeb307e4c912573e14486d028a2524b85d28ce..7af8a43f964b806b29d87a8931c2ae6269a932c3 100644 (file)
@@ -13,12 +13,6 @@ DEAL::1
 DEAL::1
 DEAL::OK
 DEAL::
-DEAL::1
-DEAL::1
-DEAL::1
-DEAL::1
-DEAL::OK
-DEAL::
 DEAL::0
 DEAL::0
 DEAL::0
index ea35366c19c33ef88f0eededc3ca5d9e72efa9cc..902e540fffb0e13e42a6180b1a17b4e56c60786a 100644 (file)
@@ -22,8 +22,6 @@
 
 #include <deal.II/grid/grid_generator.h>
 
-#include <deal.II/lac/la_vector.h>
-
 #include <deal.II/matrix_free/fe_evaluation.h>
 #include <deal.II/matrix_free/matrix_free.h>
 
@@ -59,7 +57,7 @@ test(const unsigned int n_refinements, const unsigned int geometry_type)
 {
   using VectorizedArrayType = VectorizedArray<Number>;
 
-  using VectorType = LinearAlgebra::Vector<Number>;
+  using VectorType = Vector<Number>;
 
   Triangulation<dim> tria;
 
index 5606b61b39c297c7e2077a05ce1f99402609ecc6..aa0ba12f4cae00a2abc8ba2eac82b0efccd494f2 100644 (file)
@@ -20,7 +20,6 @@
 
 #include <deal.II/lac/la_parallel_block_vector.h>
 #include <deal.II/lac/la_parallel_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/petsc_block_vector.h>
 #include <deal.II/lac/petsc_vector.h>
 #include <deal.II/lac/trilinos_epetra_vector.h>
@@ -151,7 +150,6 @@ main(int argc, char *argv[])
 
   // non-block vectors:
   check_serial<Vector<double>>();
-  check_serial<LinearAlgebra::Vector<double>>();
 
   check_unghosted_parallel<LinearAlgebra::EpetraWrappers::Vector>();
   check_unghosted_parallel<LinearAlgebra::TpetraWrappers::Vector<double>>();
index 91e505e0aacbf4c8cceb40e7de31da9d690f5f50..0c169bf2355108f967d35aa27ba32b4c241855b0 100644 (file)
@@ -2,9 +2,6 @@
 DEAL:0::type: dealii::Vector<double>
 DEAL:0::local size: 4
 DEAL:0::size: 4
-DEAL:0::type: dealii::LinearAlgebra::Vector<double>
-DEAL:0::local size: 4
-DEAL:0::size: 4
 DEAL:0::type: dealii::LinearAlgebra::EpetraWrappers::Vector
 DEAL:0::index set size: 4
 DEAL:0::local size: 4
@@ -38,9 +35,6 @@ DEAL:0::size: 32
 DEAL:1::type: dealii::Vector<double>
 DEAL:1::local size: 4
 DEAL:1::size: 4
-DEAL:1::type: dealii::LinearAlgebra::Vector<double>
-DEAL:1::local size: 4
-DEAL:1::size: 4
 DEAL:1::type: dealii::LinearAlgebra::EpetraWrappers::Vector
 DEAL:1::index set size: 4
 DEAL:1::local size: 4
@@ -75,9 +69,6 @@ DEAL:1::size: 32
 DEAL:2::type: dealii::Vector<double>
 DEAL:2::local size: 4
 DEAL:2::size: 4
-DEAL:2::type: dealii::LinearAlgebra::Vector<double>
-DEAL:2::local size: 4
-DEAL:2::size: 4
 DEAL:2::type: dealii::LinearAlgebra::EpetraWrappers::Vector
 DEAL:2::index set size: 4
 DEAL:2::local size: 4
@@ -112,9 +103,6 @@ DEAL:2::size: 32
 DEAL:3::type: dealii::Vector<double>
 DEAL:3::local size: 4
 DEAL:3::size: 4
-DEAL:3::type: dealii::LinearAlgebra::Vector<double>
-DEAL:3::local size: 4
-DEAL:3::size: 4
 DEAL:3::type: dealii::LinearAlgebra::EpetraWrappers::Vector
 DEAL:3::index set size: 4
 DEAL:3::local size: 4
index ac92f0c703c4910203658066a67e9bc64282f36e..9a32c328fa3ebb504fce02415d3e7b614698a113 100644 (file)
@@ -18,7 +18,6 @@
 // check VectorTools::subtract_mean_value() for deal.II serial vectors
 
 #include <deal.II/lac/block_vector.h>
-#include <deal.II/lac/la_vector.h>
 #include <deal.II/lac/vector.h>
 
 #include <deal.II/numerics/vector_tools.h>
@@ -75,16 +74,6 @@ main()
         BlockVector<float> v(std::vector<types::global_dof_index>(1, 10));
         test(v);
       }
-
-      {
-        LinearAlgebra::Vector<double> v(10);
-        test(v);
-      }
-
-      {
-        LinearAlgebra::Vector<float> v(10);
-        test(v);
-      }
     }
   catch (const std::exception &exc)
     {
index 0aa61ff573b91e6ae8d4a06474a0678fa9ec448f..5f42bb230f11ca6753755403100d254e31356269 100644 (file)
@@ -3,5 +3,3 @@ DEAL::OK
 DEAL::OK
 DEAL::OK
 DEAL::OK
-DEAL::OK
-DEAL::OK
index 100bbdd5534276ceb6d3c2e7642ebac1f57cd5a7..9a650556798fab8c74b8423f770374270903e813 100644 (file)
@@ -25,8 +25,6 @@
 #include <deal.II/grid/filtered_iterator.h>
 #include <deal.II/grid/grid_generator.h>
 
-#include <deal.II/lac/la_vector.h>
-
 #include <deal.II/numerics/vector_tools_evaluate.h>
 
 #include "../tests.h"
index d9f9b82f7942988a3e312f9a1490874ba3f59173..ea0b1bddaaca680ba06f799bf2576d890f6ec53b 100644 (file)
@@ -28,8 +28,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/grid/grid_tools_cache.h>
 
-#include <deal.II/lac/la_vector.h>
-
 #include <deal.II/numerics/vector_tools_evaluate.h>
 
 #include "../tests.h"
index ee6c2865e72088eadd3681171e62a113280e49b1..589530a332db0dbd160977aa2284df2206b5fe86 100644 (file)
@@ -25,8 +25,6 @@
 
 #include <deal.II/grid/grid_generator.h>
 
-#include <deal.II/lac/la_vector.h>
-
 #include <deal.II/numerics/vector_tools_evaluate.h>
 
 #include "../tests.h"
index 3c99dc4b7be152624ab71c0983016b69a7956c88..f59431a2e538833787934ab24177bf65ddcd47ac 100644 (file)
@@ -25,8 +25,6 @@
 
 #include <deal.II/grid/grid_generator.h>
 
-#include <deal.II/lac/la_vector.h>
-
 #include <deal.II/numerics/vector_tools_evaluate.h>
 
 #include "../tests.h"

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.