  FIAT (the FInite element Automatic Tabulator) provides a powerful Python
library for the generation and evaluation of finite element basis functions on
a reference element. This release paper describes recent improvements to FIAT
aimed at improving its run time and the accuracy and efficiency of code
generated using FIAT-provided information. In the first category, we have
greatly streamlined the implementation of orthogonal polynomials out of which
finite element bases are built. The second category comprises several more
advances. For one, we have built an interface to the $\texttt{recursivenodes}$
package to enable more accurate Lagrange bases at high order. We have also
implemented integral-type degrees of freedom for $H(\mathrm{div})$ and
$H(\mathrm{curl})$ elements, which match the mathematical definitions of the
elements more closely and also avoid loss of accuracy in interpolation. More
fundamentally, we have included families of simplicial quadrature rules that
require many fewer quadrature points than the Stroud rules previously used in
FIAT. Finally, FIAT now provides support for fast diagonalization methods,
which enable fast solution algorithms at very high order. In each case, we
describe the new features in FIAT and illustrate some of the gains obtained
through simple numerical tests.
