Bounds on the Dimensions of Trivariate Spline Spaces Peter Alfeld
1)
and Larry L. Schumaker
2)
Abstract. We derive upper and lower bounds on the dimensions of trivariate spline spaces defined on tetrahedral partitions. The results hold for general partitions, and for all degrees of smoothness r and polynomial degrees d. Keywords: Dimension, Trivariate Splines AMS Classification: 41A15 §1. Introduction Suppose △ is a finite collection of nondegenerate tetrahedra such that if any two tetrahedra in △ intersect, then their intersection is exactly one vertex, one edge, or one face. Then we call △ a tetrahedral partition of the set Ω, where Ω is the union of all tetrahedra in △. This definition of a tetrahedral partition allows Ω to have holes and cavities as well as pinch points where just two tetrahedra meet in a single point. Given 0 ≤ r ≤ d, let Pd be the d+3 3 -dimensional space of trivariate polynomials of degree d. In this paper we study the space Sdr (△) = {s ∈ C r (Ω) : s|T ∈ Pd , for all T ∈ △} of trivariate splines of smoothness r and degree d associated with △. Here the condition s ∈ C r (Ω) means that s belongs to C r (v) for every point v ∈ Ω, i.e., if v is contained in the tetrahedra T1 , . . . , Tm , then all of the polynomials s|T1 , . . . , s|Tm have common derivatives up to order r at v. Trivariate splines are important tools in approximation theory and numerical analysis, and have attracted considerable interest in the past few years, see [3] and references therein. Clearly Sdr (△) is a finite dimensional linear space. However, finding explicit formulae for its dimension for general r, d, and △, is an extremely difficult problem due to the fact that the dimension depends not only on the way in which the 1)
Department of Mathematics, University of Utah, 155 South 1400 East, JWB 233, Salt Lake City, Utah 84112-0090,
[email protected]. 2) Department of Mathematics, Vanderbilt University, Nashville, TN 37240,
[email protected].
1
tetrahedra are connected to each other, but also on the precise location of the vertices. In general, an arbitrarily small change of the location of the vertices can change the dimension of Sdr (△). The dimension of Sdr (△) can be trivially determined when r = 0 or when r = d, see Remark 1. Our aim in this paper is to establish upper and lower bounds on the dimension of Sdr (△) for all choices of 0 < r < d, and for arbitrary tetrahedral partitions. Our bounds will depend on d and r, and also on the nature of △, but not on the precise locations of the vertices. The paper is organized as follows. In Section 2 we describe how completely general tetrahedral partitions can be built inductively using 28 specific types of assembly steps. In Section 3 we show that lower and upper bounds on the dimension of Sdr (△) for arbitrary 0 < r < d and arbitrary △ can be given in terms of lower and upper bounds ℓi , ui on how much the dimension of a spline space changes when we add just one tetrahedron using assembly step i to an existing tetrahedral partition. Section 4 is devoted to a review of basic Bernstein–B´ezier theory, while in the following section we present several formulae for counting certain sets of domain points. In Section 6 we derive explicit formulae for suitable ℓi and ui in terms of r and d. In Section 7 we show that our lower and upper bounds take a strikingly simple form in the special case where the partition △ is shellable. Several numerical examples illustrating our bounds are given in Section 8. We conclude the paper with remarks and references. §2. Tetrahedral Partitions Every tetrahedral partition △ consisting of N tetrahedra can be assembled in N steps, starting with a single tetrahedron, and adding one additional tetrahedron in each subsequent step. Generally, there will be many different ways to assemble a given partition, and we will see later that the order in which the tetrahedra are added will affect our bounds on the dimension of the associated spline spaces. For our purposes, we need to identify and classify the different ways in which a tetrahedron can be added to a partially completed partition in order to build a partition △. There are twenty-eight types of assembly steps, which we number as in Tab. 1. For example, simply adding one tetrahedron that doesn’t touch any existing tetrahedron at all is classified as type 0. Adding a tetrahedron that touches the existing partition at one vertex only is classified as type 1. A step of type 27 corresponds to adding a tetrahedron that touches the existing partition along exactly one face and also at the opposite vertex. The last column in the table is designed to help visualize these steps. In particular, assuming the tetrahedron being added is T := hv1 , v2 , v3 , v4 i, this column lists the vertices, edges, and faces of T where T touches the existing partition. Here eij denotes the edge hvi , vj i, and fijk denotes the face hvi , vj , vk i. These twenty-eight types of assembly steps allow the step-wise construction of completely general tetrahedral partitions. However, most partitions likely to be used in practice, including those with holes and cavities, can be built with only a few of these steps, see Remark 4. 2
Type 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Nature of Touching Facets Isolated tetrahedron one vertex two vertices three vertices four vertices one edge two opposite edges two edges sharing a vertex three edges forming a path three edges sharing a vertex three edges on one face four edges forming a loop four edges not forming a loop five edges six edges one edge and one vertex one edge and two vertices two edges and one vertex three edges and one vertex one face and one edge one face and two edges one face and three edges two faces and one edge one face two faces three faces four faces one face and the opposite vertex
List of Touching Facets v1 v1 , v2 , v1 , v2 , v3 v1 , v2 , v3 , v4 e12 e12 , e34 e12 , e23 e12 , e23 , e34 e12 , e13 , e14 e12 , e23 , e31 e12 , e23 , e34 , e41 e12 , e23 , e31 , e14 e12 , e13 , e14 , e23 , e24 e12 , e13 , e14 , e23 , e24 , e34 e12 , v3 e12 , v3 , v4 e12 , e23 , v4 e12 , e23 , e31 , v4 f123 , e14 f123 , e14 , e24 f123 , e14 , e24 , e34 f123 , f124 , e34 f123 f123 , f124 f123 , f124 , f134 f123 , f124 , f134 , f234 f123 , v4
Tab. 1. Assembly steps for tetrahedral partitions.
§3. The Key Inequalities It is clear that when △ consists of a single tetrahedron, the dimension of Sdr (△) is equal to the dimension of Pd which is d+3 3 . To get bounds on the dimension of Sdr (△) on an arbitrary tetrahedral partition △, we proceed by induction. Suppose ˜ by adding one tetrahedron T . △ can be obtained from a tetrahedral partition △ r To get bounds on Sd (△), we need to account for how the dimension changes as we ˜ Clearly, this will depend on how T joins △, ˜ i.e., to which of the 28 add T to △. classes identified in the previous section it belongs. For each 0 ≤ i ≤ 27, let ℓi and ui be such that ˜ ≤ ui , ℓi ≤ dim Sdr (△) − dim Sdr (△) whenever T is of type i. We now establish the key inequalities. 3
Theorem 3.1. Fix 0 < r < d, and suppose △ is a tetrahedral partition that can be built inductively using τi assembly steps involving tetrahedra of type i for i = 0, . . . , 27. Then L(r, d) ≤ dim Sdr (△) ≤ U (r, d), (3.1) where
27 i hd + 3 X , τi ℓi , L(r, d) := max 3
U (r, d) :=
i=0
27 X
τ i ui .
i=0
Proof: Let T1 , . . . , TN be a numbering of the tetrahedra in the order that they are added in building △. The spline space Sdr (△) restricted to the single tetrahedron T1 has dimension ℓ0 = u0 = d+3 3 . Now each time we add a tetrahedron of type i, the dimension changes by an amount δi satisfying ℓi ≤ δi ≤ ui . Summing gives the formulae U (r, d), where for L(r, d) we have taken the maximum for L(r, d) and r with d+3 since P ⊆ S (△) for all 0 ≤ r ≤ d. d d 3 Formulae for the ℓi and ui will be derived in Sect. 6 below. We refer to the τi as the assembly parameters of △. In general they are not uniquely determined. A given tetrahedral partition can usually be built in many different ways, leading to different bounds. We give an example to illustrate this in Sect. 8, which also contains several other numerical examples illustrating Theorem 3.1. §4. Bernstein–B´ ezier Methods Our analysis of the dimension of Sdr (△) is based on well-known Bernstein–B´ezier techniques, see [3] and references therein. For convenience, we review some of the basic ideas and notation. Suppose T := hv1 , v2 , v3 , v4 i is a tetrahedron with vertices v1 , v2 , v3 , v4 . The key fact is that every polynomial p ∈ Pd has a unique Bernstein–B´ezier representation of the form p :=
X
cijkl Bijkl ,
i+j+k+l=d
where Bijkl are the Bernstein basis polynomials of degree d associated with T . It is standard practice to associate each coefficient cijkl with a corresponding domain point iv1 + jv2 + kv3 + lv4 ξijkl := , d for i + j + k + l = d. Given r ≥ 0, we often work with the following subsets of domain points: • • • •
ball of radius r around v1 : Br (v1 ) := {ξijkl : i ≥ d − r}, shell of radius r around v1 : Rr (v1 ) := {ξijkl : i = d − r}, tube of radius r around e := hvi , vj i: tr (e) := {ξijkl : i + j ≥ d − r}, r-slab containing the face F := hv1 , v2 , v3 i: Gr (F ) := {ξijkl : l ≤ r}. 4
Analogous sets can be defined in the same way for the other vertices, edges, and faces. One of the reasons that the Bernstein–B´ezier representation is so useful is that it provides a simple way to describe when two polynomials defined on tetrahedra T := hv1 , v2 , v3 , v4 i and Te := hv5 , v2 , v3 , v4 i sharing the face F := hv2 , v3 , v4 i join with C r smoothness. The condition is that X m c˜mijk = cν,i+µ,j+κ,k+δ Bνµκ all i + j + k = d − m, (4.1) δ (v5 ), ν+µ+κ+δ=m
for m = 0, . . . , r, where {cijkl }i+j+k+l=d and {˜ cijkl }i+j+k+l=d are the B-coefficients of p and p˜ relative to T and Te, respectively. We refer to the domain point ξ˜mijk corresponding to the coefficient c˜mijk on the left in (4.1) as the tip of the smoothness condition. It is clear from (4.1) that the conditions for two polynomials to join with C r smoothness across a common face involve only coefficients corresponding to domain points in the r–slabs containing F in both T and Te. §5. Formulae for Intersections of Balls, Tubes, and Slabs
In this section we provide formulae for the sizes of various subsets of domain points. They are used in the following section to derive formulae for the expressions ℓi and ui appearing in Theorem 3.1. Given 0 ≤ r < d, let • nr := the number of points in Br (v), where v is a vertex of T , • m2b (r, d) := the number of points in Br (v1 ) ∩ Br (v2 ), where v1 , v2 are vertices of T , • m3b (r, d) := the number of points in Br (v1 ) ∩ Br (v2 ) ∩ tr (v3 ), where v1 , v2 , v3 are vertices of T , • m4b (r, d) := the number of points in Br (v1 ) ∩ Br (v2 ) ∩ Br (v3 ) ∩ Br (v4 ), where v1 , v2 , v3 , v4 are the vertices of T , • m1t (r, d) := the number of points in tr (e), where e is an edge of T , • m2t (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ), where e1 , e2 are edges of T sharing a vertex v, • mto (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ), where e1 , e2 are edges of T not sharing any vertex, • m3t (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ) ∩ tr (e3 ), where e1 , e2 , e3 are edges of T sharing a vertex v of T , • m3tf (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ) ∩ tr (e3 ), where e1 , e2 , e3 are edges of T lying in one face, • m3tp (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ) ∩ tr (e3 ), where e1 , e2 , e3 are edges of T forming a path, i.e., not all lying on one face and not all sharing a single vertex, 5
• m4tl (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ) ∩ tr (e3 ) ∩ tr (e4 ), where e1 , . . . , e4 are edges of T forming a loop, i.e., such that no three of the edges share a single vertex, • mtb (r, d) := the number of points in tr (e) ∩ Br (v), where e is an edge of T and v is a vertex not contained in e, • mt2b (r, d) := the number of points in tr (e) ∩ Br (v) ∩ Br (w), where e is an edge of T and v, w are vertices not contained in e, • m2tb (r, d) := the number of points in tr (e1 ) ∩ tr (e2 ) ∩ Br (v), where e1 , e2 are edges of T and v is a vertex not contained in either edge, • mts (r, d) := the number of points in tr (e) ∩ Gr (F ), where e is an edge of T not lying in the face F . • m2t2b (r, d) := the number of points in Br (v1 ) ∩ Br (v2 ) \ tr (e), where e is the edge with vertices v3 and v4 , • ms (r, d) := the number of points in the slab Gr (F ) associated with a face F of T . We now derive formulae for all of these expressions. Lemma 5.1. For all 0 ≤ r < d, r+3 , nr := 3 2r − d + 3 , m2b (r, d) := 3 3r − 2d + 3 , m3b (r, d) := 3 4r − 3d + 3 , m4b (r, d) := 3 d X r+2 r+3 , + m1t (r, d) := 2 3 ν=r+1 d X 2r + 2 − ν r+3 , + m2t (r, d) := 2 3 ν=r+1 d X 3r + 2 − 2ν r+3 , + m3t (r, d) := 2 3 ν=r+1 mto (r, d) :=
Pr
ν=d−r (ν
+ 1)(d + 1 − ν), if d ≤ 2r,
0,
otherwise, 6
m3tf (r, d) :=
r X 3r − 2ν − d + 2 2
ν=0
m3tp (r, d) :=
r ν X X
d + 1 − max(ν, d − r + µ) ,
r ν X X
min(d, r + µ) + 1 − max(ν, d − r + µ) ,
ν=d−r µ=0
m4tl (r, d) :=
ν=d−r µ=0
mtb (r, d) :=
2r − ν − d + 1 , −3 2
2r−d X
(ν + 1)(r − ν + 1),
ν=0
mt2b (r, d) :=
3r−2d X
(ν + 1)(2r − d − ν + 1),
ν=0
m2tb (r, d) :=
ν=0
mts (r, d) :=
2
r X min(r, d − ν) + 2
ν=0
m2t2b (r, d) :=
r−d+ν +1 i , (ν + 1) − 2
2r−d Xh
r X
i=d−r
2
d−i X
,
(d − i − j + 1),
j=max(d−r,r+1−i)
d+2−r d+3 . − ms (r, d) := 3 3 Proof: The formula for nr , m2b , m3b , m4b and ms can be obtained by inspection. We now consider the other cases individually. m1t : To get the formula for m1t , note that the tube contains the ball of radius r around one of the vertices v of e. In addition, for each ν = r + 1, . . . , d, it contains r+2 points on the shell Rν (v). Summing over the shells gives m1t . 2
m2t : To get the formula for m2t , note that the ball of radius r around v is in both r+3 tubes, which accounts for the term 3 . To count the remaining points in the intersection of the two tubes, we consider the shells Rν (v) for ν = r + 1, . . . , d. It is easy to check that on the shell Rν (v), there are 2r+2−ν points in the intersection. 2 Summing over the shells gives the second term in the formula for m2t . m3t : For the case of three intersecting tubes sharing the vertex v, we note that the number of points in the intersection lying on the shell Rν (v) is ν+2−3(ν−r) . 2 Summing over the shells gives the formula for m3t . 7
mto : Without loss of generality we may assume the first tube is along the edge e1 := hv1 , v2 i while the second is along the edge e2 := hv3 , v4 i. Then ξijkl lies in both tubes if and only if i + j ≥ d − r and k + l ≥ d − r which implies that i + j ≤ d − (d − r) = r. Thus, for a point ξijkl to be in the intersection we need d −r ≤ i+j ≤ r. It follows that the intersection of the two tubes is empty if d > 2r. Letting ν = i + j, there are ν + 1 ways to choose i and j, and for each such choice, there are d + 1 − ν ways to choose k and l with k + l = d − ν. The count follows. m3tf : Suppose the face is F := hv1 , v2 , v3 i. The expression in brackets is just the number of points in the intersection of the shell Rd−ν (v4 ) and the tubes around the three edges of F . The result follows by summing over the shells. m3tp : For each 0 ≤ i, j ≤ 4, let tij be the tube along edge eij := hvi , vj i. We suppose the edges forming the path are e12 , e23 , e34 , and consider the three tubes t12 , t23 , and t34 . We need to count the number of 4-tuples (i, j, k, l) of nonnegative integers that satisfy i + j + k + l = d,
i + j ≥ d − r,
j + k ≥ d − r,
and k + l ≥ d − r.
These inequalities imply that i + j ≤ r and k + l ≤ r. It is convenient to use the substitution µ = i, ν = i + j, and κ = i + j + k. Then, according to the above inequalities, admissible values of ν range from d − r to r, and admissible values of µ range from 0 to ν. Since j + k = κ − µ ≥ d − r, we need κ ≥ d − r + µ. Given µ and ν, there are thus d + 1 − max{ν, d − r + µ} choices of κ ranging from max{ν, d − r + µ} to d. Counting the total number of possibilities gives the formula for m3tp . m4tl : The proof is similar to the proof for m3tp except that now we also have to satisfy κ − µ = j + k ≤ r. mtb : For each d − r ≤ ν ≤ r, points in the intersection lie on ν − d + r + 1 lines parallel to e, each of which contains d + 1 − ν points. Thus, the total number is Pr (ν − d + r + 1)(d + 1 − ν). A change of summation index gives the stated ν=d−r formula. mt2b : For each 2d − 2r ≤ ν ≤ r, points in the intersection lie on ν − 2d + 2r + 1 lines Prparallel to e, each of which contains d + 1 − ν points. Thus, the total number is ν=2d−2r (ν − 2d + 2r + 1)(d + 1 − ν). A change of summation index gives the stated formula. m2tb : Suppose the two edges are e1 and e2 , and that the vertex not on the edges is v4 . For each d − r ≤ ℓ ≤ r, the number of points in tr (e1 ) ∩ tr (e2 ) ∩ Rℓ (v4 ) is (r − d + ℓ + 1)2 − 2r−2d+ℓ+1 . Summing over ℓ and changing the index gives the 2 stated formula. mts : Let v be the vertex opposite the slab. For each 0 ≤ ν ≤ r, the number of min(r,d−ν)+2 points in the intersection and lying on the shell Rd−ν (v) is , and the 2 formula follows. 8
m2t2b : A domain point ξijkl lies in the set Br (v1 ) ∩ Br (v2 ) if and only if i ≥ d − r and j ≥ d − r. It lies outside the tube tr (e) if and only if k + l < d − r. We compute the number of 4-tuples (i, j, k, l) satisfying all three inequalities. The first two inequalities imply that i, j ≤ r. The third inequality implies that j ≥ r + 1 − i. Given i and j there are d + 1 − i − j possible choices of k and l. Summing gives the formula. §6. The Change in Dimension When Adding One Tetrahedron Suppose △ is a tetrahedral partition that can be obtained from a tetrahedral par˜ by adding one tetrahedron T . In this section we give upper and lower tition △ bounds ui and ℓi on the change in dimension ˜ δi := dim Sdr (△) − dim Sdr (△) when T is of type i, 0 ≤ i ≤ 27, according to the classification scheme of Sect. 3. Note that δi can be negative in some cases. Suppose s ∈ Sdr (△) and that we already know the coefficients of s correspond˜ If T touches △ ˜ at a vertex v, then the C r smoothness ing to domain points in △. at v imposes nr conditions on the coefficients of s associated with domain points in ˜ along an edge e, then the C r smoothness along e Br (v). Similarly, if T touches △ ˜ along a imposes m1t conditions on the coefficients in the tube tr (e). If T touches △ r face F , then the C smoothness across F imposes ms conditions on the coefficients in the slab Gr (F ). Recall that nd = d+3 is the number of coefficients of s|T . 3 To get a lower bound ℓi for δi , we can take nd −ncond , where ncond is the number ˜ with C r smoothness. of conditions on s|T imposed by the fact that T joins with △ However, some of these conditions may be redundant in the sense that one or more of them are automatically satisfied whenever the others are satisfied. Removing as many redundant conditions as possible leads to a better lower bound. There are two situations where we know that conditions on a coefficient cξ are redundant: 1) ξ ∈ Br (v), where v is contained in more than one of the edges or faces where T ˜ There is one smoothness condition associated with each such edge touches △. or face, but we need only count one of them as the rest are redundant. 2) ξ ∈ tr (e), where e is contained in more than one of the faces where T touches ˜ There is one smoothness condition associated with each such face, but we △. need only count one of them as the rest are redundant. Note that ℓi computed in this way can be negative as well as nonnegative. The change in dimension δi is equal to the number of coefficients of s|T that can be set to arbitrary values while maintaining all smoothness conditions. Such coefficients cannot correspond to domain points which are tips of any smoothness condition. We call such points constrained points. Thus, as an upper bound we can take ui = nd − ntips , where ntips is the number of points in T that are constrained. While counting unconstrained points seems like a straightforward process, it is 9
complicated in some cases due to the fact that balls, tubes, and slabs can intersect in various ways depending on r, d and the class to which T belongs. Note that ui computed in this way is nonnegative for all 0 ≤ i ≤ 27. In terms of the notation of the previous section, the number of domain points in a ball of radius r around a vertex is nr . For ease of notation we write m1t := m1t (r, d), with a similar short-hand notation for all the other quantities defined in the previous section. For d > 2r, we define m ˜ 1t := m1t (r, d−r−1), m ˜ 2t := m2t (r, d− r − 1), m ˜ 3t := m3t (r, d − r − 1). Let m ˆ 1t := m1t (2r − d, r), m ˆ 2t := m2t (2r − d, r), and m ˆ 3tf := m3tf (2r − d, r) for d ≤ 2r, and define them to be zero when d > 2r. Given an edge e := hu, vi of a tetrahedron, we define a 1-partial tube around e to be tr (e) \ Br (u). Similarly, we define a 2-partial tube to be tr (e) \ (Br (u) ∪ Br (v)). Lemma 6.1. The expressions given in Tab. 2 provide upper and lower bounds for δi for all 0 ≤ i ≤ 27. Proof: The cases 0, 1, 5, 23, and 27 are obvious. ˜ at two vertices v1 , v2 ). There are nr smoothness conditions as2: (T touches △ sociated with each of the balls Br (vi ), i = 1, 2, and the lower bound follows. The number of constrained points in T is 2nr − m2b , since points in the intersection of two balls should be counted only once. This gives the upper bound. ˜ at three vertices v1 , v2 , v3 ). There are nr smoothness conditions 3: (T touches △ associated with each of the balls Br (vi ), i = 1, 2, 3, and the lower bound follows. The number of points in the union of the three balls is 3nr − 3m2b + m3b , and the upper bound follows. ˜ at four vertices v1 , v2 , v3 , v4 ). There are nr smoothness conditions 4: (T touches △ associated with each of the balls Br (vi ), i = 1, . . . , 4, and the lower bound follows. The number of points in the union of the four balls is 4nr − 6m2b + 4m3b + m4b , and the upper bound follows. ˜ along two edges e1 , e2 that do not share a vertex). There are m1t 6: (T touches △ smoothness conditions associated with each of these edges, and the lower bound follows. The number of points in tr (e1 ) ∪ tr (e2 ) is 2m1t − mto , where the term mto takes account of the fact that the tubes can intersect when d ≤ 2r. This gives the upper bound. ˜ along two edges e1 and e2 that share a vertex v). There are m1t 7: (T touches △ smoothness conditions associated with each of these edges. However, since both tubes contain Br (v), nr of these conditions are redundant, and the lower bound follows. The number of points in tr (e1 ) ∪ tr (e2 ) is 2m1t − m2t , and the upper bound follows. ˜ along three edges e1 , e2 , e3 forming a path). There are m1t smooth8: (T touches △ ness conditions associated with each of these edges. However, since the first two tubes tr (e) both contain Br (v1 ), nr of the conditions with tips in Br (v1 ) are redundant. Similarly, nr of the conditions with tips in Br (v2 ) are redundant, and the 10
i 0 1 2 3 4 5 6 7 8 9 10 11
ℓi nd nd − nr nd − 2nr nd − 3nr nd − 4nr nd − m1t nd − 2m1t nd − 2m1t + nr nd − 3m1t + 2nr nd − 3m1t + 2nr nd − 3m1t + 3nr − m3b nd − 4m1t + 4nr − m4b
12
nd − 4m1t + 4nr − m3b
13
nd − 5m1t + 6nr − 2m3b ,
14
nd − 6m1t + 8nr − 4m3b + m4b
15 16 17 18
nd − m1t − nr nd − m1t − 2nr nd − 2m1t nd − 3m1t + 2nr − m3b
19
nd − ms − m1t + nr
20
nd − ms − 2m1t + 3nr − m3b
21
nd − ms − 3m1t + 5nr − 3m3b + m4b
22
nd − 2ms + 2nr − m2b + m2t2b
23 24 25
n d − ms nd − 2ms + m1t nd − 3ms + 3m1t − m3t −4(ms − 3m1t + 3m2t − m3tf ), if d ≤ 2r nd − 4ms + 6m1t − 4m3t , if d > 2r n d − ms − n r
26 27
ui nd nd − nr nd − 2nr + m2b nd − 3nr + 3m2b − m3b nd − 4nr + 6m2b − 4m3b + m4b nd − m1t nd − 2m1t + mto nd − 2m1t + m2t nd − 3m1t + 2m2t + mto − m3tp nd − 3m1t + 3m2t − m3t nd − 3m1t + 3m2t − m3tf nd − 4m1t + 4m2t + 2mto − 4m3tp + m4tl 0, if d ≤ 2r nd − 4m1t + 5m2t − m3t − m3tf , if d > 2r 0, if d ≤ 2r nd − 5m1t + 8m2t − 2m3tf − 2m3t , if d > 2r 0, if d ≤ 2r nd − 6m1t + 12m2t − 4m3t − 4m3tf , if d > 2r nd − m1t − nr + mtb nd − m1t − 2nr + 2mtb + m2b − mt2b nd − 2m1t − nr + m2t + 2mtb − m2tb nd − nr − 3(m1t − m ˆ 1t − m2t + m ˆ 2t ) −(m3tf − m ˆ 3tf ) nd − ms − m1t + mts 0, if d ≤ 2r n d − ms − 2 m ˜ 1t + m ˜ 2t , if d > 2r 0, if d ≤ 2r n d − ms − 3 m ˜ 1t + 3m ˜ 2t − m ˜ 3t , if d > 2r 0, if d ≤ 3r nd−2r−2 − m1t + 2mts , if d > 3r nd−r−1 nd−2r−2 nd−3r−3 nd−4r−4 (nd − ms − nr )+
Tab. 2. Formulae for ℓi and ui .
lower bound follows. The upper bound follows from the fact that the number of points in tr (e1 ) ∪ tr (e2 ) ∪ tr (e3 ) is 3m1t − 2m2t − mto + m3tp , as can be seen by a careful examination of a Venn diagram. ˜ along three edges e1 , e2 , e3 sharing a vertex v). There are m1t 9: (T touches △ smoothness conditions associated with each of these edges. However, since all three tubes contain Br (v), 2nr of these conditions are redundant, and the lower bound follows. The upper bound follows from the fact that the number of points in the 1 intersection of all three tubes is 3m1t − 3m2t + m3t . 11
˜ along three edges e1 , e2 , e3 on one face). The three 2-partial tubes 10: (T touches △ contain 3(m1t −2nr +m2b ) points. The three balls contain 3nr −3m2b +m3b points, cf. the argument for the upper bound in case 3. Thus, there are at most 3m1t −3nr + m3b , nonredundant smoothness conditions, and the lower bound follows. The upper bound follows from the fact that the number of points in tr (e1 ) ∪ tr (e2 ) ∪ tr (e3 ) is 3m1t − 3m2t + m3tf . ˜ along four edges e1 , . . . , e4 forming a loop). Given a domain 11: (T touches △ point ξ in T , let b(ξ) and t(ξ) be the number of balls Br (vi ) and tubes tr (ei ), 1 ≤ i ≤ 4, that contain ξ. Suppose ξ is not in the intersection of all four balls. Then the coefficient associated with the point ξ is subject to t(ξ) conditions, but b(ξ) of them are redundant, and thus the change in dimension corresponding to this point is bounded below by 1 − t(ξ) + b(ξ). Points that are in all four balls are also in all four tubes. The associated coefficients are subject to four conditions, but three of them are redundant, and thus there is no change in dimension. It follows ˜ that P a lower bound for the change in dimension when we add T to △ is given by ξ∈T (1 − t(ξ) + b(ξ)) − m4b = nd − 4m1t + 4nr − m4b . To get the upper bound, we need to count the number of points in Γ := ∪4i=1 tr (ei ). Looking at a Venn diagram, we see that there are four pairs of neighboring tubes intersecting in m2t points and two pairs of opposite tubes that intersect in mto points. There are four paths of three tubes, and m3tp points in the intersection of the three tubes in such a path. The intersection of all four tubes contains m4tl points. It follows that the number of points in Γ is 4m1t − 4m2t − 2mto + 4m3tf − m4tl , and the upper bound follows. ˜ along four edges e1 , . . . , e4 not forming a loop). Three of these 12: (T touches △ edges lie on one face F . Let v1 , v2 , v3 be the vertices on this face, and suppose v3 is the vertex where three of the touching edges meet. There are m1t − 2nr + m2b points in each of the three 2-partial tubes along the edges of F . In addition, there are m1t − nr points in the 1-partial tube along the fourth edge. There are 3nr −3m2b +m3b points in the three balls around the vertices of F , cf. the argument for the upper bound in case 3. Thus, the total number of nonredundant smoothness conditions is at most 4m1t − 4nr + m3b , and the lower bound follows. To get the upper bound, we count the number of points in Γ := ∪4i=1 tr (ei ). It is easy to see that when d ≤ 2r, Γ contains all points in T , and so u12 = 0. Suppose now d > 2r. In this case m3tp = mto = 0. Looking at a Venn diagram, we see there are five pairs of neighboring tubes intersecting in m2t points, and one pair of opposite tubes intersecting in mto points. There is one set of three tubes intersecting in m3tf points, one set of three tubes meeting at v3 intersecting in m3t points, and 2 pairs of three tubes forming paths such that each pair intersects in m3tp points. The intersection of all four tubes is empty. It follows that the number of points in Γ is 4m1t − 5m2t + m3t + m3tf . This gives the upper bound. ˜ along five edges e1 , . . . , e5 ). Let v1 , v2 be the vertices where three 13: (T touches △ of these edges meet, and e34 the single non-touching edge. Then two of the touching edges meet at v3 , and two meet at v4 . Each of the five 2-partial tubes contains 12
m1t − 2nr + m2b points. As discussed in case 3, Br (v1 ) ∪ Br (v2 ) ∪ Br (v3 ) contains 3nr − 3m2b + m3b points. There are nr − 2m2b + m3b points in Br (v4 ) but not in the balls Br (v1 ) or Br (v2 ). We conclude that the total number of nonredundant smoothness conditions is at most 5m1t − 6nr + 2m3b , and the lower bound follows. To get the upper bound, we count the number of points in Γ := ∪5i=1 tr (ei ). It is easy to see that Γ contains all the points of T when d ≤ 2r, and so u13 = 0. Suppose now d > 2r. In this case m3tp = mto = 0. Looking at a Venn diagram, we see that there are eight pairs of neighboring tubes intersecting in m2t points, and two pairs of opposite tubes intersecting in mto = 0 points. There are 2 sets of three tubes intersecting in m3tf points and 2 sets of three tubes intersecting in m3t points. The remaining 6 intersecting sets of triples of three tubes each contain m3tp = 0 points. There are 6 sets where four tubes intersect, but the intersections are all empty since opposite tubes don’t overlap. It follows that the number of constrained points is 5m1t − 8m2t + 2m3tf + 2m3t . This gives the upper bound. ˜ along six edges). There are m1t − 2nr + m2b points in each of the 14: (T touches △ six 2-partial tubes around the edges. In addition, there are 4nr −6m2b +4m3b −m4b points in the four balls, cf. the discussion of the upper bound in case 4. Thus, the total number of nonredundant smoothness conditions is at most 6m1t − 8nr + 4m3b − m4b , and the lower bound follows. To get the upper bound, we count the number of points in the union Γ of the tubes around the six edges. It is easy to see that Γ contains all the points of T when d ≤ 2r, and so u14 = 0. Suppose now d > 2r. In this case m3tp = mto = 0. There are 15 pairs of intersecting tubes. Twelve of these intersect in m2t points, and the other three intersect in mto points. There are 20 sets of intersections of three tubes. Four of these contain m3tf points, four of them contain m3t points, and the remaining 12 contain m3tp = 0 points. There are 6 sets where four tubes intersect, but the intersections are all empty since opposite tubes don’t overlap. It follows that the number of points in Γ is 6m1t − 12m2t + 4m3t + 4m3tf . This gives the upper bound. ˜ on one edge e and at a vertex v not on e). Clearly the number 15: (T touches △ of nonredundant smoothness conditions is at most m1t + nr , and the lower bound follows. The upper bound follows from the fact that there are m1t + nr − mtb points in tr (e) ∪ Br (v). ˜ on one edge e and at two vertices v1 , v2 not on e). The number 16: (T touches △ of smoothness conditions with tips in T is m1t + 2nr , and the lower bound follows. Examining a Venn diagram, we see that there are m1t + 2nr − 2mtb − m2b + mt2b points in tr (e) ∪ Br (v1 ) ∪ Br (v2 ), and the upper bound follows. ˜ on two edges e1 , e2 and at a vertex v not on those edges). Clearly 17: (T touches △ the number of nonredundant smoothness conditions is at most 2m1t − nr + nr = 2m1t , and the lower bound follows. The upper bound follows from the fact that there are 2m1t + nr − 2mtb − m2t + m2tb points in tr (e1 ) ∪ tr (e2 ) ∪ Br (v). ˜ on three edges e1 , e2 , e3 and at a vertex v not on those edges). The 18: (T touches △ number of nonredundant smoothness conditions associated with the three tubes is 13
at most 3m1t − 3nr + m3b , cf. the discussion of case 10. Adding the nr conditions associated with Br (v) leads to the lower bound. To get the upper bound we first notice that are 3m1t − 3m2t + m3tf points in Λ := tr (e1 ) ∪ tr (e2 ) ∪ tr (e3 ), cf. the upper bound in case 10. There are nr points in the ball Br (v). However, if d ≤ 2r, the ball Br (v) intersects Λ creating three smaller tubes of radius 2r−d. The number of points in these tubes is 3m ˆ 1t − 3m ˆ 2t + m ˆ 3tf , and the upper bound follows. ˜ on one face F and one edge e not in the face). The number 19: (T touches △ of nonredundant smoothness conditions is at most ms + m1t − nr , and the lower bound follows. To get the upper bound, we observe that the number of points in Gr (F ) ∪ tr (e) is ms + m1t − mts . ˜ on one face F and two edges e1 , e2 not in the face). Let e3 be the 20: (T touches △ edge lying on the same face as e1 and e2 . The number of nonredundant smoothness conditions in the three tubes surrounding the edges e1 , e2 , e3 is 3m1t − 3nr + m3b , cf. the lower bound for case 10. The number of nonredundant smoothness conditions in the slab Gr (F ) but not in the tube tr (e3 ) is ms − m1t . Thus, the total number of nonredundant smoothness conditions is at most ms + 2m1t − 3nr + m3b , and the lower bound follows. Let Γ be the union of the slab Gr (F ) with the tubes around the two edges e1 , e2 . It is easy to see that Γ contains all points of T when d ≤ 2r, and so u20 = 0 in this case. Now suppose d > 2r. In this case there are ms constrained points in the slab Gr (F ). The set of domain points resulting from cutting off the slab can be considered as corresponding to a polynomial of degree d − r − 1. Referring to case 7, the number of points in the two tubes sharing the vertex v4 is 2m ˜ 1t − m ˜ 2t . The upper bound follows. ˜ on one face F and three edges e1 , e2 , e3 not in the face). To count 21: (T touches △ nonredundant smoothness conditions, we note that T touches on all six edges. By case 14, the number of nonredundant smoothness conditions associated with these edges is at most 6m1t −8nr +4m3b −m4b . The number of nonredundant smoothness conditions associated with points in the slab Gr (F ) but not in the tubes around the three edges of F is ms −(3m1t −3nr +m3b ). Thus the total number of nonredundant smoothness conditions is at most ms + 3m1t − 5nr + 3m3b − m4b , and the lower bound follows. Let Γ := Gr (F ) ∪ tr (e1 ) ∪ tr (e2 ) ∪ tr (e3 ). It is easy to see that Γ contains all points of T when d ≤ 2r, and so u21 = 0 in this case. Suppose now d > 2r. Then the number of points in the slab Gr (F ) is ms , while the number of points in the rest of Γ is 3m ˜ 1t − 3m ˜ 2t + m ˜ 3t , cf. case 9. This leads immediately to the upper bound. ˜ on two faces F1 , F2 and one edge e not in either face). If d > 2r, 22: (T touches △ then the number of nonredundant conditions with tips in the two slabs is 2ms −m1t , while the number of nonredundant conditions with tips in the tube tr (e) is at most m1t −2nr +m2b . The lower bound follows since m2t2b = 0 in this case. Now suppose d ≤ 2r and that e := hv3 , v4 i is the edge between the two faces. In this case we have counted each point ξ in Br (v1 ) ∩ Br (v2 ) \ tr (e) twice, but the two smoothness conditions with tip at ξ are are consistent because they are associated with the 14
tube tr (e). Thus in this case we have to adjust the lower bound by adding m2t2b . It is easy to check that the upper bound is zero whenever d ≤ 3r. Suppose now d > 3r. Let Te be the tetrahedron obtained by stripping off two slabs of size r from T . Clearly, Te contains nd−2r−2 points. The number of points lying in the tube of radius r around the edge e ∩ Te is m1t − 2mts , and the upper bound follows.
˜ on two faces). The number of nonredundant smoothness condi24: (T touches △ tions in the slabs associated with the two faces is 2ms − m1t , and the lower bound follows. Since all points in these two slabs are constrained, it is clear that the number of unconstrained points is equal to the number of points in the tetrahedron that is obtained by slicing off the two slabs, namely nd−2r−2 .
˜ on three faces F1 , F2 , F3 ). Let v be the vertex opposite the 25: (T touches △ nontouching face, and let e1 , e2 , e3 be the three edges meeting at v. The number of points contained in T but not in the tubes around these edges is u9 = nd − 3m1t + 3m2t − m3t . The number of points in one of the three slabs Gr (Fi ) but not in the tubes is ms − 2m1t + m2t . Multiplying the latter by three and subtracting gives the lower bound. The upper bound follows as in the previous case by removing three slabs. ˜ on four faces). Consider first the case where d ≤ 2r. In this case 26: (T touches △ the number of constrained points is nd , and so the upper bound is 0. To get the lower bound, we subtract the number of smoothness conditions with tips outside the tubes around edges of T from the number of unconstrained points (which is 0). For each face, the number of smoothness conditions outside the three tubes around the edges of that face is ms − (3m1t − 3m2t + m3tf ), cf. case 9, and the lower bound follows. Now suppose d > 2r. In this case the number of points contained in T but not in the six tubes is u14 = nd − 6m1t + 12m2t − 4m3t − 4m3tf . The number of points in each of the four slabs but not in the tubes is ms − 3m1t + 3m2t − m3tf . Multiplying the latter by four and subtracting gives the lower bound. To get the upper bound we strip off four slabs. §7. The Case Where △ Is Shellable A tetrahedral partition △ is called shellable provided it consists of a single tetra˜ by adding one hedron, or can be obtained from a shellable tetrahedral partition △ ˜ precisely along one, two, or three triangular tetrahedron T such that T intersects △ faces. In this section we show that if △ is shellable, then there are simple formulae for the bounds on dim Sdr (△) in terms of the combinatorics of △. Let FI , EI , VI be the number of interior faces, edges, and vertices of △. Given 0 ≤ r < d, let β := m1t − nd and γ := nd − m3t . Similarly, let β˜ := nd−2r−2 − 2nd−r−1 and γ˜ := 3nd−r−1 − 3nd−2r−2 + nd−3r−3 . Theorem 7.1. Suppose △ is a shellable tetrahedral partition. Then for every 0 ≤ r < d, L(r, d) ≤ dim Sdr (△) ≤ U (r, d), 15
where
L(r, d) = nd + (nd−r−1 FI + βEI + γVI )+ , ˜ I + γ˜ VI . U (r, d) = nd + nd−r−1 FI + βE
(7.1)
Proof: If △ is shellable, then it can be assembled using only steps of types 0, 23, 24, and 25. Clearly, τ0 = 1. We get a new interior vertex each time we carry out step 25, and thus VI = τ25 . We get new interior edges each time we carry out steps of types 24 and 25, and so EI = τ24 +3τ25 . Similarly, FI = τ23 +2τ24 +3τ25 . Solving these equations for the assembly parameters, we find that τ23 = FI − 2EI + 3VI , τ24 = EI −3VI , and τ25 = VI . Referring to Tab. 2 and using the fact that nd −ms = nd−r−1 , the formulae (7.1) follows immediately from Theorem 3.1. §8. Numerical Examples We have extensively tested and evaluated our bounds using a java program which is capable of computing the exact dimension, see Remark 6. In this section we describe the results of a few of our tests. Our first example shows that (at least for a range of r and d), our lower bounds cannot be improved. Example 8.1. For each 0 ≤ i ≤ 27, let △i be the smallest tetrahedral partition such that to build △i we use an assembly step of type i as the last step. Discussion: The △i are actually quite small. For example, for i = 1, . . . , 4, △i consists of just i + 1 tetrahedra. The cases i = 4 and i = 5 require just two and three tetrahedra, respectively. For each r = 1, . . . , 6 and d = r + 1, . . . , 4r + 1, we computed the change in dimension due to the last step. In all cases it turns out that ℓi = δi . As a check on our upper bounds, we also directly counted the number of unconstrained points. Our next example shows that in general the bounds in Theorem 3.1 depend on the order in which the tetrahedral partition is assembled. Example 8.2. Let △ be the partition described in Tab. 3. Discussion: This partition is obtained by splitting a given tetrahedron into 15 subtetrahedra. It is the trivariate analog of the well-known Morgan-Scott split of a triangle, see [5]. The table lists the coordinates (xi , yi , zi ) of each of the 8 vertices of △, and the vertex numbers (v0i , v1i , v2i , v3i ) of each of the 15 tetrahedra in △. Tab. 4 shows the results obtained for selected values of r and d. The column labeled symdim gives the exact dimension of the splines spaces for the specific choice of vertices given in the table, which corresponds to a high level of symmetry. The column labeled gendim gives the corresponding results for a generic partition obtained by perturbing each of the vertices slightly. We give two sets of upper and lower bounds. The columns labeled L1 (r, d) and U1 (r, d) correspond to an assembly scheme for which τ0 = τ5 = τ7 = τ10 = τ26 = 1, τ24 = 6, and τ25 = 4. The columns labeled L2 (r, d) and U2 (r, d) correspond to an assembly scheme for which τ0 = 1, τ23 = 4, τ24 = 6, and τ25 = 4. The table shows that the bounds 16
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
v0i 4 3 2 1 0 2 1 1 0 0 0 0 0 0 1
v1i 5 4 4 4 5 3 3 2 3 2 1 1 1 2 2
v2i 6 5 5 6 6 4 4 4 5 5 6 2 3 3 3
v3i 7 6 7 7 7 5 6 7 6 7 7 7 6 5 4
xi 14 14 -14 0 2 2 6 4
yi 42 0 21 21 18 24 21 21
zi 42 42 21 0 24 24 27 30
Tab. 3. The tetrahedral partition for Example 8.2.
depend on the assembly order. For this example, the second set of bounds are better. Our next example gives results for a partition with a hole. Example 8.3. Let △ be the tetrahedral partition described in Tab. 5. Discussion: △ is a partition of a square-shaped torus into 24 tetrahedra. In Tab. 6 we give results for selected values of r and d, both for the symmetric case corresponding to the listed vertices, and for the generic case corresponding to slightly perturbed vertices. In both cases we give bounds corresponding to assembly parameters τ0 = 1, τ19 = 4, τ23 = 12, τ24 = τ25 = 3, and τ27 = 1. Our final example involves a partition with a cavity. Example 8.4. Let △ be the partition obtained by removing the tetrahedron numbered 0 in Tab. 3 from the partition described there. Discussion: Removing the tetrahedron creates a cavity. This partition can be built using the assembly parameters τ0 = τ5 = τ7 = τ10 = 1, τ24 = 6, and τ25 = 3. In Tab. 7 we give numerical results for selected values of r and d, where as before we consider both the generic and symmetric case. For r = 1 we note that the lower bounds give the correct dimensions for all d ≥ 4.
17
r 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4
d 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 4 5 6 7 8 9 10 11 12 13 5 6 7 8 9 10 11 12 13 14
L1 (r, d) 10 20 43 104 214 388 641 988 20 35 56 84 120 203 380 35 56 84 120 165 220 286 364 581 936 56 84 120 165 220 286 364 455 560 680
L2 (r, d) 10 20 43 104 214 388 641 988 20 35 56 84 120 207 384 35 56 84 120 165 220 286 364 593 948 56 84 120 165 220 286 364 455 560 680
gendim 10 20 43 104 214 388 641 988 20 35 56 84 132 243 420 35 56 84 120 165 220 332 524 799 1172 56 84 120 165 220 286 364 455 640 926
symdim 11 25 54 113 222 396 649 996 20 35 56 87 144 252 428 35 56 84 120 167 234 348 534 807 1180 56 84 120 165 220 287 371 486 667 944
U2 (r, d) 14 36 81 160 288 480 751 1116 24 51 96 170 284 449 680 39 72 124 200 311 468 682 964 1329 1792 60 100 160 245 360 516 724 995 1340 1770
U1 (r, d) 15 39 88 172 306 504 781 1152 26 57 109 193 320 500 748 42 81 143 233 363 543 784 1096 1494 1992 64 112 185 288 427 613 857 1169 1560 2040
Tab. 4. Results for Example 8.2.
§9. Remarks Remark 1. Given a tetrahedral partition △, let Dd,△ be the set of all domain points associated with tetrahedra of △, where common domain points are included just once. Then the dimension of the trivariate spline space Sd0 (△) is equal to the 18
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
v0i 0 0 0 0 0 0 0 1 1 1 1 0 1 2 2 2 2 1 2 3 3 3 3 2
v1i 3 4 4 8 8 3 1 4 5 9 8 1 2 5 6 10 9 2 3 6 7 11 10 3
v2i 7 7 12 12 11 11 4 5 12 12 9 8 5 6 13 13 10 9 6 7 14 14 11 10
v3i 15 15 15 15 15 15 12 12 13 13 12 12 13 13 14 14 13 13 14 14 15 15 14 14
xi -1 -1 1 1 -2 -2 2 2 -1 -1 1 1 -2 -2 2 2
yi 1 -1 -1 1 2 -2 -2 2 1 -1 -1 1 2 -2 -2 2
zi 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Tab. 5. The tetrahedral partition for Example 8.3.
d−1 the number of points in the set Dd,△ . This is nV + (d − 1)nE + d−1 2 nF + 3 nT , where nV , nE , nF , and nT are the numbers of vertices, edges, faces, andtetrahedra in △. At the other extreme, the dimension of Sdd (△) is equal to m d+3 3 , where m is the number of connected components of △. Remark 2. By definition, any shellable tetrahedral partition is homeomorphic to a ball in IR3 . The simplest example of a nonshellable partition is the partition consisting of two tetrahedra touching at one vertex. The fact that a tetrahedral partition is homeomorphic to a ball does not imply that it is shellable. For an example consisting of 41 tetrahedra and 14 vertices, see Rudin [6]. Remark 3. For the special case of shellable tetrahedral decompositions, the upper bounds given here agree with those given in [1]. Our lower bounds agree for r = 1, and provide a significant improvement when r > 1. That paper contains two typographical errors: the summation indices in (10) and (15) there should be κ instead of i, and the upper limits of the summation should be k + 1 and k instead of κ + 1 and κ, respectively. 19
r 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4
d 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 4 5 6 7 8 9 10 11 12 13 5 6 7 8 9 10 11 12 13 14
L(r, d) gendim symdim 10 10 12 48 48 48 144 144 144 320 320 320 600 600 600 1008 1008 1008 1568 1568 1568 2304 2304 2304 20 20 22 35 35 46 93 96 108 237 240 256 477 480 500 837 840 864 1341 1344 1372 35 35 37 56 56 64 84 84 112 151 176 208 351 380 420 663 696 744 1111 1148 1204 1719 1760 1824 2511 2556 2628 3511 3560 3640 56 56 58 84 84 92 120 120 140 165 165 220 220 288 356 483 560 644 875 960 1060 1419 1512 1628 2139 2240 2372 3059 3168 3316
U (r, d) 22 68 176 364 656 1076 1648 2396 32 83 176 353 629 1025 1565 47 104 204 360 623 1004 1524 2204 3068 4140 68 132 240 405 640 1006 1509 2170 3010 4050
Tab. 6. Results for Example 8.3.
Remark 4. A shellable partition can be built using only assembly steps of types 0, 23, 24, and 25. However, a tetrahedral partition of a set Ω with holes and/or cavities cannot be shellable. In [3], a tetrahedral partition △ is said to have a regular cavity provided that it can be obtained from a larger tetrahedral partition by removing a shellable subpartition T , all of whose vertices are interior vertices 20
r 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4
d 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 4 5 6 7 8 9 10 11 12 13 5 6 7 8 9 10 11 12 13 14
L(r, d) gendim 10 10 20 20 46 46 112 112 228 228 408 408 666 666 1016 1016 20 20 35 35 56 56 84 84 120 144 242 270 436 464 35 35 56 56 84 84 120 120 165 165 220 224 286 368 428 584 718 886 1108 1288 56 56 84 84 120 120 165 165 220 220 286 286 364 364 455 478 560 712 680 1036
symdim 11 25 57 121 236 416 674 1024 20 35 57 91 157 279 472 35 56 84 120 168 245 381 593 894 1296 56 84 120 165 220 289 380 518 736 1053
U (r, d) 15 39 88 172 306 504 780 1148 26 57 109 193 320 500 748 42 81 143 233 363 543 784 1096 1494 1992 64 112 185 288 427 613 857 1169 1560 2040
Tab. 7. Results for Example 8.4.
of △. A tetrahedral partition △ of a set Ω is said to have a regular hole provided that it can be obtained from a larger tetrahedral partition by removing a shellable subpartition T with the property that if F is a triangular face of a tetrahedron in T and F lies on the boundary of Ω, then F ∈ t1 ∪ t2 , where 21
1) t1 and t2 are shellable triangulations, 2) the triangles of t1 do not touch those in t2 . In [3], a tetrahedral partition △ is said to be regular provided that one of the following holds: 1) △ is shellable, or 2) △ can be obtained from a regular tetrahedral partition by creating a regular hole or a regular cavity. This definition is general enough to include all of the tetrahedral partitions typically used in practice. We conjecture that regular partitions can be built using only assembly steps of types 0, 23, 24, 25, and 27. Remark 5. It was shown in [1] that there exists a tetrahedral decomposition such an arbitrarily small change in the location of the vertices changes the dimension of the corresponding spline space Sdr (△) by a term which is linear in d. It follows that any upper and lower bounds on the dimension of Sdr (△) that work for arbitrary partitions and do not take account of the precise locations of the vertices must differ by a term that is at least O(d). We claim that for d > 2r, the upper and lower bounds of Theorem 3.1 satisfy U (r, d) − L(r, d) = O(d), and thus can be considered to be asymptotically optimal. To see this, we note that the upper bound is U (r, d) = nd −ntips , where ntips is the number of points that are tips of smoothness conditions. By the discussion in Sect. 6, L(r, d) ≥ nd − ncond , where ncond is the number of conditions imposed by smoothness. Thus U (r, d)−L(r, d) ≥ ncond −ntips . When d > 2r, a point can be the tip of more than one smoothness condition only if it lies in a tube tr (e) around an edge of △, and it follows that ncond − ntips = O(d). This proves the claim. Remark 6. The java software that we used for testing our bounds is available at http://www.math.utah.edu/˜pa/3DMDS/. It can be used as an applet directly from the web page, or can be downloaded and used offline. Remark 7. Explicit formulae for the dimension of Sd1 (△) for d ≥ 8 were established in [2] for generic shellable tetrahedral partitions. Comparing with Theorem 7.1, it is easy to see that for such partitions the dimension of Sd1 (△) is equal to the lower bound in (7.1). Remark 8. Recently Lau [4] gave a lower bound for the dimension of Sdr (△) for tetrahedral partitions of simply connected domains. His lower bound differs from our lower bound in Theorem 7.1 in two ways. First, it is missing the term involving VI , and thus is generally much too low. For example, for the partition of Example 8.2 and for the range of r and d shown in Tab. 4, it gives negative numbers for almost all cases. On the other hand, his bound contains an additional nonnegative term which takes account of the geometry of faces surrounding interior edges. We have not attempted to take account of geometry here. 22
Acknowledgement: The first author has benefited from useful conversations with Stew Ethier about some of the combinatorial aspects of the formulae in Sect. 5. References 1. Alfeld, P., Upper and lower bounds on the dimension of multivariate spline spaces, SIAM J. Numer. Anal. 33 (1996), 571–588. 2. Alfeld, P., L.L. Schumaker, and W. Whiteley, The generic dimension of the space of C 1 splines of degree d ≥ 8 on tetrahedral decompositions, SIAM J. Numer. Anal. 30(3) (1993), 889–920. 3. Lai, M.-J. and L. L. Schumaker, Spline Functions on Triangulations, Cambridge University Press, Cambridge, 2007. 4. Lau, W. W., A lower bound for the dimension of trivariate spline spaces, Constr. Approx. 23 (2006), 23–31. 5. Morgan, John and Ridgway Scott, A nodal basis for C 1 piecewise polynomials of degree n ≥ 5, Math. Comp. 29 (1975), 736–740. 6. Rudin, M. E., A unshellable triangulation of a tetrahedron, Bull. Amer. Math. Soc., 64, 1958, 90–91.
23