def test_mod_31(self): f = Faulhaber(20, 31, 3) expected_coef = [ 0, 16, 16 ] p = f.base_polynomial(1) self.assertEqual(p._coef, expected_coef) expected_coef = [ 0, f.div(1, 6), f.div(3, 6), f.div(2, 6) ] p = f.base_polynomial(2) self.assertEqual(p._coef, expected_coef)
def test_general(self): f = Faulhaber(20, 31, 3) # find p(n) = sum(i^2 + 3i for i in range(1, n + 1)) expected_coef = [ 0, f.add(f.div(3, 2), f.div(1, 6)), f.add(f.div(3, 2), f.div(3, 6)), f.div(2, 6)] p = f.general_polynomial(Polynomial([0, 3, 1], 31, 3)) self.assertEqual(p._coef, expected_coef)