Exemple #1
0
 def test_constructor_expression(self):
     e = 2 * x + 3 * y
     p = sym.Polynomial(e)
     numpy_compare.assert_equal(p.ToExpression(), e)
Exemple #2
0
 def test_degree_total_degree(self):
     e = a * (x**2) + b * (y**3) + c * z
     p = sym.Polynomial(e, [x, y, z])
     self.assertEqual(p.Degree(x), 2)
     self.assertEqual(p.TotalDegree(), 3)
Exemple #3
0
 def test_comparison(self):
     p = sym.Polynomial()
     self.assertTrue(p == p)
     self.assertTrue(p.EqualTo(p))
Exemple #4
0
 def test_default_constructor(self):
     p = sym.Polynomial()
     numpy_compare.assert_equal(p.ToExpression(), sym.Expression())
Exemple #5
0
 def test_repr(self):
     p = sym.Polynomial()
     self.assertEqual(repr(p), '<Polynomial "0">')
Exemple #6
0
 def test_pow(self):
     e = a * (x**2)
     p = sym.Polynomial(e, [x])  # p = ax²
     p = pow(p, 2)  # p = a²x⁴
     numpy_compare.assert_equal(p.ToExpression(), (a**2) * (x**4))
Exemple #7
0
 def test_add_product(self):
     p = sym.Polynomial()
     m = sym.Monomial(x)
     p.AddProduct(sym.Expression(3), m)  # p += 3 * x
     self.assertEqualStructure(p.ToExpression(), 3 * x)
Exemple #8
0
 def test_add_product(self):
     p = sym.Polynomial()
     m = sym.Monomial(x)
     p.AddProduct(sym.Expression(3), m)  # p += 3 * x
     numpy_compare.assert_equal(p.ToExpression(), 3 * x)
Exemple #9
0
 def test_monomial_to_coefficient_map(self):
     m = sym.Monomial(x, 2)
     e = a * (x**2)
     p = sym.Polynomial(e, [x])
     the_map = p.monomial_to_coefficient_map()
     self.assertEqualStructure(the_map[m], a)
Exemple #10
0
 def test_differentiate(self):
     e = a * (x**2)
     p = sym.Polynomial(e, [x])  # p = ax²
     result = p.Differentiate(x)  # = 2ax
     self.assertEqualStructure(result.ToExpression(), 2 * a * x)
Exemple #11
0
 def test_constructor_expression(self):
     e = 2 * x + 3 * y
     p = sym.Polynomial(e)
     self.assertEqualStructure(p.ToExpression(), e)
Exemple #12
0
 def test_default_constructor(self):
     p = sym.Polynomial()
     self.assertEqualStructure(p.ToExpression(), sym.Expression())
Exemple #13
0
 def test_repr(self):
     p = sym.Polynomial()
     self.assertEqual(str(p), "0")
Exemple #14
0
 def test_monomial_to_coefficient_map(self):
     m = sym.Monomial(x, 2)
     e = a * (x**2)
     p = sym.Polynomial(e, [x])
     the_map = p.monomial_to_coefficient_map()
     numpy_compare.assert_equal(the_map[m], a)
Exemple #15
0
 def test_remove_terms_with_small_coefficients(self):
     e = 3 * x + 1e-12 * y
     p = sym.Polynomial(e, [x, y])
     q = p.RemoveTermsWithSmallCoefficients(1e-6)
     self.assertEqualStructure(q.ToExpression(), 3 * x)
Exemple #16
0
 def test_differentiate(self):
     e = a * (x**2)
     p = sym.Polynomial(e, [x])  # p = ax²
     result = p.Differentiate(x)  # = 2ax
     numpy_compare.assert_equal(result.ToExpression(), 2 * a * x)
Exemple #17
0
 def test_pow(self):
     e = a * (x**2)
     p = sym.Polynomial(e, [x])  # p = ax²
     p = pow(p, 2)  # p = a²x⁴
     self.assertEqualStructure(p.ToExpression(), (a**2) * (x**4))
Exemple #18
0
 def test_remove_terms_with_small_coefficients(self):
     e = 3 * x + 1e-12 * y
     p = sym.Polynomial(e, [x, y])
     q = p.RemoveTermsWithSmallCoefficients(1e-6)
     numpy_compare.assert_equal(q.ToExpression(), 3 * x)
Exemple #19
0
 def test_evaluate_exception_np_nan(self):
     p = sym.Polynomial(x * x, [x])
     env = {x: np.nan}
     with self.assertRaises(RuntimeError):
         p.Evaluate(env)
Exemple #20
0
 def test_division(self):
     p = sym.Polynomial(x * x + x)
     numpy_compare.assert_equal(p / 2,
                                sym.Polynomial(1 / 2 * x * x + 1 / 2 * x))
Exemple #21
0
 def test_evaluate_exception_python_nan(self):
     p = sym.Polynomial(x * x, [x])
     env = {x: float('nan')}
     with self.assertRaises(RuntimeError):
         p.Evaluate(env)
Exemple #22
0
 def test_polynomial_evaluate(self):
     p = sym.Polynomial(a * x * x + b * x + c, [x])
     env = {a: 2.0, b: 3.0, c: 5.0, x: 2.0}
     self.assertEqual(p.Evaluate(env),
                      env[a] * env[x] * env[x] + env[b] * env[x] + env[c])
Exemple #23
0
 def test_constructor_maptype(self):
     m = {sym.Monomial(x): sym.Expression(3),
          sym.Monomial(y): sym.Expression(2)}  # 3x + 2y
     p = sym.Polynomial(m)
     expected = 3 * x + 2 * y
     numpy_compare.assert_equal(p.ToExpression(), expected)