Skip to content
  1. Mar 17, 2020
  2. Jan 14, 2020
  3. Jan 10, 2020
  4. Dec 10, 2019
  5. Dec 09, 2019
  6. Dec 04, 2019
    • Andreas Klöckner's avatar
      Merge branch 'm2m' into 'master' · ae832346
      Andreas Klöckner authored
      Asymptotically better algorithm for M2M (In both compressed and full)
      
      See merge request !122
      ae832346
    • Isuru Fernando's avatar
      Merge branch 'inducer-m2m-patch-33725' into 'm2m' · 5ebebd34
      Isuru Fernando authored
      Some readability improvements for the new M2M algorithm
      
      See merge request isuruf/sumpy!2
      5ebebd34
    • Andreas Klöckner's avatar
    • Isuru Fernando's avatar
      Fix rscale · af8b7f39
      Isuru Fernando authored
      af8b7f39
    • Isuru Fernando's avatar
      Fix conforming expansions · a125a889
      Isuru Fernando authored
      a125a889
    • Isuru Fernando's avatar
      Asymptotically better algorithm for M2M · 9b917db2
      Isuru Fernando authored
      On master, M2M is $`O(p^2d)`$ for order p and dimension d, but CSE
      reduces this down to $`O(p^{2d-1})`$ sometimes.
      For eg: in Helmholtz 2D, full taylor is $`O(p^{2d-1})`$ and
      HelmholtzConformingTaylor is $`O(p^{2d-1.5})`$.
      
      This commit produces expressions in $`O(p^{2d-1})`$ consistently
      regardless of how good CSE is and $`O(p^{2d-2})`$ for compressed.
      
      The new algorithm uses the observation that M2M coefficients
      have the form in 2D,
      
      $`B_{m, n} = \sum_{i\le m, j\le n} A_{i, j} d_x^i d_y^j \binom{m}{i} \binom{n}{j}`$
      
      and can be rewritten as follows,
      
      Let $`T_{m, n} = \sum_{i\le m} A_{i, n} d_x^i \binom{m}{i}`$.
      
      Then, $`B_{m, n} = \sum_{j\le n} T_{m, j} d_y^j \binom{n}{j}`$
      and $`T_{m, n}`$ are $`p^2`$ number of temporary variables that are
      reused for different M2M coefficients and costs $`p`$ per variable.
      Total cost for calculating $`T_{m, n}`$ is $`p^3`$ and similar for $`B_{m, n}`$
      9b917db2
  7. Dec 02, 2019
  8. Dec 01, 2019
  9. Nov 26, 2019
  10. Nov 18, 2019
  11. Oct 21, 2019
  12. Oct 09, 2019
  13. Oct 08, 2019