Pith. sign in

REVIEW 4 minor 29 references

Algorithm XXXX: Computation of finite element degree-of-freedom transformation matrices

T0 review · 0 major / 4 minor · reviewed 2026-07-10 · grok-4.5

Pith's one-line read A single algorithm builds the degree-of-freedom maps that keep high-order finite-element spaces continuous on any mesh.

desk verdict Solid, usable algorithm that removes the last hand-coded bottleneck for high-order DOF maps; the math is clean and the code ships. read the letter →

arxiv 2607.08172 v1 pith:BTVBEATV submitted 2026-07-09 math.NA cs.NA

classification math.NAcs.NA MSC 65N3065D0565Y20
keywords finiteelementmethodsdegree-of-freedomtransformationsCiarletelementshigh-orderDOFmapsreference-cellsymmetrypush-forward
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

High-order finite elements make better use of modern processors because they do more arithmetic per byte of data movement. To keep the global solution continuous, neighbouring cells must agree on how the degrees of freedom sit on shared edges and faces; on unstructured meshes those edges and faces are often oriented differently. Until now every element type needed its own hand-written correction code. This paper shows that the corrections can be computed automatically from nothing more than the mathematical definition of the element (the Ciarlet triple) and the geometry of the reference cell. The resulting base transformation matrices are small, can be applied in place, and work for any polynomial degree. Consequently new elements, including user-defined ones created at run time, no longer require special transformation logic.

What carries the argument

Base transformation matrices B_E^rot and B_E^ref: they are obtained by pushing the reference basis functions forward under the generators of the sub-entity symmetry group and then evaluating the original dual functionals on the images; products of these matrices form the full degree-of-freedom transformation for any physical cell.

What would settle it

Implement any widely used high-order element (Lagrange, Nédélec, Raviart–Thomas, …) solely from its Ciarlet definition, assemble a discontinuous mesh problem, apply the computed transformations, and check whether the global degrees of freedom on every shared edge and face become identical; a single mismatch falsifies the claim.

Watch

Extended reading notes

Core claim

Given only a Ciarlet finite element (reference cell R, polynomial space V, dual basis L) and the geometric generators of the cell’s symmetry group, there is a universal algorithm that produces the base reflection and rotation matrices for every sub-entity; these matrices restore the correct inter-cell continuity for arbitrary degree without any element-specific implementation.

Load-bearing premise

The algorithm rests on three assumptions that hold for all common elements: each sub-entity of the same type carries the same functionals, each functional only looks at values on its own entity, and rotating or reflecting an entity does not change the span of the associated basis functions.

Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

0 major / 4 minor

Summary. The paper presents a universal algorithm that, given only a Ciarlet triple (R, V, L) and the fixed geometric generators of the reference cell’s symmetry group, computes the base DOF transformation matrices B_E^rot and B_E^ref for every sub-entity E. These matrices restore inter-cell continuity for arbitrary polynomial degree without element-specific code. The derivation proceeds from the dual basis through push-forwards under the generators (eqs. 5–14, §3.4) to Algorithm 1 / Algorithm 2 (§4). Two worked examples (Lagrange Q3, Nédélec II) recover the expected permutation and sign-change matrices; in-place application via LU and cycle-following permutations is described (§5). The method is implemented in Basix (C++) and a Symfem Python prototype, enabling runtime custom elements.

Significance. If the result holds, the paper removes a long-standing practical obstacle to high-order FEM on unstructured meshes: the need for hand-written DOF transformations for every new element. The algorithm is constructive, rests only on three standard assumptions that hold for the elements it claims to support, and ships with open-source, independently verifiable implementations. This is a genuine engineering advance for libraries such as FEniCSx and for users who wish to define custom elements at runtime. The contribution is therefore significant for mathematical software and high-order FEM practice.

minor comments (4)
  1. §6 notes that elements with derivative DOFs (Hermite, Bell, Argyris) are currently unsupported in the rest of FEniCSx; a one-sentence clarification of whether Assumptions 1–3 themselves fail for those elements, or whether only the surrounding infrastructure is missing, would help readers judge the precise scope of the algorithm.
  2. Figure 1 caption and the surrounding text refer to “the incorrect basis function”; a short explicit statement that the plotted function is the result of mismatched global DOF numbering would make the figure self-contained.
  3. In §4.3 the inverse formulae for B_rot and B_ref are stated correctly, but a brief remark that the same relations hold for the transpose (already used in the assembly formulae of §3.1) would avoid a possible reader confusion.
  4. A few typographical slips remain (e.g., “evaulation”, “to the two cells to place”, “we will not require these assumptions later when we define algorithms”). These are easily corrected in proof.

Circularity Check

0 steps flagged · score 0.0 of 10

No circularity: constructive algorithm from Ciarlet triple + geometric generators under explicit assumptions

full rationale

The paper's central claim is a constructive procedure (Algorithm 1 / §4, with the quadrature form in Algorithm 2) that, given only a Ciarlet triple (R, V, L) and the fixed geometric generators of the reference cell's symmetry group (Table 1), produces the base transformation matrices B_E^rot and B_E^ref. Section 3.4 derives that these matrices re-express the pushed-forward dual basis under any composition of the generators (eqs. 7–14), provided Assumptions 1–3 hold. Those assumptions are stated explicitly, are standard for the elements the paper claims to support, and are used only to guarantee that the dual basis remains a basis after restriction and push-forward; they are not hidden or fitted. The algorithm does not fit free parameters to data, does not rename a known empirical pattern, and does not import a uniqueness theorem that forbids alternatives. Self-citations to Basix, the earlier orientation paper [27], and Symfem supply infrastructure and implementation context, not the load-bearing derivation of the matrices themselves. Explicit worked examples (Lagrange degree 3, Nédélec degree 2) and open-source code further allow independent verification. No step reduces by construction to its own inputs.

Assumptions & free parameters 0 free parameters · 5 assumptions · 1 invented entities

The central claim rests on the classical Ciarlet definition of a finite element, three domain assumptions that hold for standard elements, and the existence of the usual Piola-type push-forwards. No free parameters are fitted; the only invented objects are the base transformation matrices themselves, which are defined constructively and verified by direct evaluation.

assumptions (5)
  • standard math A finite element is a Ciarlet triple (R, V, L) with dual basis functionals associated to sub-entities (Definition 1).
    Invoked throughout §2–4 as the sole input to the algorithm.
  • domain assumption Assumption 1: sub-entities of the same type carry equivalent sets of DOF functionals.
    Stated in §2; required for neighbouring cells to share matching DOFs.
  • domain assumption Assumption 2: each functional depends only on values restricted to its associated sub-entity.
    Stated in §2; permits evaluation of functionals after a geometric map that may move the rest of the cell.
  • domain assumption Assumption 3: the push-forward under any affine bijection of a sub-entity spans the same restricted space of basis functions.
    Stated in §2 and used to guarantee that the base matrices map the local space into itself (eq. 5).
  • standard math Standard Piola-type push-forwards (identity, covariant, contravariant) preserve the required continuity properties.
    Used in §2.2 and Algorithm 1; taken from classical FEM literature.
invented entities (1)
  • Base transformation matrices B_E^rot and B_E^ref independent evidence
    purpose: Encode the action of the generators of the symmetry group of each sub-entity on the local DOFs.
    Defined constructively in eqs. 7–8 and Algorithm 1; they are the direct output of the method rather than postulated mediators.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Algorithm XXXX: Computation of finite element degree-of-freedom transformation matrices." pith.science (2026). https://pith.science/paper/BTVBEATV

@misc{pith2026260708172,
  author       = {Pith},
  title        = {Pith review of: Algorithm XXXX: Computation of finite element degree-of-freedom transformation matrices},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/BTVBEATV}},
  note         = {Machine review of arXiv:2607.08172}
}
read the original abstract

The arithmetic intensity of algorithms for computing finite element operators increases with increasing polynomial degree. This has made high degree methods particularly attractive on modern CPU and GPU architectures, since on these architectures performance at low degree is limited (severely) by the available memory bandwidth and only a very small fraction of the floating point capacity of the processor is used. Higher degree methods can exploit a significantly greater fraction of the available compute power of modern architectures. However, whilst stable methods for computing high-degree finite element bases are well-established, there is no universal and automated algorithm for the efficient construction of the degree-of-freedom map for arbitrary degree elements. We address this with a new algorithm that can be used in computing degree-of-freedom maps for an arbitrary Ciarlet-type finite element using only the element's definition and properties of the reference cell, and without requiring a specific implementation for each element. This method is implemented in the library Basix, a component of the FEniCSx libraries. As well as allowing vast simplifications of parts of a codebase, the algorithm allows for new elements to be implemented with ease and has allowed us to support user-defined custom elements that a user can create at runtime without requiring the user to input any information about transformations required to construct a degree-of-freedom map.

Figures

Figures reproduced from arXiv: 2607.08172 by the authors.

Figure 1
Figure 1. In an unstructured mesh, two neighbouring cells will not necessarily agree on the orientation of their sub-entities: the two [PITH_FULL_IMAGE:figures/full_fig_p002_1.png] view at source ↗
Figure 2
Figure 2. The numbering of the sub-entities of a quadrilateral reference cell. [PITH_FULL_IMAGE:figures/full_fig_p005_2.png] view at source ↗
Figure 3
Figure 3. The DOFs of a degree 3 Lagrange element on a quadrilateral. [PITH_FULL_IMAGE:figures/full_fig_p005_3.png] view at source ↗
Figures from the paper (10 more)
Figure 4
Figure 4. Figure 4: The numbering of the sub-entities of a tetrahedral reference cell. [PITH_FULL_IMAGE:figures/full_fig_p005_4.png]
Figure 5
Figure 5. Figure 5: The DOFs of a degree 2 Nédélec first kind element on a tetrahedron. [PITH_FULL_IMAGE:figures/full_fig_p006_5.png]
Figure 6
Figure 6. Figure 6: The two vertical lines on the left represent the same edge from the point of view of two neighbouring cells, and include the [PITH_FULL_IMAGE:figures/full_fig_p007_6.png]
Figure 7
Figure 7. Figure 7: An example showing the notation introduced. In this example, [PITH_FULL_IMAGE:figures/full_fig_p009_7.png]
Figure 8
Figure 8. Figure 8: The three functions from figure 10 that transform the sub-entities of a tetrahedron. In each case, the sub-entity that the function is transforming is shown in red. In the entity numbering used by Basix (see figure 4), the edge in the top plot is numbered 0 and the fac…
Figure 9
Figure 9. Figure 9: Python code that computes the base transformations of a Symfem element. The function [PITH_FULL_IMAGE:figures/full_fig_p014_9.png]
Figure 10
Figure 10. Figure 10: The three transformations returned by get_sub_entity_transformations for a tetrahedral cell. In each tuple, the first item is a name for the transformation, the second item gives the dimension and index of the sub-entity, and the third item a function that performs th…
Figure 11
Figure 11. Figure 11: Precomputation step for a permutation. 1 def apply_permutation ( perm : List [int], data : List [ Any ]): 2 """ Apply a permutation to some data .""" 3 for i , j in enumerate ( perm ): 4 data [i], data [j] = data [j], data [i] [PITH_FULL_IMAGE:figures/full_fig_p019_11.png]
Figure 13
Figure 13. Figure 13: Precomputation step for a matrix to support in-place products. The LU decomposition could be computed in place using [PITH_FULL_IMAGE:figures/full_fig_p020_13.png]
Figure 14
Figure 14. Figure 14: Performing an in-place matrix–vector product. [PITH_FULL_IMAGE:figures/full_fig_p020_14.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

29 extracted references · 29 canonical work pages

  1. [1]

    Rainer Agelek, Michael Anderson, Wolfgang Bangerth, and William L. Barth. 2017. On orienting edges of unstructured two- and three-dimensional meshes.ACM Trans. Math. Software44, 1, Article 5 (2017), 22 pages. https://doi.org/10.1145/3061708

  2. [2]

    Anderson, Z

    E. Anderson, Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen. 1999.LAPACK Users’ Guide(third ed.). Society for Industrial and Applied Mathematics

  3. [3]

    Argyris, Isaac Fried, and Dieter W

    John H. Argyris, Isaac Fried, and Dieter W. Scharpf. 1968. The TUBA Family of Plate Elements for the Matrix Displacement Method.The Aeronautical Journal72, 692 (1968), 701–709. https://doi.org/10.1017/S000192400008489X

  4. [4]

    Arnold and Gerard Awanou

    Douglas N. Arnold and Gerard Awanou. 2011. The serendipity family of finite elements.Foundations of Computational Mathematics11, 3 (2011), 337–344. https://doi.org/10.1007/s10208-011-9087-3

  5. [5]

    Arnold, Daniele Boffi, and Richard S

    Douglas N. Arnold, Daniele Boffi, and Richard S. Falk. 2005. Quadrilateral 𝐻(div) Finite Elements.SIAM J. Numer. Anal.42 (2005), 2429–2451. https://doi.org/10.1137/S0036142903431924

  6. [6]

    DOLFINx: the next generation FEniCS problem solving environment

    Igor A. Baratta, Joseph P. Dean, Jørgen S. Dokken, Michal Habera, Jack S. Hale, Chris N. Richardson, Marie E. Rognes, Matthew W. Scroggs, Nathan Sime, and Garth N. Wells. 2023. DOLFINx: The next generation FEniCS problem solving environment. (2023). https://doi.org/10.5281/zenodo.10447666 preprint

  7. [7]

    Kolbein Bell. 1969. A refined triangular plate bending finite element.Internat. J. Numer. Methods Engrg.1, 1 (1969), 101–122. https://doi.org/10.1002/ nme.1620010108

  8. [8]

    Donatella Marini

    Franco Brezzi, Jim Douglas, and L. Donatella Marini. 1985. Two families of mixed finite elements for second order elliptic problems.Numer. Math. 47 (1985), 217–235. https://doi.org/10.1007/BF01389710

Show all 29 references
  1. [9]

    Philippe G. Ciarlet. 1978.The Finite Element Method for Elliptic Problems. North-Holland, Amsterdam

  2. [10]

    Ciarlet and Pierre-Arnaud Raviart

    Philippe G. Ciarlet and Pierre-Arnaud Raviart. 1972. Interpolation theory over curved elements, with applications to finite element methods. Computer Methods in Applied Mechanics and Engineering1, 2 (1972), 217–249. https://doi.org/10.1016/0045-7825(72)90006-0

  3. [11]

    David Eisenstat. 2014. Is there an algorithm to multiply square matrices in-place? Stack Overflow. https://stackoverflow.com/a/25451717 [Online; accessed 09-January-2026]

  4. [12]

    2021.Finite Elements I: Approximation and Interpolation

    Alexandre Ern and Guermond Jean-Luc. 2021.Finite Elements I: Approximation and Interpolation. Springer. https://doi.org/10.1007/978-3-030-56341-7

  5. [13]

    and Munro, J

    Fich, Faith E. and Munro, J. Ian and Poblete, Patricio V. 1995. Permuting in place.SIAM J. Comput.24, 2 (1995), 266–278. https://doi.org/10.1137/ S0097539792238649

  6. [14]

    Robert C. Kirby. 2018. A general approach to transforming finite elements.The SMAI journal of computational mathematics4 (2018), 197–224. https://doi.org/10.5802/smai-jcm.33

  7. [15]

    Kirby, Anders Logg, Marie E

    Robert C. Kirby, Anders Logg, Marie E. Rognes, and Andy R. Terrel. 2012. Common and Unusual Finite Elements. InAutomated Solution of Differential Equations by the Finite Element Method, Anders Logg, Kent-Andre Mardal, and Garth N. Wells (Eds.). Lecture Notes in Computational S...

  8. [16]

    Smith, Mateusz Paprocki, Ondřej Čertík, Sergey B

    Aaron Meurer, Christopher P. Smith, Mateusz Paprocki, Ondřej Čertík, Sergey B. Kirpichev, Matthew Rocklin, AMiT Kumar, Sergiu Ivanov, Jason K. Moore, Sartaj Singh, Thilina Rathnayake, Sean Vig, Brian E. Granger, Richard P. Muller, Francesco Bonazzi, Harsh Gupta, Shivam Vats, F...

  9. [17]

    Jean-Claude Nédélec. 1980. Mixed finite elements inR 3.Numer. Math.35, 3 (1980), 315–341. https://doi.org/10.1007/BF01396415

  10. [18]

    Jean-Claude Nédélec. 1986. A new family of mixed finite elements inR 3.Numer. Math.50, 1 (1986), 57–81. https://doi.org/10.1007/BF01389668

  11. [19]

    Pierre-Arnaud Raviart and Jean-Marie Thomas. 1977. A mixed finite element method for 2nd order elliptic problems. InMathematical aspects of finite element methods, Ilio Galligani and Enrico Magenes (Eds.). Vol. 606. 292–315

  12. [20]

    Rognes, Robert C

    Marie E. Rognes, Robert C. Kirby, and Anders Logg. 2009. Efficient assembly of 𝐻(div) and 𝐻(curl) conforming finite elements.SIAM Journal on Scientific Computing31, 6 (2009), 4130–4151. https://doi.org/10.1137/08073901X

  13. [21]

    Matthew W. Scroggs. 2021. Symfem: a symbolic finite element definition library.Journal of Open Source Software6, 64 (2021), 3556. https: //doi.org/10.21105/joss.03556

  14. [22]

    Matthew W. Scroggs. 2024. DOF transformations. https://github.com/mscroggs/dof-transformations. Manuscript submitted to ACM 22 Matthew W. Scroggs and Garth N. Wells

  15. [23]

    Scroggs, Igor A

    Matthew W. Scroggs, Igor A. Baratta, Chris N. Richardson, and Garth N. Wells. 2020–2024. Basix: FEniCSx finite element basis evaluation library. https://github.com/FEniCS/basix/

  16. [24]

    Scroggs, Igor A

    Matthew W. Scroggs, Igor A. Baratta, Chris N. Richardson, and Garth N. Wells. 2022. Basix: a runtime finite element basis evaluation library.Journal of Open Source Software7, 73 (2022), 3982. https://doi.org/10.21105/joss.03982

  17. [25]

    Scroggs, Pablo D

    Matthew W. Scroggs, Pablo D. Brubeck, Joseph P. Dean, Jørgen S. Dokken, and India Marsden. 2026. DefElement: an encyclopedia of finite element definitions.Computational Science and Engineering3 (2026), 2. https://doi.org/10.1007/s44207-026-00011-0

  18. [26]

    Scroggs, Pablo D

    Matthew W. Scroggs, Pablo D. Brubeck, Joseph P. Dean, Jørgen S. Dokken, India Marsden, Nuno Nobre, et al. 2020–2026. DefElement: an encyclopedia of finite element definitions. https://defelement.org. [Online; accessed 09-January-2026]

  19. [27]

    Scroggs, Jørgen S

    Matthew W. Scroggs, Jørgen S. Dokken, Chris N. Richardson, and Garth N. Wells. 2022. Construction of arbitrary order finite element degree-of- freedom maps on polygonal and polyhedral cell meshes.ACM Trans. Math. Software48, 2 (2022), 18:1–18:23. https://doi.org/10.1145/3524456

  20. [28]

    Scroggs and Garth N

    Matthew W. Scroggs and Garth N. Wells. 2026. Computation of finite element degree-of-freedom transformation matrices: supplementary material. https://doi.org/10.5281/zenodo.15363224

  21. [29]

    Kevin (Medium user @kevingxyz). 2019. Permutation in place. https://medium.com/@kevingxyz/permutation-in-place-8528581a5553. [Online; accessed 09-January-2026]. Manuscript submitted to ACM

Pith tools

Reviewed July 10, 2026 · model on record in the stance chip above.