]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove some of the deprecated functions in SparsityPattern.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 22 Jan 2015 14:53:54 +0000 (08:53 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Sat, 24 Jan 2015 04:46:44 +0000 (22:46 -0600)
doc/news/changes.h
include/deal.II/lac/sparsity_pattern.h
source/lac/sparsity_pattern.cc
tests/bits/sparse_matrix_01a.cc
tests/umfpack/umfpack_08.cc
tests/umfpack/umfpack_09.cc
tests/umfpack/umfpack_11.cc

index d8e1bff1ec2ab21f50345fbae5f8d1ede79facb7..af1f2c4ba43b60f184aeecc53f41a14b9cb4c8fc 100644 (file)
@@ -150,7 +150,7 @@ inconvenience this causes.
   - Vector::scale.
   - TrilinosWrappers::*Vector*::compress with an Epetra_CombineMode
     argument
-  - ChunkSparsityPattern functions that take an
+  - SparsityPattern and ChunkSparsityPattern functions that take an
     <code>optimize_diagonal</code> argument.
   <br>
   This release also removes the deprecated class MGDoFHandler. The
@@ -176,7 +176,7 @@ inconvenience this causes.
     same function with the <code>level</code> argument for each
     of the levels of the triangulation individually.
   <br>
-  (Wolfgang Bangerth, 2014/12/29-2015/01/11)
+  (Wolfgang Bangerth, 2014/12/29-2015/01/22)
   </li>
 
   <li> Removed: The config.h file no longer exports HAVE_* definitions.
index c5dd1aa0fd2c713481a00aef6784049a4acfe557..a528322d6bfbd2d90a08f6667c5257c6f79d0c1d 100644 (file)
@@ -980,214 +980,6 @@ public:
    */
 // @{
 
-  /**
-   * Initialize a rectangular matrix.
-   *
-   * @arg m number of rows @arg n number of columns @arg max_per_row maximum
-   * number of nonzero entries per row @arg optimize_diagonal This parameter
-   * is ignored.
-   *
-   * @deprecated Use the constructor without the last argument since it is
-   * ignored.
-   */
-  SparsityPattern (const size_type m,
-                   const size_type n,
-                   const unsigned int max_per_row,
-                   const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-  /**
-   * Initialize a rectangular matrix.
-   *
-   * @arg m number of rows @arg n number of columns @arg row_lengths possible
-   * number of nonzero entries for each row.  This vector must have one entry
-   * for each row. @arg optimize_diagonal This argument is ignored.
-   *
-   * @deprecated Use the constructor without the last argument since it is
-   * ignored.
-   */
-  SparsityPattern (const size_type               m,
-                   const size_type               n,
-                   const std::vector<unsigned int> &row_lengths,
-                   const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-  /**
-   * Initialize a quadratic matrix.
-   *
-   * @arg m number of rows and columns @arg row_lengths possible number of
-   * nonzero entries for each row.  This vector must have one entry for each
-   * row. @arg optimize_diagonal This argument is ignored.
-   *
-   * @deprecated Use the constructor without the last argument since it is
-   * ignored.
-   */
-  SparsityPattern (const size_type               m,
-                   const std::vector<unsigned int> &row_lengths,
-                   const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-
-  /**
-   * Reallocate memory for a matrix of size <tt>m x n</tt>. The number of
-   * entries for each row is taken from the array <tt>row_lengths</tt> which
-   * has to give this number of each row <tt>i=1...m</tt>.
-   *
-   * If <tt>m*n==0</tt> all memory is freed, resulting in a total
-   * reinitialization of the object. If it is nonzero, new memory is only
-   * allocated if the new size extends the old one. This is done to save time
-   * and to avoid fragmentation of the heap.
-   *
-   * If the number of rows equals the number of columns and the last parameter
-   * is true, diagonal elements are stored first in each row to allow
-   * optimized access in relaxation methods of SparseMatrix.
-   *
-   * @deprecated The last argument of this function is ignored. Use the
-   * version of this function without the last argument.
-   */
-  void reinit (const size_type               m,
-               const size_type               n,
-               const std::vector<unsigned int> &row_lengths,
-               const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-
-  /**
-   * Same as above, but with a VectorSlice argument instead.
-   *
-   * @deprecated The last argument of this function is ignored. Use the
-   * version of this function without the last argument.
-   */
-  void reinit (const size_type                                   m,
-               const size_type                                   n,
-               const VectorSlice<const std::vector<unsigned int> > &row_lengths,
-               const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-  /**
-   * Reallocate memory and set up data structures for a new matrix with <tt>m
-   * </tt>rows and <tt>n</tt> columns, with at most <tt>max_per_row</tt>
-   * nonzero entries per row.
-   *
-   * This function simply maps its operations to the other <tt>reinit</tt>
-   * function.
-   *
-   * @deprecated The last argument of this function is ignored. Use the
-   * version of this function without the last argument.
-   */
-  void reinit (const size_type m,
-               const size_type n,
-               const unsigned int max_per_row,
-               const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-  /**
-   * This function can be used as a replacement for reinit(), subsequent calls
-   * to add() and a final call to close() if you know exactly in advance the
-   * entries that will form the matrix sparsity pattern.
-   *
-   * The first two parameters determine the size of the matrix. For the two
-   * last ones, note that a sparse matrix can be described by a sequence of
-   * rows, each of which is represented by a sequence of pairs of column
-   * indices and values. In the present context, the begin() and end()
-   * parameters designate iterators (of forward iterator type) into a
-   * container, one representing one row. The distance between begin() and
-   * end() should therefore be equal to n_rows(). These iterators may be
-   * iterators of <tt>std::vector</tt>, <tt>std::list</tt>, pointers into a
-   * C-style array, or any other iterator satisfying the requirements of a
-   * forward iterator. The objects pointed to by these iterators (i.e. what we
-   * get after applying <tt>operator*</tt> or <tt>operator-></tt> to one of
-   * these iterators) must be a container itself that provides functions
-   * <tt>begin</tt> and <tt>end</tt> designating a range of iterators that
-   * describe the contents of one line. Dereferencing these inner iterators
-   * must either yield a pair of an unsigned integer as column index and a
-   * value of arbitrary type (such a type would be used if we wanted to
-   * describe a sparse matrix with one such object), or simply an unsigned
-   * integer (of we only wanted to describe a sparsity pattern). The function
-   * is able to determine itself whether an unsigned integer or a pair is what
-   * we get after dereferencing the inner iterators, through some template
-   * magic.
-   *
-   * While the order of the outer iterators denotes the different rows of the
-   * matrix, the order of the inner iterator denoting the columns does not
-   * matter, as they are sorted internal to this function anyway.
-   *
-   * Since that all sounds very complicated, consider the following example
-   * code, which may be used to fill a sparsity pattern:
-   * @code
-   * std::vector<std::vector<unsigned int> > column_indices (n_rows);
-   * for (unsigned int row=0; row<n_rows; ++row)
-   *         // generate necessary columns in this row
-   *   fill_row (column_indices[row]);
-   *
-   * sparsity.copy_from (n_rows, n_cols,
-   *                     column_indices.begin(),
-   *                     column_indices.end());
-   * @endcode
-   *
-   * Note that this example works since the iterators dereferenced yield
-   * containers with functions <tt>begin</tt> and <tt>end</tt> (namely
-   * <tt>std::vector</tt>s), and the inner iterators dereferenced yield
-   * unsigned integers as column indices. Note that we could have replaced
-   * each of the two <tt>std::vector</tt> occurrences by <tt>std::list</tt>,
-   * and the inner one by <tt>std::set</tt> as well.
-   *
-   * Another example would be as follows, where we initialize a whole matrix,
-   * not only a sparsity pattern:
-   * @code
-   * std::vector<std::map<unsigned int,double> > entries (n_rows);
-   * for (unsigned int row=0; row<n_rows; ++row)
-   *         // generate necessary pairs of columns
-   *         // and corresponding values in this row
-   *   fill_row (entries[row]);
-   *
-   * sparsity.copy_from (n_rows, n_cols,
-   *                     column_indices.begin(),
-   *                     column_indices.end());
-   * matrix.reinit (sparsity);
-   * matrix.copy_from (column_indices.begin(),
-   *                   column_indices.end());
-   * @endcode
-   *
-   * This example works because dereferencing iterators of the inner type
-   * yields a pair of unsigned integers and a value, the first of which we
-   * take as column index. As previously, the outer <tt>std::vector</tt> could
-   * be replaced by <tt>std::list</tt>, and the inner <tt>std::map<unsigned
-   * int,double></tt> could be replaced by <tt>std::vector<std::pair<unsigned
-   * int,double> ></tt>, or a list or set of such pairs, as they all return
-   * iterators that point to such pairs.
-   *
-   * @deprecated The last argument of this function is ignored. Use the
-   * version of this function without the last argument.
-   */
-  template <typename ForwardIterator>
-  void copy_from (const size_type       n_rows,
-                  const size_type       n_cols,
-                  const ForwardIterator begin,
-                  const ForwardIterator end,
-                  const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-  /**
-   * Copy data from an object of type CompressedSparsityPattern,
-   * CompressedSetSparsityPattern or CompressedSimpleSparsityPattern. Previous
-   * content of this object is lost, and the sparsity pattern is in compressed
-   * mode afterwards.
-   *
-   * @deprecated The last argument of this function is ignored. Use the
-   * version of this function without the last argument.
-   */
-  template <typename CompressedSparsityType>
-  void copy_from (const CompressedSparsityType &csp,
-                  const bool optimize_diagonal) DEAL_II_DEPRECATED;
-
-
-  /**
-   * Take a full matrix and use its nonzero entries to generate a sparse
-   * matrix entry pattern for this object.
-   *
-   * Previous content of this object is lost, and the sparsity pattern is in
-   * compressed mode afterwards.
-   *
-   * @deprecated The last argument of this function is ignored. Use the
-   * version of this function without the last argument.
-   */
-  template <typename number>
-  void copy_from (const FullMatrix<number> &matrix,
-                  const bool optimize_diagonal) DEAL_II_DEPRECATED;
 
   /**
    * STL-like iterator with the first entry of row <tt>r</tt>.
@@ -1215,15 +1007,6 @@ public:
    */
   row_iterator row_end (const size_type r) const DEAL_II_DEPRECATED;
 
-  /**
-   * Determine whether the matrix uses the special convention for quadratic
-   * matrices that the diagonal entries are stored first in each row.
-   *
-   * @deprecated The function always returns true if the matrix is square and
-   * false if it is not.
-   */
-  bool optimize_diagonal () const DEAL_II_DEPRECATED;
-
   /**
    * @deprecated This function is deprecated. Use SparsityTools::partition
    * instead.
@@ -1752,14 +1535,6 @@ SparsityPattern::is_compressed () const
 }
 
 
-inline
-bool
-SparsityPattern::optimize_diagonal () const
-{
-  return store_diagonal_first_in_row;
-}
-
-
 inline
 bool
 SparsityPattern::stores_only_added_elements () const
@@ -1920,19 +1695,6 @@ namespace internal
 
 
 
-template <typename ForwardIterator>
-void
-SparsityPattern::copy_from (const size_type       n_rows,
-                            const size_type       n_cols,
-                            const ForwardIterator begin,
-                            const ForwardIterator end,
-                            const bool)
-{
-  copy_from (n_rows, n_cols, begin, end);
-}
-
-
-
 template <typename ForwardIterator>
 void
 SparsityPattern::copy_from (const size_type       n_rows,
index 05331c748a6c4e5d16f2ccf7bd5a2830931aa5ea..3c8282a582b32b9358c3a8b826a614881367a050 100644 (file)
@@ -73,23 +73,6 @@ SparsityPattern::SparsityPattern (const SparsityPattern &s)
 
 
 
-SparsityPattern::SparsityPattern (const size_type m,
-                                  const size_type n,
-                                  const unsigned int max_per_row,
-                                  const bool)
-  :
-  max_dim(0),
-  max_vec_len(0),
-  rowstart(0),
-  colnums(0),
-  compressed(false),
-  store_diagonal_first_in_row(m == n)
-{
-  reinit (m,n,max_per_row);
-}
-
-
-
 SparsityPattern::SparsityPattern (const size_type m,
                                   const size_type n,
                                   const unsigned int max_per_row)
@@ -106,21 +89,6 @@ SparsityPattern::SparsityPattern (const size_type m,
 
 
 
-SparsityPattern::SparsityPattern (const size_type m,
-                                  const size_type n,
-                                  const std::vector<unsigned int> &row_lengths,
-                                  const bool)
-  :
-  max_dim(0),
-  max_vec_len(0),
-  rowstart(0),
-  colnums(0),
-  store_diagonal_first_in_row(m == n)
-{
-  reinit (m, n, row_lengths);
-}
-
-
 SparsityPattern::SparsityPattern (const size_type m,
                                   const size_type n,
                                   const std::vector<unsigned int> &row_lengths)
@@ -149,19 +117,6 @@ SparsityPattern::SparsityPattern (const size_type n,
 
 
 
-SparsityPattern::SparsityPattern (const size_type               m,
-                                  const std::vector<unsigned int> &row_lengths,
-                                  const bool)
-  :
-  max_dim(0),
-  max_vec_len(0),
-  rowstart(0),
-  colnums(0)
-{
-  reinit (m, m, row_lengths);
-}
-
-
 SparsityPattern::SparsityPattern (const size_type               m,
                                   const std::vector<unsigned int> &row_lengths)
   :
@@ -286,19 +241,6 @@ SparsityPattern::operator = (const SparsityPattern &s)
 
 
 
-void
-SparsityPattern::reinit (const size_type m,
-                         const size_type n,
-                         const unsigned int max_per_row,
-                         const bool)
-{
-  // simply map this function to the other @p{reinit} function
-  const std::vector<unsigned int> row_lengths (m, max_per_row);
-  reinit (m, n, row_lengths);
-}
-
-
-
 void
 SparsityPattern::reinit (const size_type m,
                          const size_type n,
@@ -311,17 +253,6 @@ SparsityPattern::reinit (const size_type m,
 
 
 
-void
-SparsityPattern::reinit (const size_type m,
-                         const size_type n,
-                         const VectorSlice<const std::vector<unsigned int> > &row_lengths,
-                         const bool)
-{
-  reinit (m, n, row_lengths);
-}
-
-
-
 void
 SparsityPattern::reinit (const size_type m,
                          const size_type n,
@@ -549,16 +480,6 @@ SparsityPattern::compress ()
 
 
 
-template <typename CSP>
-void
-SparsityPattern::copy_from (const CSP &csp,
-                            const bool)
-{
-  copy_from (csp);
-}
-
-
-
 template <typename CSP>
 void
 SparsityPattern::copy_from (const CSP &csp)
@@ -602,15 +523,6 @@ SparsityPattern::copy_from (const CSP &csp)
 
 
 
-template <typename number>
-void SparsityPattern::copy_from (const FullMatrix<number> &matrix,
-                                 const bool)
-{
-  copy_from (matrix);
-}
-
-
-
 template <typename number>
 void SparsityPattern::copy_from (const FullMatrix<number> &matrix)
 {
@@ -644,17 +556,6 @@ void SparsityPattern::copy_from (const FullMatrix<number> &matrix)
 }
 
 
-void
-SparsityPattern::reinit (const size_type               m,
-                         const size_type               n,
-                         const std::vector<unsigned int> &row_lengths,
-                         const bool)
-{
-  reinit(m, n, make_slice(row_lengths));
-}
-
-
-
 void
 SparsityPattern::reinit (const size_type               m,
                          const size_type               n,
@@ -1073,13 +974,6 @@ partition (const unsigned int         n_partitions,
 
 
 // explicit instantiations
-template void SparsityPattern::copy_from<SparsityPattern> (const SparsityPattern &, bool);
-template void SparsityPattern::copy_from<CompressedSparsityPattern> (const CompressedSparsityPattern &, bool);
-template void SparsityPattern::copy_from<CompressedSetSparsityPattern> (const CompressedSetSparsityPattern &, bool);
-template void SparsityPattern::copy_from<CompressedSimpleSparsityPattern> (const CompressedSimpleSparsityPattern &, bool);
-template void SparsityPattern::copy_from<float> (const FullMatrix<float> &, bool);
-template void SparsityPattern::copy_from<double> (const FullMatrix<double> &, bool);
-
 template void SparsityPattern::copy_from<SparsityPattern> (const SparsityPattern &);
 template void SparsityPattern::copy_from<CompressedSparsityPattern> (const CompressedSparsityPattern &);
 template void SparsityPattern::copy_from<CompressedSetSparsityPattern> (const CompressedSetSparsityPattern &);
index 9412478a3555fda1d7a9f416883fd9b2dafa76e9..009ea05bd5590ecc47524b0080b1b4998cb146a6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2004 - 2014 by the deal.II authors
+// Copyright (C) 2004 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -28,7 +28,7 @@
 
 void test ()
 {
-  SparsityPattern sp (5,5,3,false);
+  SparsityPattern sp (5,5,3);
   for (unsigned int i=0; i<5; ++i)
     for (unsigned int j=0; j<5; ++j)
       if ((i+2*j+1) % 3 == 0)
index b402b106373d59f4d99e9645b96d4dba9973114c..db2e855c9896b278dcd727c6b428fd9f1f571718 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2002 - 2014 by the deal.II authors
+// Copyright (C) 2002 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -74,8 +74,7 @@ void test ()
                                           j!=2 ?
                                           dof_handler.n_dofs()/3 :
                                           dof_handler.n_dofs()-2*(dof_handler.n_dofs()/3),
-                                          dof_handler.max_couplings_between_dofs(),
-                                          false);
+                                          dof_handler.max_couplings_between_dofs());
   sparsity_pattern.collect_sizes();
   DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern);
   sparsity_pattern.compress ();
index 5afcc612a1d0291dc41222ee940bd9565147af93..016f4d85ebe288e61364521a9694be50608290c9 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2002 - 2014 by the deal.II authors
+// Copyright (C) 2002 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -74,8 +74,7 @@ void test ()
                                           j!=2 ?
                                           dof_handler.n_dofs()/3 :
                                           dof_handler.n_dofs()-2*(dof_handler.n_dofs()/3),
-                                          dof_handler.max_couplings_between_dofs(),
-                                          false);
+                                          dof_handler.max_couplings_between_dofs());
   sparsity_pattern.collect_sizes();
   DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern);
   sparsity_pattern.compress ();
index dcf917c28217dbd497d12b16b9326b6a8f9545c3..26a6e76b8ae26bf41bede80698af465a0fcc2fa6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2002 - 2014 by the deal.II authors
+// Copyright (C) 2002 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -75,8 +75,7 @@ void test ()
                                           j!=2 ?
                                           dof_handler.n_dofs()/3 :
                                           dof_handler.n_dofs()-2*(dof_handler.n_dofs()/3),
-                                          dof_handler.max_couplings_between_dofs(),
-                                          false);
+                                          dof_handler.max_couplings_between_dofs());
   sparsity_pattern.collect_sizes();
   DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern);
   sparsity_pattern.compress ();

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.