... return sqrt(inner_product(v,v))
...
sage: def project(basis, v):
- ... return sum([ inner_product(v, b)*b/norm(b)**2
- ... for b in basis])
+ ... return sum( inner_product(v, b)*b/norm(b)**2
+ ... for b in basis)
...
sage: f = sin(x)
sage: legendre_basis = [ legendre_p(k, x, a, b) for k in xrange(4) ]
We should agree with Maxima for all `n`::
sage: eq = lambda k: bool(legendre_p(k,x) == legendre_P(k,x))
- sage: all([eq(k) for k in xrange(20) ]) # long time
+ sage: all( eq(k) for k in xrange(20) ) # long time
True
We can evaluate the result of the zeroth polynomial::
# From Abramowitz & Stegun, (22.3.2) with alpha = beta = 0.
# Also massaged to support finite field elements.
- P = sum([ c(m)*g(m) for m in xrange(n+1) ])/(2**n)
+ P = sum( c(m)*g(m) for m in xrange(n+1) )/(2**n)
return P