def test_analysis_methods(self): p = Polynomial([1, 2, 3]) self.assertEqual(p.GetNumberOfCoefficients(), 3) self.assertEqual(p.GetDegree(), 2) self.assertFalse(p.IsAffine()) np.testing.assert_equal(p.GetCoefficients(), np.array([1, 2, 3])) p_d = p.Derivative(derivative_order=1) self.assertEqual(p_d.GetDegree(), 1) p_i = p.Integral(integration_constant=0) self.assertEqual(p_i.GetDegree(), 3) self.assertTrue(p.IsApprox(p, 1e-14))
def test_piecewise_polynomial_matrix_constructor(self): pm1 = np.array([[Polynomial(1), Polynomial(2)]]) pm2 = np.array([[Polynomial(2), Polynomial(0)]]) pp = PiecewisePolynomial([pm1, pm2], [0, 1, 2]) numpy_compare.assert_equal(pp.getPolynomialMatrix(segment_index=0), pm1) pm3 = np.array([[Polynomial(5), Polynomial(10)]]) pp.setPolynomialMatrixBlock(replacement=pm3, segment_index=1)
def test_arithmetic(self): p = Polynomial([0, 1]) np.testing.assert_equal((-p).GetCoefficients(), np.array([0, -1])) np.testing.assert_equal((p + p).GetCoefficients(), np.array([0, 2])) np.testing.assert_equal((p + 5).GetCoefficients(), np.array([5, 1])) np.testing.assert_equal((5 + p).GetCoefficients(), np.array([5, 1])) np.testing.assert_equal((p - p).GetCoefficients(), np.array([0])) np.testing.assert_equal((p - 5).GetCoefficients(), np.array([-5, 1])) np.testing.assert_equal((5 - p).GetCoefficients(), np.array([5, -1])) np.testing.assert_equal((p * p).GetCoefficients(), np.array([0, 0, 1])) np.testing.assert_equal((p * 5).GetCoefficients(), np.array([0, 5])) np.testing.assert_equal((5 * p).GetCoefficients(), np.array([0, 5])) np.testing.assert_equal((p / 5).GetCoefficients(), np.array([0, 0.2])) self.assertTrue(p == p)
def test_piecewise_polynomial_vector_constructor(self): p1 = Polynomial(1) p2 = Polynomial(2) pp = PiecewisePolynomial([p1, p2], [0, 1, 2])
def test_constructors(self): p1 = Polynomial() p2 = Polynomial(5) p3 = Polynomial([1, 2, 3])