1 Introduction

Mass-lumped finite elements with a symmetric distribution of nodes on the simplex enable explicit time stepping when solving the wave equation by avoiding the inversion of a large sparse mass matrix. The elements of the lumped mass matrix are proportional to quadrature weights. To avoid zero or negative weights that make time stepping unstable, the elements are enriched with higher-degree polynomials in the interior. Elements of degree 2 [1,2,3,4], 3 [5, 6], 4 [7], 5 [8], 6 [9], 7 and 8 [10, 11] have been found. The last two papers also contain degree-9 elements, but the one in [11] has degree 10 instead of 9 on the edges. In 3D, elements of degree 2 [7], 3 [8], and 4 [12] were found. In the last paper, some of the elements only involve a subset of the higher-degree polynomials on the faces or in the interior of the tetrahedron. Elements of that type will not be considered in this paper.

The construction of these elements involves several steps. Nodes in a symmetric node pattern can be classified according to their equivalence class. For a given degree on the edges, a node pattern has to be chosen, as well as degrees for the faces and interior. All elements found so far include the vertices. Then, a set of equations has to be formed that require quadrature to be exact for a certain set of polynomials. The resulting system may be inconsistent, zero-dimensional with a finite number of solutions, or infinitely many solutions may exist. Among these solutions, only the real-valued ones with positive weights and nodes that do not lie outside the element, or move outside their symmetry class or coincide with another node are of interest, if they exist and can be found. Finally, the basis polynomials have to be mapped to Lagrange interpolating polynomials. It may happen that the Vandermonde matrix of the linear system that governs the mapping may be rank deficient and the element has to be discarded because it is not unisolvent.

To avoid that problem, it helps to know in advance which node patterns for given degrees on edges and interior, and faces in 3D, can provide unisolvence. As degenerate cases such as coinciding nodes may still occur, a necessary condition is all one can ask for. Conjecture 3.1 in [11] states that a node pattern or orbits of a symmetric set of nodes can be unisolvent only if it is the same as the pattern of the simplex with a regular symmetric distribution of nodes, placed on a uniform grid or lattice. A proof of this conjecture as a necessary condition for unisolvence on triangles was presented in [13], for arbitrary polynomial degrees on edges and in the interior, the latter not smaller then the degree on the edges. Triangles and tetrahedra are considered up to degree 10 and 7, respectively, in [14], which only came to my attention when the current paper was almost finished—all part of the game.

The basic principle is that the Lagrange interpolating polynomial of a node of an equivalence class or orbit with a higher degree of symmetry should be invariant under the same coordinate permutations that leave that node invariant. A Lagrange interpolating polynomial can be said to belong to the node where it is one, while zero on all other nodes. This principle was applied in [13] for 2D and allows a straightforward generalization to higher dimensions—the subject of the current paper.

Section 2 describes the equivalence classes or orbits that define the symmetric node patterns on the simplex. Section 3 defines the polynomial spaces in terms of monomials, possibly with different degrees on the m-faces. It is shown that the invertibility of the Vandermonde matrix that defines the Lagrange interpolating polynomials can be decomposed into subproblems that only involve the interior nodes for simplices in m dimensions, with m up to the \(d\) space dimensions of the \(d\)-simplex.

A necessary condition for unisolvence is that the number of unknown coefficients in the Lagrange interpolating polynomials should equal the number of equations obtained by requiring the interpolants to be one on one node and zero on the others. Section 4 contains an example that illustrates how the number of independent coefficients for a given polynomial degree depends on the symmetry class of the node where the interpolant is one and how many equations are available for each class. This leads to a set of linear constraints on the node pattern.

Section 5 provides a formal definition of the linear system, with a matrix depending on the dimension and acting on a vector that defines the node pattern, the latter describing the number of generating nodes per equivalence class or orbit. The right-hand side depends on the maximum degree of the polynomial space. It is subsequently proven that this system has a unique solution. Since the regular symmetric distribution of nodes is known to be unisolvent [15], this proves Conjecture 3.1 of [11]. Section 6 summarizes the main result.

2 Node Patterns

In \(d\) dimensions, the \(d\)-simplex has \(d+1\) vertices and \(n_\textrm{face,m}(d)=\left( {\begin{array}{c}d+1\\ m+1\end{array}}\right) \) m-faces, in particular, \(\left( {\begin{array}{c}d+1\\ 1\end{array}}\right) =d+1\) vertices, \(\left( {\begin{array}{c}d+1\\ 2\end{array}}\right) \) edges, \(\left( {\begin{array}{c}d+1\\ 3\end{array}}\right) \) faces,..., \(\left( {\begin{array}{c}d+1\\ d\end{array}}\right) \) facets, and \(\left( {\begin{array}{c}d+1\\ d+1\end{array}}\right) =1\) interior. Nodes on the unit simplex can be represented by barycentric coordinates \((x_0,x_1,\ldots ,x_{d})\) with \(x_0=1-\sum _{k=1}^dx_k\) and \(0\le x_k\le 1\).

Symmetric node sets are represented by the symmetry group \(S_{d+1}\) containing the \((d+1)!\) permutations of the coordinates of a generating or reference node \(\textbf{x}_{\textrm{g}}\). They can be divided onto equivalence classes by selecting subsets for which two or more of the \(x_k\) are equal.

Keast [16] denotes the equivalence classes by \(\textbf{n}=[n_1,n_2,\ldots ,n_k]\), with \(n_1\ge n_2\ge \ldots \ge n_k>0\), where \(n_k\) is the number of repetitions of a node parameter \(a_k\) for a generating interior node with barycentric coordinate \(\textbf{x}_{\textrm{g}}(\textbf{n})=(a_1,a_1,\ldots ,a_1,a_2,\ldots ,a_2,\ldots ,a_k,\ldots ,a_k)\), where all \(a_\ell \), \(\ell =1,\ldots ,k\), are distinct and positive and \(\sum _{\ell =1}^{k} n_\ell =d+1\). The number of nodes per class characterised by \(\textbf{n}\) for an interior node is

$$\begin{aligned} \nu (d,\textbf{n})=\frac{ (d+1)! }{ \prod _{_\ell } (n_\ell !) }. \end{aligned}$$

The equivalence classes on the m-face can be obtained from the lower-dimensional m-simplex by zero padding of the barycentric coordinates of the interior nodes to a length \(d+1\) and by replacing \(x_0=1-\sum _{k=1}^{m} x_k\) with its \(d\)-dimensional extension \(x_0=1-\sum _{k=1}^{d} x_k\). The other facets then follow from the coordinate permutations. For the m-faces, the number of generated nodes for a class \(\textbf{n}\) is

$$\begin{aligned} n_\textrm{face,m}(d)\nu (m,\textbf{n}) =\frac{(d+1)!}{\left( d+1-\sum _{\ell =1}^{k} n_\ell \right) !\prod _\ell (n_\ell !)}. \end{aligned}$$

By using \(m+1=\sum _{\ell =1}^{k} n_\ell \), the right-hand side does not explicitly refer to the face dimension m.

In what follows, it is assumed that the equivalence classes \(\textbf{n}_{j}\) for the interior nodes are sorted in descending order, starting in the first column and moving to the next in case of equality. Then, \(\textbf{n}_1=[d+1]\), \(\textbf{n}_2=[d,1]\), \(\textbf{n}_3=[d-1,2]\) and \(\textbf{n}_4=[d-1,1,1]\) if \(d\ge 3\), etc., up to \(\textbf{n}_{n_{\textrm{c}}(d)}=[1,\ldots ,1]\), where the number of equivalence class for the interior nodes in \(d\) dimensions is denoted by \(n_{\textrm{c}}(d)\). The latter equals the number of partitions \(\textrm{p}_{d+1}\) of \(d+1\). In particular, \(n_{\textrm{c}}(d)=1,2,3,5,7,11,15,22,30,42,\ldots \) for \(d\) increasing from 0.

Below, the equivalence class or orbit defined by \(\textbf{n}_{j}\) will sometimes be loosely referred to as class j.

Fig. 1
figure 1

The 3 equivalence classes for the interior of the triangle and an example of the corresponding nodes

Table 1 Classes for the interior of the tetrahedron

Figure 1 shows an example of the interior nodes for \(d=2\) and Table 1 lists the equivalence classes and generating nodes for \(d=3\). For each class, the symmetric set of nodes consists of the \(\nu (d,\textbf{n}_j)\) permutations of the generating or reference node \(\textbf{x}_{\textrm{g}}(\textbf{n}_j)\).

A symmetric node pattern defines the number of generating nodes for each equivalence class. For the interior, the pattern is denoted by a vector \(\textbf{K}^d\) of length \(n_{\textrm{c}}(d)\), where \(K_j^d\), \(j=1,\ldots ,n_{\textrm{c}}(d)\), is the number of generating nodes \(\textbf{x}_{\textrm{g}}(\textbf{n}_j)\) in class \(\textbf{n}_j(d)\). Note that the notation \(K_j^d\) rather than \(k_j^d\) is used to avoid confusion with an index k. Concatenation of the interior node patterns \(\textbf{K}^m\) for the m-faces, with m increasing from 0 to \(d\), provides the overall node pattern \((\textbf{K}^0,\textbf{K}^1,\ldots ,\textbf{K}^d)\) for the \(d\)-simplex. For the mass-lumped finite elements mentioned in the introduction, the vertices were always included, implying that \(\textbf{K}^0=(1)\).

3 Polynomials

Polynomials basis functions are chosen to have a degree \(p_{d}\) in the interior and degree \(p_{m}\) when restricted to the m-face. The mass-lumped finite elements mentioned in the introduction generally have \(p_k\ge p_{k-1}\) for \(k=1,\ldots ,d\). On a vertex, \(p_0=1\). The overall degree of the element is taken as \(p_1\) on the edges, with the vertices at the endpoints included.

Define an operator \(\textrm{S}[f]\) that, when acting on a function \(f(x_0,x_1,\ldots ,x_d)\), produces a set of functions obtained by permuting its arguments. The same notation will be used if f is not a single function but a set of functions. In that case, the operator is applied to each element of the set and the results are combined into a single set with duplicates removed. Alternatively, let \(\textbf{S}_k\) be a permutation matrix, with \(k=1,\ldots ,(d+1)!\), corresponding to an element \(\textrm{S}_k\) of the set of permutations operators \(\textrm{S}\), in the sense that \(\textrm{S}_k[f(\textbf{x})] = f(\textbf{S}_k\textbf{x})\) when the arguments are expressed as a vector \(\textbf{x}\). Another approach is a set of index arrays \(\textbf{s}_k\) that lets \(\textbf{S}_{k,\ell }\textbf{x}=\textbf{x}_{\textbf{s}_{k,\ell }}\) for each row \(\ell \) of the matrix \(\textbf{S}_k\). Then, \(\textbf{S}_{k,\ell ,\textbf{s}_{k,\ell }}=1\) and the other elements are zero.

The bubble function on one of the m-faces, the one with \(x_k=0\) for \(m<k\le d\), is \(\eta _m=\prod _{k=0}^m x_k\). The bubble functions on the other m-faces follow from \(S[\eta _m]\). The coordinates in the interior of the m-faces have \(m+1\) non-zero and \(d-m\) zero entries of \(x_k\) in their interior. On the \(m'\)-faces with \(m'<m\), at least one additional \(x_k\) is zero, causing each bubble function on an m-face to become zero on all the \(m'\)-faces.

Consider the polynomials

$$\begin{aligned} V_m= \{ \eta _m \} \otimes P_{p_m-m-1}(x_0,x_1,\ldots ,x_m), \end{aligned}$$

containing products of the bubble function with the monomials in the set

$$\begin{aligned} P_p( x_0,\ldots ,x_m )=\left\{ \prod _{k=0}^m x_k^{\ell _k} \ \bigg \vert \ \sum _{k=0}^m \ell _k=p,\ \ell _k\in {\mathbb {N}}_0 \right\} . \end{aligned}$$

Note that \((x_1,\ldots ,x_m)\) defines a point on the m-face, but that \(x_0=1-\sum _{k=1}^{d} x_k\) is defined on the \(d\)-simplex.

The polynomial space is given by

$$\begin{aligned} U(p_1,\ldots ,p_d) =\bigcup _{m=0}^d\textrm{S}[V_m] = \textrm{S}[x_0] \oplus \textrm{S}[V_1] \oplus \textrm{S}[V_2]\oplus \ldots \oplus V_{d}, \end{aligned}$$

using \(\textrm{S}[V_{d}]=V_{d}\) for \(m=d\), whereas \(\eta _0=x_0\), \(p_0=1\) and \(P_{p_0-1}=\{1\}\) for \(m=0\).

For a node pattern \((\textbf{K}^0,\textbf{K}^1,\ldots ,\textbf{K}^d)\), each m-face contains nodes \(\textbf{x}^{m,k}\), \(k=1,\ldots ,n_\textrm{x}(m)\), with

$$\begin{aligned} n_\textrm{x}(m)=\sum _{j=1}^{n_{\textrm{c}}(m)} \nu (m,\textbf{n}_j) K^m_j, \end{aligned}$$

resulting in a total of \(n_\textrm{x}^{\textrm{total}}(d)=\sum _{m=0}^{d} n_\textrm{face,m}(d)n_\textrm{x}(m)=\sum _{m=0}^{d} \left( {\begin{array}{c}d+1\\ m+1\end{array}}\right) n_\textrm{x}(m)\) points on the \(d\)-simplex.

The Vandermonde matrix \(\textbf{A}\) relates the polynomials \(\phi _j(\textbf{x})\) in \(U(p_1,\ldots ,p_d)\) to the Lagrange interpolating polynomials \(\psi _i(\textbf{x})\), defined through \(\psi _j(\textbf{x}_k)=\delta _{j,k}\), by

$$\begin{aligned} \textbf{A}\varvec{\psi }=\varvec{\phi },\quad A_{i,j}=\phi _i(\textbf{x}_j). \end{aligned}$$

The element characterized by a set of nodes and polynomials is unisolvent if \(\textbf{A}\) is not singular, i.e., \(\det (\textbf{A})\ne 0\) or \(\textrm{rank}(\textbf{A})=n_\textrm{x}^{\textrm{total}}(d)\).

Theorem 1

The Vandermonde matrix for the polynomial space \(U(p_1,\ldots ,p_d)\) and node pattern \((\textbf{K}^0,\textbf{K}^1,\ldots ,\textbf{K}^d)\) on the m-faces of the \(d\)-simplex is non-singular if and only if the Vandermonde matrices for the interiors of all m-simplexes, \(m=0,\ldots ,d\), each with polynomial space \(V_m\) and node pattern \(\textbf{K}^m\) are non-singular.


If the nodes are sorted according the m-faces that contain them, with increasing m, and the polynomials as well, the Vandermonde matrix is block diagonal:

$$\begin{aligned} A=\begin{pmatrix} \textbf{A}^{0,0} &{}\textbf{A}^{0,1} &{} \textbf{A}^{0,2} &{}\ldots &{}\textbf{A}^{0,d-1} &{}\textbf{A}^{d,1} \\ \varvec{0}&{}\textbf{A}^{1,1}&{} \textbf{A}^{1,2} &{}\ldots &{}\textbf{A}^{1,d-1} &{}\textbf{A}^{1,d} \\ \varvec{0}&{}\varvec{0}&{}\textbf{A}^{2,2}&{} \ldots &{}\textbf{A}^{2,d-1} &{}\textbf{A}^{2,d} \\ \vdots &{} \vdots &{} &{} \ddots &{} \vdots &{} \vdots \\ \varvec{0}&{}\varvec{0}&{}\varvec{0}&{} \ldots &{}\textbf{A}^{d-1,d-1} &{} \textbf{A}^{d-1,d}\\ \varvec{0}&{}\varvec{0}&{}\varvec{0}&{} \ldots &{} \varvec{0}&{} \textbf{A}^{d,d} \\ \end{pmatrix}. \end{aligned}$$

If the blocks \(\textbf{A}^{m,m}\) of size \(n_\textrm{x}(m)\times n_\textrm{x}(m)\) are non-singular, applying its inverse to the set of rows where it is located results in an upper triangular matrix with ones on the main diagonal. Therefore, \(\textbf{A}\) is non-singular if and only if each block \(\textbf{A}^{m,m}\) is non-singular.

The matrix \(\textbf{A}^{m,m}\) only involves the polynomials of the set \(S[V_m]\) and nodes on the m-faces. Because of the symmetry among faces, \(\textbf{A}_{m,m}\) is a block-diagonal matrix, if necessary after reordering rows and columns, with \(n_\textrm{face,m}(d)=\left( {\begin{array}{c}d+1\\ m+1\end{array}}\right) \) identical blocks, one for each m-face. Each block corresponds to a lower-dimensional interior problem, in m space dimensions. \(\square \)

Corollary 3.1

In Theorem 1, the polynomial space \(V_m\) on the m-simplex can be replaced by \(P_{p_m-m-1}(x_0,x_1,\ldots ,x_m)\).


On the right-hand side of equation (7), the polynomials \(\phi ^m_j\) for the m-face have a bubble functions \(\eta _m\) as factor, which is shared by the polynomials \(\psi ^{m'}_j\) on the \(m'\)-faces with \(m'>m\). Because of the block upper triangular structure, the bubble function \(\eta _m\) is inherited by the \(\psi ^m_i\) on the m-face, that is, \(\psi _i^m=\eta _m{\overline{\psi }}_i^m\), consistent with Lemma 3.1.10 in [17]. Factoring out \(\eta _m\) provides the result. \(\square \)

Given a generating node \(\textbf{x}_j=\textbf{x}_{\textrm{g}}(\textbf{n}_j)\) for equivalence class \(\textbf{n}_j\), its symmetric counterparts are obtained by \(\textbf{S}_k \textbf{x}_j\) for all permutation matrices \(\textbf{S}_k\). Depending on the amount of symmetry, a subset of these permutation matrices may already suffice.

The Lagrange interpolating polynomial that is one at \(\textbf{x}_j\) and zero at all other nodes on the simplex can be expressed as \(\psi _j(\textbf{x})=\psi (\textbf{x},\textbf{x}_j)\) with \(\psi _j(\textbf{x}_k)=\delta _{j,k}\). It can be loosely referred to as the Lagrange polynomial for node \(\textbf{x}_j\). After applying a permutation matrix \(\textbf{S}_k\), \(\psi _j(\textbf{S}_k\textbf{x})\) will be one for \(\textbf{S}_k\textbf{x}=\textbf{S}_k\textbf{x}_j\) and zero at the other nodes, defined by \(\textbf{x}_{j_0'}=\textbf{S}_k^{}\textbf{x}^{}_{j_0}\), where \(j'\) corresponds to the node \(\textbf{x}_{j'}=\textbf{S}_k\textbf{x}_j\). In summary,

$$\begin{aligned} \psi (\textbf{x},\textbf{x}_j)=\psi (\textbf{S}_k \textbf{x},\textbf{S}_k\textbf{x}_j), \end{aligned}$$


$$\begin{aligned} \psi _j(\textbf{x})=\psi _{j'}(\textbf{S}_k \textbf{x}),\quad \textbf{x}_{j'}=\textbf{S}_k\textbf{x}_j. \end{aligned}$$

If \(\textbf{x}_j\) is one of the generating nodes for equivalence class j and \(\textbf{x}_{j'}\) is one of its symmetric counterparts, then equation (9b) provides the Lagrange interpolating polynomial \(\psi _{j'}(\textbf{x})\) for that node if \(\psi _j(\textbf{x})\) is known. This relation is convenient when coding up a finite element, because it reduces the number of explicit functions and their gradients, needed in for instance [18], to functions for the generating nodes only, which then can be called for the other nodes by rearranging the function arguments.

4 Counting Coefficients

Assuming that the Vandermonde matrix \(\textbf{A}^{d,d}\) for the interior nodes is invertible, the Lagrange polynomial for \(\textbf{x}_j\) with \(\psi _j(\textbf{x}_k)=\delta _{j,k}\) can be expressed as

$$\begin{aligned} \begin{aligned} \psi _j(\textbf{x}) = \sum _{{\varvec{\ell }}} b_{j,{\varvec{\ell }}} \textbf{x}^{\varvec{\ell }}= \sum _{{\varvec{\ell }}} b_{j,{\varvec{\ell }}} \prod _{k=0}^dx_k^{\ell _k}, \\ {\varvec{\ell }}= (\ell _0,\ldots ,\ell _d),\quad \sum _{k=0}^d\ell _k = p,\\ \end{aligned}\end{aligned}$$

where the coefficients are taken from row j of \(\textbf{B}=\left( \textbf{A}^{d,d}\right) ^{-1}\). If a permutation \(\textbf{S}_k\) is applied to a node that stays invariant, equation (9b) with \(j'=j\) states that \(\psi _j(\textbf{x})\) should also be invariant under \(\textbf{S}_k\). The monomials \(\textbf{x}^{\varvec{\ell }}\), however, may or may not stay invariant. Equating \(\psi _j(\textbf{x})=\psi _j(\textbf{S}_k\textbf{x})\) for all permutations that leave \(\textbf{x}_j\) invariant provides additional equations for the \(b_{j,\textbf{m}}\) and decreases the number of independent coefficients.

Example 1

In 2D for degree \(p=3\), the 10 monomials are \(\varvec{\phi }=\{x_0 x_1 x_2\), \(x_0^2 x_1\), \(x_0^2 x_2\), \( x_0 x_1^2\), \( x_0 x_2^2\), \(x_1^2 x_2\), \( x_1 x_2^2\), \( x_0^3\), \( x_1^3,x_2^3\}\). The Lagrange polynomial for the centroid \(\textbf{x}_1=(1/3,1/3,1/3)\) should be invariant under all coordinate permutations. Using this invariance to eliminate several coefficients produces \(\psi _1=c_{1,1} \phi _1+c_{1,2}\sum _{k=2}^7 \phi _k + c_{1,3} \sum _{k=8}^{10} \phi _k\), leaving only 3 independent coefficients. Each of the 3 terms in \(\psi _1\) is invariant under the permutations for class 1 with \(\textbf{n}_1=[3]\) (Fig. 1).

A generating node for class 2 with \(\textbf{n}_2=[2,1]\) is of the form (aab) with \(b=1-2 a\). The permutations that leave the node invariant are \(\{1,2,3\}\) and \(\{2,1,3\}\), leading to a Lagrange interpolant \(\psi _2 = c_{2,1} x_0 x_1 x_2 + c_{2,2} x_0 x_1(x_0+x_1) + c_{2,3}(x_0^2+x_1^2)x_2 + c_{2,4}(x_0+x_1)x_2^2 + c_{2,5} (x_0^3+x_1^3) + c_{2,6} x_2^3\) with 6 coefficients. For the other two nodes, (aba) and (baa), the Lagrange interpolants \(\psi _3\) and \(\psi _4\) follow from \(\psi _2 \) by using equation (9). Class 3 with \(\textbf{n}_2=[1,1,1]\) has no invariant nodes except for the identity permutation and therefore has a Lagrange interpolant \(\psi _5\) with 10 coefficients, one for each monomial. The functions \(\psi _6\) to \(\psi _{10}\) follow from \(\psi _5\) by equation (9).

The number of coefficients per class can be summarized by a vector \(\textbf{r}=(3,6,10)^\textsf{T}\).

The terms of the Lagrange interpolants that contain only one coefficient per monomial are \(c_{1,1} x_0 x_1 x_2\) for class 1, \(c_{2,1} x_0 x_1 x_2\) and \(c_{2,6} x_2^3\) for class 2, and all terms for class 3. These numbers can be summarized by a vector \(\textbf{f}=(1,2,10)^\textsf{T}\).

The coefficients for each Lagrange polynomial should follow from the requirement that it is one on one node and zero on the others. For class 2, substitution of a class-2 node of the form \(\textbf{x}=(a,a,b)\) and its permutations into \(\psi _2\) produces 3 equations, \(\psi _2(a,a,b)=1\), \(\psi _2(a,b,a)=0\) and \(\psi _2(b,a,a)=0\), of which the last 2 are the same. Likewise a class-3 node of the form \(\textbf{x}=(a,b,c)\) provides 3 equations for 6 nodes. Repeating this for \(\psi _1\) produces 1 equation for a node of class 1, 2 or 3. For \(\psi _5\), the number of equations are 1, 3, and 6, respectively. Substitution of the centroid provides one equation for each \(\psi _k\).

Requiring the number of equations to be the same as the number of coefficients as a necessary condition for unisolvence provides \(\textbf{W}\textbf{K}=\textbf{r}\), with

$$\begin{aligned}\textbf{W}=\begin{pmatrix}1&{}1&{}1\\ 1&{}2&{}3\\ 1&{}3&{}6\end{pmatrix},\end{aligned}$$

where \(\textbf{r}\) counts the number of coefficients for a given degree and \(\textbf{W}\) counts the number of available equations for the nodes of each class. The current example has \(\textbf{K}=(1,1,1)^\textsf{T}\) as solution, one generating node for each class.

A subset is formed by the coefficients of the Lagrange interpolants that involve a single monomial. These are counted by \(\textbf{f}\). The corresponding subset of \(\textbf{W}\) is denoted by \(\textbf{V}\) and leads to the set of conditions \(\textbf{V}\textbf{K}=\textbf{f}\). The above term \(c_{1,1} x_0 x_1 x_2\) has class-1 symmetry and results in \(v_{1,1}=1\), since there is only one such term. The term \(c_{2,1} x_0 x_1 x_2\) also has class-1 symmetry and is counted by \(v_{2,1}\), and \(c_{2,6} x_2^3\) has class-2 symmetry is accounted for by \(v_{2,2}\). The third row of \(\textbf{V}\) count how the monomials for \(\psi _5\) are distributed over the equivalence classes and is the same as the last row of \(\textbf{W}\). All together,

$$\begin{aligned}\textbf{V}=\begin{pmatrix}1&{}0&{}0\\ 1&{}1&{}0 \\ 1&{}3&{}6\end{pmatrix}.\end{aligned}$$

A necessary condition for unisolvence is that the total number of nodes equals the number of independent polynomials spanning a polynomial space, in this case the monomials of equation (4) with \(m=d\). The example reveals additional requirements for each equivalence class, as a number of linear constraints on \(\textbf{K}\) of the form

$$\begin{aligned} \textbf{V}\textbf{K}= \textbf{f}(p),\end{aligned}$$


$$\begin{aligned} \textbf{W}\textbf{K}=\textbf{r}(p).\end{aligned}$$

Formal definitions will be given in the next section.

Simple cases are \(d=0\) and 1. For \(d=0\), \(K_1=1\) if the vertices are included and \(K_1=0\) if not.

In the 1-D case, there is a unique polynomial of degree \(p\) that interpolates \(p+1\) distinct points. The number of interior nodes \(n_\textrm{x}=K_1+2 K_2\), where subscript 1 corresponds to the midpoint of an edge and subscript 2 to a different point, excluding the endpoints. The factor 2 is due to symmetry. The number of nodes should equal the number of coefficients in the polynomial: \(n_\textrm{x}=K_1+2 K_2=p+1\), implying that \(K_1=1\) if \(p\) is even, whereas \(K_1=0\) for odd \(p\). Furthermore, \(K_2=\tfrac{1}{2}(p+1-K_1)=\textrm{floor}(\tfrac{1}{2}(p+1))\) and \(K_1+K_2=1+\textrm{floor}(\tfrac{1}{2}p)\). The expressions in equations (11) and (12) become

$$\begin{aligned} \textbf{V}= \begin{pmatrix} 1 &{} 0\\ 1 &{} 2\end{pmatrix},\quad \textbf{f}(p) = \begin{pmatrix}{\textrm{mod}}_{2}{(p+1)}\\ p+1 \end{pmatrix}, \end{aligned}$$


$$\begin{aligned} \textbf{W}=\begin{pmatrix} 1 &{} 1\\ 1 &{} 2\end{pmatrix},\quad \textbf{r}(p) = \begin{pmatrix}1+\textrm{floor}(\tfrac{1}{2}p)\\ p+1 \end{pmatrix}. \end{aligned}$$

5 Necessary Conditions for Unisolvence

According to Corollary 3.1, it suffices to consider unisolvence for polynomials of degree \(p=p_m-m-1\) and the node pattern \(\textbf{K}^m\) for the interior nodes of the simplex in m dimensions, for \(m=0,\ldots ,d\). From here onwards, a fixed spatial dimension \(m=d\) will be considered and the related sub- or superscript or argument will often be dropped.

One necessary condition for unisolvence is that the number of nodes \(n_\textrm{x}(d)\) in the interior of the \(d\)-simplex equals the number of monomials \(n_\textrm{p}(d,p)\) in the set defined by equation (4) for \(m=d\). This provides one linear constraint, detailed as Property A.1 in Appendix A. Other necessary conditions in the form of constraints are the related to the symmetry of the equivalence classes, one condition for each class, leading to matrices \(\textbf{V}\) and \(\textbf{W}\) of size \(n_{\textrm{c}}\times n_{\textrm{c}}\) and vectors \(\textbf{f}\) and \(\textbf{r}\) of length \(n_{\textrm{c}}\). The conditions (11) are obtained by counting terms in the Lagrange interpolant with a single coefficient for a monomial. The conditions (12) involve a count of these coefficients as well as the number of terms with more than one monomial per coefficient. Before going to formal definitions of the matrices and right-hand sides, two more examples may help to understand what they represent.

Example 2

Consider the Lagrange interpolant for the centroid. According to equation (9), it should be symmetric with respect to the centroid and, therefore, can only depend on polynomials that are symmetric in \(x_0\) to \(x_{d}\). The number of coefficients required to represent these polynomials in terms of the monomials of equation (4) with \(m=d\) is counted by \(r_1(p)\), for class 1 with \(\textbf{n}_1=[d+1]\) that describes the symmetry of the centroid.

The first row of \(\textbf{W}\) describes how these polynomials are distributed over the nodes of the various symmetry classes. Symmetric polynomials for each class can be obtained by either taking monomials with the same symmetry or by adding the least number of monomials that provide the desired symmetry. For class 1, this results in only one coefficient per class, and hence, the first row of \(\textbf{W}\) has \(w_{1,k}=1\) for \(k=1,\ldots ,n_{\textrm{c}}\). Property B.3 lists additional details.

A subset of these polynomials share the symmetry of class 1 and do not have to be added. Their number is counted by \(f_1(p)\) and the way they are distributed over the classes by the first row of \(\textbf{V}\), which then will have 1 on the diagonal and zeros elsewhere, spelled out as Property A.2.

Example 3

Another example is the hyperplane defined by \(x_0=x_1=\cdots =x_{d-1}\). A node on that plane either can be taken as a generating node for class \(n_{\textrm{c}}-1\), or it belongs to a class \(j < n_{\textrm{c}}-1\) with a higher degree of symmetry. The centroid is among them. The right-hand side \(f_{n_{\textrm{c}}-1}(p)\) counts how many monomials have the same invariance as the nodes on the chosen hyperplane and row \(n_{\textrm{c}}-1\) of \(\textbf{V}\) describes how these are distributed over the classes these nodes belong to.

Nodes outside the plane have mirror symmetry w.r.t. the chosen hyperplane. Therefore, only half of the number of nodes outside the hyperplane can contribute to define the coefficients of the Lagrange interpolants that are one on a node of the hyperplane and have the same mirror symmetry, as stated by equation (9). This determines row number \(n_{\textrm{c}}-1\) of \(\textbf{W}\), whereas \(r_{n_{\textrm{c}}-1}(p)\) counts the number of contributing monomials. Details are given in Properties A.5, B.4 and B.5 and their proofs.

For unisolvence, the necessary conditions on the node pattern \(\textbf{K}\) are summarized by \(\textbf{V}\textbf{K}=\textbf{f}(p)\), where \(\textbf{V}\) is a square matrix with \(n_{\textrm{c}}(d)\) rows and columns and \(\textbf{f}(p)\) is a vector that depends on the degree \(p=p_d-d-1\). The matrix is defined by the following.

Recall that \(K_j\) is the number of generating nodes \(\textbf{x}_{\textrm{g}}(\textbf{n}_j)\) in equivalence class \(\textbf{n}_j\) for the interior of the \(d\)-simplex. The other nodes are obtained as the permutations \(\textbf{S}_i\textbf{x}_{\textrm{g}}(\textbf{n}_j)\) of the generating node.

A subset \(L_j\) of the set \(\textrm{S}\) of all the permutations on the simplex is defined by those that leave the nodes of equivalence class \(\textbf{n}_j\) invariant. The entry \(v_{j,k}\) is defined as the number of nodes of the same or another equivalence class \(\textbf{n}_k\) that are also invariant under the permutations of \(L_j\). Stated in another way: if

$$\begin{aligned} N_j(\textbf{x}) = \left\{ {\textbf{S}}_i \textbf{x}\, \big \vert \,{\textbf{S}}_i\in L_j \right\} \end{aligned}$$

is the set of nodes obtained from node \(\textbf{x}\) by applying the permutations of \(L_j\), then the set

$$\begin{aligned} X_{j,k} = {\bigcup }_{ \textbf{x}\in \textrm{class}\ k,\ \vert {N_j(\textbf{x})}\vert =1 } \ N_j(\textbf{x}) \end{aligned}$$

contains the nodes of class \(\textbf{n}_k\) that remain invariant under \(L_j\) and \(v_{j,k} = \left| {X_{j,k}}\right| \) is defined as its cardinality.

Example 4

The node (aabb) with \(b=\frac{1}{2}-a\) in Table 1 for 3D belongs to class 3 with \(n_3=[2,2]\). Among its 6 permutations, (aabb), (abab), (abba), (baab), (baba) and (bbaa), there are two that remain invariant under \(L_3\), namely the node itself and (bbaa), implying \(v_{3,3}=2\). From the other classes, only the centroid is invariant under \(L_3\). Therefore, row 3 of \(\textbf{V}\) is (1, 0, 2, 0, 0).

The components \(f_j(p)\) on the right-hand side of equation (11) are defined as the number of monomials in the set \(P_p(x_0,\ldots ,x_d)\) of equation (4) that are invariant under the coordinate permutation \(L_j\). Before going to a formal definition, the following is worth noting.

Theorem 2

The powers of the monomials in the set \(P_p\) of equation (4) in \(d\) dimensions share their equivalence classes with a regular, unisolvent set of nodes on the \(d\)-simplex.


The distribution of powers in equation (4) for \(m=d\) follows that of the regular \(d\)-simplex with sides of length \(p\) in natural coordinates, after multiplying the length of its edges by \(p\). In this way, \(\ell _{k}/p\) is identified with the \(x_{k}\)-axis for \(k=0,\ldots ,d\). This regular simplex with nodes on a uniform grid is unisolvent [15] and has the same number of nodes as the number of monomials, specified by equation (A1). An index permutation \(\textbf{s}_{j,k}\) corresponding to \(\textbf{S}_k\in L_j\) for class j, applied to both the node coordinates and the powers, leaves the monomial the same:

$$\begin{aligned} \prod _{i=0}^dx_{{s}_{j,k,i}}^{\ell _{{s}_{j,k,i}}}= \prod _{i=0}^dx_i^{\ell _i}. \end{aligned}$$

Because interchanging coordinates simultaneously with their powers does not alter the monomial, the generating nodes for the coordinates and for the powers belong to the same equivalence class. If some of the coordinates of a node in class j are the same, the corresponding powers appear as a sum in the monomials, which is invariant under the permutations from the set \(L_j\). If some of the powers are the same in agreement with class j, the product of the coordinates is invariant under the permutations from the set \(L_j\). \(\square \)

Note that this match between the equivalence classes of the powers of monomials and those of the interpolating nodes has a wider applicability to other symmetric nodes sets in combination with symmetric sets of polynomials or other types of symmetric basis functions.

With Theorem 2, \(f_j(d)\) can be defined analogously to equations (15) and (16). Let

$$\begin{aligned} O_p^d =\left\{ {\varvec{\ell }}=(\ell _0,\ldots ,\ell _d) \,\bigg \vert \, \sum _{i=0}^d\ell _i = p,\ \ell _i\in {\mathbb {N}}_0 \right\} \end{aligned}$$

characterize the monomials by their powers. The set of sets

$$\begin{aligned} M_j ({\varvec{\ell }})=\left\{ \textbf{S}_i {\varvec{\ell }}^\textsf{T}\, \big \vert \,{\textbf{S}}_i\in L_j \right\} , \end{aligned}$$

characterizes monomials obtained from the powers \({\varvec{\ell }}\in O_p^d\) by applying the permutations of \(L_j\) and

$$\begin{aligned} f_j(d) = \left| {Y_j}\right| ,\quad Y_j={\bigcup }_{ {\varvec{\ell }}\in O_p^d,\ \vert M_j({\varvec{\ell }}) \vert =1 } \ M_j({\varvec{\ell }}). \end{aligned}$$

The matrix \(\textbf{W}\) and the related right-hand side vector \(\textbf{r}(p)\) are not needed in what follows. Appendix B contains their definitions as well as various properties.

Theorem 3

The matrix \(\textbf{V}\) can be inverted.


Entry \(v_{j,k}\) of \(\textbf{V}\) represents the number of nodes of equivalence class \(\textbf{n}_k\) that are invariant under the permutations \(L_j\) that leave nodes of class \(\textbf{n}_j\) invariant.

A node of class \(\textbf{n}_j\) is by definition invariant under \(L_j\), implying that \(v_{j,j}\ge 1\). Classes with a higher degree of symmetry have \(k<j\) if the equivalence classes are ordered according to Sect. 2, implying \(v_{j,k}\ge 0\), whereas nodes with a lower degree of symmetry are excluded, implying \(v_{j,k}=0\) for \(k>j\). Therefore, the matrix is lower triangular with non-negative integers on the diagonal. Because its determinant is the product of the diagonal values, the linear system \(\textbf{V}\textbf{K}=\textbf{f}\) has a unique solution. \(\square \)

Theorem 4

A necessary condition for unisolvence of a node pattern for degree \(p\) on the \(d\)-simplex is that it is the same as the node pattern of the regular degree-\(p\) element on the \(d\)-simplex.


The regular simplex is unisolvent [15] and satisfies equation (11). Because this system has a unique solution according to Theorem 3, this proves Conjecture 3.1 of [11], stating that a necessary condition for unisolvence in the interior of the \(d\)-simplex is a node pattern or orbit that is the same as that of a regular symmetric distribution of nodes. \(\square \)

From the monomial powers for degree \(p\) in \(d\) dimensions, not only \(\textbf{f}\) can be determined, but also \(\textbf{K}\). The Mathematica [19] code fragment in Listing 1 computes these node patterns as Kreg on a regular element from degree 0 to pmax on the simplex in ndim dimensions, without referring to \(\textbf{f}\).

figure a

More properties of \(\textbf{V}\) and \(\textbf{f}\) can be found in Appendix A. Appendix C lists examples of \(\textbf{V}\) and \(\textbf{f}\) for dimensions 1 to 6 up to degree 23. The Mathematica kernel script sympat.m that generated these results with the option to include \(\textbf{W}\) and \(\textbf{r}\), for limited values of the degree \(p\) and a small number of dimensions \(d\), is included as supplemental file.

6 Conclusions

For a polynomial space on the \(d\)-simplex with non-decreasing degrees on its m-faces as m increases, a necessary condition on the symmetric node pattern for unisolvence has been presented. It leads to a proof of the conjecture that the node pattern should be the same as that of the regular \(d\)-simplex for a given degree, with nodes on a uniform grid. The line of reasoning, in particular of Theorem 2 stating that the symmetry of the equivalence classes or orbits for the nodes should match that of the monomial powers in the polynomial basis, may be generalized to other symmetric distributions of nodes and polynomial spaces or other types of basis functions with analogous symmetry properties.