]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/orthogonal_polynomials.py
mjo/cone/symmetric_pd: new module for symmetric positive-definite matrices.
[sage.d.git] / mjo / orthogonal_polynomials.py
index e8e9210f46437755dc99333ce3159f9b7abd5a71..589aa80b63def36bc6503fbbea7dc18ab1f7c104 100644 (file)
@@ -28,6 +28,10 @@ def legendre_p(n, x, a = -1, b = 1):
     returned. Otherwise, the value of the ``n``th polynomial at ``x``
     will be returned.
 
+    SETUP::
+
+        sage: from mjo.orthogonal_polynomials import legendre_p
+
     EXAMPLES:
 
     Create the standard Legendre polynomials in `x`::
@@ -60,7 +64,7 @@ def legendre_p(n, x, a = -1, b = 1):
 
     And finite field elements::
 
-        sage: legendre_P(3, GF(11)(5))
+        sage: legendre_p(3, GF(11)(5))
         8
 
     Solve a simple least squares problem over `[-\pi, \pi]`::
@@ -74,11 +78,11 @@ def legendre_p(n, x, a = -1, b = 1):
         ...       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 range(0,4) ]
+        sage: legendre_basis = [ legendre_p(k, x, a, b) for k in xrange(4) ]
         sage: proj = project(legendre_basis, f)
         sage: proj.simplify_trig()
         5/2*(7*(pi^2 - 15)*x^3 - 3*(pi^4 - 21*pi^2)*x)/pi^6
@@ -88,7 +92,7 @@ def legendre_p(n, x, a = -1, b = 1):
     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 range(0,20) ]) # long time
+        sage: all( eq(k) for k in xrange(20) ) # long time
         True
 
     We can evaluate the result of the zeroth polynomial::
@@ -192,6 +196,6 @@ def legendre_p(n, x, a = -1, b = 1):
 
     # 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 range(0,n+1) ])/(2**n)
+    P = sum( c(m)*g(m) for m in xrange(n+1) )/(2**n)
 
     return P