In regards to:

https://joss.theoj.org/papers/10.21105/joss.03982.pdf

that there is a polynomial space *V* and that polynomial space will be used to construct a dual matrix.

What does python code for the construction of such a dual matrix look like?

So far I skimmed basic example for a custom element. Is that what is talked about. So far I have not related custom element yet to a dual matrix.

If anyone knows which part of Ciarelet that the dual matrix is talked about?

Als

In Basix, the code for computing the dual matrix is implemented in C++. For custom elements, the interpolation points and matrices that the user inputs are used to compute the dual matrix, as well as the coefficients that define the polynomial set.

If you want to look at how the dual matrix is defined, you might like to take a look at Symfem (a Python library that does most of what Basix does but symbolically, so itâ€™s slow but good for prototyping). The computation of the dual matrix in Symfem is here: https://github.com/mscroggs/symfem/blob/f127bc725af4cc7be81d2aa51584d4301cb47b48/symfem/finite_element.py#L575-L576

Ciarletâ€™s book looks at finite elements from a mathematical angle rather than implementation, and I donâ€™t think it makes any specific reference to the dual matrix (but I havenâ€™t read it cover to cover so canâ€™t be certain that itâ€™s not in there somewhere)

2 Likes