next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
SimplicialMDSplines :: SimplicialMDSplines

SimplicialMDSplines -- splines of mixed degrees and mixed orders of smoothness on simplicial complexes

July 29, 2019: Links to function documentations are broken; file names are reacting adversely with Jekyll rules. Will fix this soon.

Description

This package provides tools for computing the dimension of smooth piecewise polynomial splines over simplicial complexes. In particular, we consider splines spaces of mixed (or non-uniform) degrees and orders of smoothness.

The dimension of uniform degree spline spaces can be computed (or estimated) using the tools of homological algebra developed in the context of splines in the seminal paper of Billera [1]. Building a short exact sequence of chain complexes, [1] showed that the spline space dimension is equal to the dimension of a graded piece of a particular homology module. A modification that improved upon [1] and yielded simpler chain complexes was presented by Schenck and Stillman [2] and used to prove that the dimension formula derived by Schumaker [3] holds in sufficiently high degree. In particular, this demonstrated that the homological algebra approach of the former agrees with the Bernstein–Bezier approach of the latter. These modified chain complexes were further studied, for instance, in [4-6].

This package is meant to accompany the report by Toshniwal and Hughes [7] which generalizes the Schenck-Stillman chain complexes to the case of mixed degree splines or non-uniform degree splines. This package has been derived from ‘AlgebraicSplines’ written by Mike DiPasquale.

[1] L.J. Billera, Homology of smooth splines: Generic triangulations and a conjecture of Strang, Trans. Amer. Math. Soc. 310 (1988).
[2] Hal Schenck and Mike Stillman. Local cohomology of bivariate splines, J. Pure Appl. Algebra 117/118 (1997).
[3] L.L. Schumaker, On the Dimension of Spaces Of Piecewise Polynomials in Two Variables, in: Multivariate Approximation Theory, Birkhäuser, Basel, 1979.
[4] A. Geramita and H. Schenck, Fat points, inverse systems, and piecewise polynomial functions, J. of Algebra 204(1) (1998).
[5] Hal Schenck, A spectral sequence for splines, Adv. in Appl. Math. 19 (1997).
[6] B. Mourrain, N. Villamizar, Homological techniques for the analysis of the dimension of triangular spline spaces, J. of Symb. Comp. 50 (2013).
[7] D. Toshniwal, T.J.R. Hughes, Polynomial splines of non-uniform degree on triangulations: Combinatorial bounds on the dimension, in Computer Aided Geometric Design (2019; to appear).

We reproduce two examples from [7] in the following. The first example (Example 2, [7]) features a triangulation with two isolated interior vertices.

i1 : a = 0;b = 20;
i3 : V = {{0/1,0/1}, {1/1,0/1}, {1/1,1/1}, {0/1,1/1}, {1/4,1/3}, {3/4,2/3}};
i4 : F = {{0,1,4}, {0,3,4}, {1,2,5}, {1,3,5}, {2,3,5}, {1,3,4}};
i5 : E = {{0,4}, {1,4}, {3,4}, {1,5}, {2,5}, {3,5}, {1,3}};
i6 : degD = {3, 3, 0, 1, 0, 2};
i7 : r = {0, 0, 0, 2, 3, 2, 1};
i8 : homologyDimensionTable(a,b,{V,F,{E,r},degD})

     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
o8 = |Degree                   |0|1|2|3|4|5 |6 |7 |8 |9  |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |20 |
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_1(I) (idealsComplex)   |0|0|0|1|5|14|28|47|71|100|134|173|217|266|320|379|443|512|586|665|749|
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_0(I) (-------------)   |0|0|0|0|0|0 |0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_2(C) (cellularComplex) |0|0|0|1|3|6 |10|15|21|28 |36 |45 |55 |66 |78 |91 |105|120|136|153|171|
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_1(C) (---------------) |0|0|0|0|0|0 |0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_0(C) (---------------) |0|0|0|0|0|0 |0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_2(Q) (splineComplex)   |0|0|0|2|8|20|38|62|92|128|170|218|272|332|398|470|548|632|722|818|920|
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_1(Q) (-------------)   |0|0|0|0|0|0 |0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |H_0(Q) (-------------)   |0|0|0|0|0|0 |0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |dim(S) (splineComplex)   |0|0|0|2|8|20|38|62|92|128|170|218|272|332|398|470|548|632|722|818|920|
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |Eul. ch. (-----------)   |0|0|0|2|8|20|38|62|92|128|170|218|272|332|398|470|548|632|722|818|920|
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+
     |dim(M) (splineModule)    |0|0|0|2|8|20|38|62|92|128|170|218|272|332|398|470|548|632|722|818|920|
     +-------------------------+-+-+-+-+-+--+--+--+--+---+---+---+---+---+---+---+---+---+---+---+---+

The second example (Example 3, [7]) features a triangulation with 3 interior vertices that share 3 edges between them. Notice that H0(I) does not have finite length in the mixed degree setting; nevertheless, the dimension of the spline space stabilizes for m ≥5.

i9 : a = 0; b = 20;
i11 : V = {{-230/389,-1637/7625}, {-557/1706,1460/1447}, {-2109/1532,1114/935}, {1406/383,-1309/412}, {4288/2033,655/139}, {-2497/633,-3158/1011}, {-3515/766,2228/561}};
i12 : F = {{0,1,2}, {2,4,6}, {0,1,3}, {1,3,4}, {1,2,4}, {0,2,5}, {2,5,6}, {0,3,5}};
i13 : E = {{0,1}, {1,2}, {0,2}, {2,4}, {2,6}, {1,3}, {0,3}, {1,4}, {2,5}, {0,5}};
i14 : degD = {0, 1, 1, 1, 1, 1, 1, 1};
i15 : r = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
i16 : homologyDimensionTable(a,b,{V,F,{E,r},degD})

      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
o16 = |Degree                   |0|1|2|3|4 |5 |6 |7  |8  |9  |10 |11 |12 |13 |14 |15 |16 |17 |18  |19  |20  |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_1(I) (idealsComplex)   |0|0|0|1|9 |24|47|77 |114|158|209|267|332|404|483|569|662|762|869 |983 |1104|
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_0(I) (-------------)   |0|0|3|6|6 |6 |7 |8  |9  |10 |11 |12 |13 |14 |15 |16 |17 |18 |19  |20  |21  |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_2(C) (cellularComplex) |0|1|3|6|10|15|21|28 |36 |45 |55 |66 |78 |91 |105|120|136|153|171 |190 |210 |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_1(C) (---------------) |0|0|0|0|0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0   |0   |0   |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_0(C) (---------------) |1|2|3|4|5 |6 |7 |8  |9  |10 |11 |12 |13 |14 |15 |16 |17 |18 |19  |20  |21  |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_2(Q) (splineComplex)   |0|1|3|7|19|39|68|105|150|203|264|333|410|495|588|689|798|915|1040|1173|1314|
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_1(Q) (-------------)   |0|0|0|2|1 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0   |0   |0   |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |H_0(Q) (-------------)   |1|2|0|0|0 |0 |0 |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0  |0   |0   |0   |
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |dim(S) (splineComplex)   |0|1|3|7|19|39|68|105|150|203|264|333|410|495|588|689|798|915|1040|1173|1314|
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |Eul. ch. (-----------)   |1|3|3|5|18|39|68|105|150|203|264|333|410|495|588|689|798|915|1040|1173|1314|
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+
      |dim(M) (splineModule)    |0|1|3|7|19|39|68|105|150|203|264|333|410|495|588|689|798|915|1040|1173|1314|
      +-------------------------+-+-+-+-+--+--+--+---+---+---+---+---+---+---+---+---+---+---+----+----+----+

Authors

Version

This documentation describes version 0.1.0 of SimplicialMDSplines.

Source code

The source code from which this documentation is derived is in the file SimplicialMDSplines.m2.

Exports

  • Functions and commands
    • cellularComplex -- build the cellular chain complex of the triangulation relative to its boundary
    • hilbertComparisonTable (missing documentation)
    • homologyDimensionTable -- output dimensions of all homology modules in the exact sequence of chain complexes from Toshniwal and Hughes [7]
    • idealsComplex -- build the ideals complex for the specified mixed smoothness and degrees
    • postulationNumber (missing documentation)
    • splineComplex -- build the spline complex for the given mixed smoothness and degrees
    • splineDimensionTable (missing documentation)
    • splineMatrix -- compute matrix whose kernel is the module of mixed degree splines on the triangulation $\mathcal{T}$
    • splineModule -- compute the module of mixed degree splines on triangulation $\mathcal{T}$
  • Symbols
    • RingType (missing documentation)
    • BaseRing, see splineMatrix -- compute matrix whose kernel is the module of mixed degree splines on the triangulation $\mathcal{T}$
    • Homogenize, see splineMatrix -- compute matrix whose kernel is the module of mixed degree splines on the triangulation $\mathcal{T}$
    • VariableName, see splineMatrix -- compute matrix whose kernel is the module of mixed degree splines on the triangulation $\mathcal{T}$