From: Wolfgang Bangerth Date: Tue, 4 Mar 2008 22:47:34 +0000 (+0000) Subject: Document quadratic bottleneck induced by data structure X-Git-Tag: v8.0.0~9318 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7118365e7e619383613dbbf75cfb1b1de557e225;p=dealii.git Document quadratic bottleneck induced by data structure git-svn-id: https://svn.dealii.org/trunk@15852 0785d39b-7218-0410-832d-ea1e28bc413d --- 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;