示例#1
0
 def test3(self):
     '''Check some more values, these are taken from Abramowitz and Stegun, 8.15 Example 1'''
     self.assertEqual(Legendre(0, 0.3141592654), 1.0)
     self.assertEqual(Legendre(1, 0.3141592654), 0.3141592654)
     self.assertAlmostEqual(Legendre(2, 0.3141592654), -0.3519559340)
     self.assertAlmostEqual(Legendre(3, 0.3141592654), -0.3937232064)
     self.assertAlmostEqual(Legendre(4, 0.3141592654), 0.0475063122)
     self.assertAlmostEqual(Legendre(5, 0.3141592654), 0.3418427517)
     self.assertAlmostEqual(Legendre(6, 0.3141592654), 0.1572986975)
     self.assertAlmostEqual(Legendre(7, 0.3141592654), -0.2012339354)
     self.assertAlmostEqual(Legendre(8, 0.3141592654), -0.2561729328)
     self.assertEqual(Legendre(0, 2.6, False), 1.0)
     self.assertEqual(Legendre(1, 2.6, False), 2.6)
     self.assertAlmostEqual(Legendre(2, 2.6, False), 9.64)
     self.assertAlmostEqual(Legendre(3, 2.6, False), 40.04)
     self.assertAlmostEqual(Legendre(4, 2.6, False), 174.952)
     self.assertAlmostEqual(Legendre(5, 2.6, False), 786.74336)
     self.assertAlmostEqual(Legendre(6, 2.6, False), 3604.350016)
     self.assertAlmostEqual(Legendre(7, 2.6, False), 16729.51005, 5)
     self.assertAlmostEqual(Legendre(8, 2.6, False), 78402.55522, 4)
示例#2
0
 def test2(self):
     '''Check that all odd order polynomials are in fact odd and even ones are in fact even'''
     for n in range(50):
         self.assertEqual(Legendre(2 * n + 1, 0.5),
                          -Legendre(2 * n + 1, -0.5))
         self.assertEqual(Legendre(2 * n, 0.5), Legendre(2 * n, -0.5))
示例#3
0
 def test1(self):
     '''Check that all odd order polynomials evaluate to zero at the origin'''
     for n in range(50):
         self.assertEqual(Legendre(2 * n + 1, 0.0), 0.0)
示例#4
0
 def test0(self):
     '''Simple test, just check a couple of values for n = 0,1,2'''
     self.assertEqual(Legendre(0, 0.0), 1.0)
     self.assertEqual(Legendre(1, 1.0), 1.0)
     self.assertEqual(Legendre(2, 1.0), 1.0)
     self.assertEqual(Legendre(1, -1.0), -1.0)
示例#5
0
 def rhs(n, x):
     return (2 * n + 1) * x * Legendre(n, x) - n * Legendre(n - 1, x)
示例#6
0
 def lhs(n, x):
     return (n + 1) * Legendre(n + 1, x)