Dear all,
  I realised that the Taylor basis used in FEM actually doesn't use the function evaluation for the lowest order part, it uses the element mean of the function. I
started a new branch of FIAT to try to fix this, taylor-dg, but something I did is wrong.

When running the test (just execute FIAT/discontinuous_taylor.py), I get

Traceback (most recent call last):
  File "discontinuous_taylor.py", line 70, in <module>
    element = DiscontinuousTaylor(T, 1)
  File "discontinuous_taylor.py", line 65, in DiscontinuousTaylor
    return HigherOrderDiscontinuousTaylor( ref_el, degree )
  File "discontinuous_taylor.py", line 59, in __init__
    finite_element.FiniteElement.__init__( self, poly_set, dual, degree, formdegree )
  File "/home/cjc1/firedrake/fiat/FIAT/finite_element.py", line 47, in __init__
    dualmat = dual.to_riesz( poly_set )
  File "/home/cjc1/firedrake/fiat/FIAT/dual_set.py", line 64, in to_riesz
    self.mat[i][:] = self.nodes[i].to_riesz( poly_set )
  File "/home/cjc1/firedrake/fiat/FIAT/functional.py", line 330, in to_riesz
    result[self.comp, :] = numpy.dot(bfs, wts)
IndexError: too many indices for array

Can anyone see what is wrong?

all the best
--cjc