From c84775573eca0e77e5e86e46c2d114d14a99e35f Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 4 Mar 2008 22:47:34 +0000 Subject: [PATCH] Document quadratic bottleneck induced by data structure git-svn-id: https://svn.dealii.org/trunk@15852 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/include/dofs/dof_constraints.h | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/deal.II/deal.II/include/dofs/dof_constraints.h b/deal.II/deal.II/include/dofs/dof_constraints.h index 0cf61059ee..f68562e45c 100644 --- a/deal.II/deal.II/include/dofs/dof_constraints.h +++ b/deal.II/deal.II/include/dofs/dof_constraints.h @@ -683,6 +683,26 @@ class ConstraintMatrix : public Subscriptor * Same function as above, but * condenses square compressed * sparsity patterns. + * + * Given the data structure used + * by CompressedSparsityPattern, + * this function becomes + * quadratic in the number of + * degrees of freedom for large + * problems and can dominate + * setting up linear systems when + * several hundred thousand or + * millions of unknowns are + * involved and for problems with + * many nonzero elements per row + * (for example for vector-valued + * problems or hp finite + * elements). In this case, it is + * advisable to use the + * CompressedSetSparsityPattern + * class instead, see for example + * @ref step_27 "step-27" and + * @ref step_31 "step-31". */ void condense (CompressedSparsityPattern &sparsity) const; @@ -698,6 +718,26 @@ class ConstraintMatrix : public Subscriptor * Same function as above, but * condenses square compressed * sparsity patterns. + * + * Given the data structure used + * by BlockCompressedSparsityPattern, + * this function becomes + * quadratic in the number of + * degrees of freedom for large + * problems and can dominate + * setting up linear systems when + * several hundred thousand or + * millions of unknowns are + * involved and for problems with + * many nonzero elements per row + * (for example for vector-valued + * problems or hp finite + * elements). In this case, it is + * advisable to use the + * BlockCompressedSetSparsityPattern + * class instead, see for example + * @ref step_27 "step-27" and + * @ref step_31 "step-31". */ void condense (BlockCompressedSparsityPattern &sparsity) const; -- 2.39.5