def test_to_expression(self):
     m = sym.Monomial(x, 3) * y  # m = x³y
     e = m.ToExpression()
     self.assertEqual(str(e), "(pow(x, 3) * y)")
 def test_get_variables(self):
     m = sym.Monomial(x, 3) * y  # m = x³y
     vars = m.GetVariables()  # = [x, y]
     self.assertEqual(vars.size(), 2)
Example #3
0
 def test_constructor_vars_exponents(self):
     m = sym.Monomial([x, y], [1, 2])
     powers_out = EqualToDict(m.get_powers())
     self.assertEqual(powers_out[x], 1)
     self.assertEqual(powers_out[y], 2)
 def test_get_powers(self):
     m = sym.Monomial(x, 2) * y  # m = x²y
     powers = m.get_powers()
     self.assertEqual(powers[x], 2)
     self.assertEqual(powers[y], 1)
Example #5
0
 def test_str(self):
     m1 = sym.Monomial(x, 2)
     self.assertEqual(str(m1), "x^2")
     m2 = m1 * sym.Monomial(y)
     self.assertEqual(str(m2), "x^2 * y")
Example #6
0
 def test_multiplication1(self):
     m1 = sym.Monomial(x, 2)
     m2 = sym.Monomial(y, 3)
     m3 = m1 * m2
     self.assertEqual(m3.degree(x), 2)
     self.assertEqual(m3.degree(y), 3)
Example #7
0
 def test_evaluate(self):
     m = sym.Monomial(x, 3) * sym.Monomial(y)  # m = x³y
     env = {x: 2.0, y: 3.0}
     self.assertEqual(m.Evaluate(env), env[x]**3 * env[y])
Example #8
0
 def test_constructor_variable_int(self):
     m = sym.Monomial(x, 2)  # m = x²
     self.assertEqual(m.degree(x), 2)
     self.assertEqual(m.total_degree(), 2)
Example #9
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)
Example #10
0
 def test_get_powers(self):
     m = sym.Monomial(x, 2) * sym.Monomial(y)  # m = x²y
     powers = EqualToDict(m.get_powers())
     self.assertEqual(powers[x], 2)
     self.assertEqual(powers[y], 1)
Example #11
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)
Example #12
0
 def test_to_expression(self):
     m = sym.Monomial(x, 3) * sym.Monomial(y)  # m = x³y
     e = m.ToExpression()
     numpy_compare.assert_equal(e, "(pow(x, 3) * y)")
Example #13
0
 def test_str(self):
     m1 = sym.Monomial(x, 2)
     numpy_compare.assert_equal(m1, "x^2")
     m2 = m1 * sym.Monomial(y)
     numpy_compare.assert_equal(m2, "x^2 * y")
Example #14
0
 def test_pow(self):
     m1 = sym.Monomial(x, 2) * y  # m1 = x²y
     m2 = m1**2  # m2 = x⁴y²
     self.assertEqual(m2.degree(x), 4)
     self.assertEqual(m2.degree(y), 2)
Example #15
0
 def test_evaluate_exception_np_nan(self):
     m = sym.Monomial(x, 3)
     env = {x: np.nan}
     with self.assertRaises(RuntimeError):
         m.Evaluate(env)
Example #16
0
 def test_constructor_variable(self):
     m = sym.Monomial(x)  # m = x¹
     self.assertEqual(m.degree(x), 1)
     self.assertEqual(m.total_degree(), 1)
Example #17
0
 def test_evaluate_exception_python_nan(self):
     m = sym.Monomial(x, 3)
     env = {x: float('nan')}
     with self.assertRaises(RuntimeError):
         m.Evaluate(env)
Example #18
0
 def test_equalto(self):
     m1 = sym.Monomial(x, 2)
     m2 = sym.Monomial(x, 1)
     m3 = sym.Monomial(x, 2)
     self.assertTrue(m1.EqualTo(m3))
     self.assertFalse(m1.EqualTo(m2))
Example #19
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)
Example #20
0
 def test_repr(self):
     m = sym.Monomial(x, 2)
     self.assertEqual(repr(m), '<Monomial "x^2">')
Example #21
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)
Example #22
0
 def test_multiplication_assignment2(self):
     m = sym.Monomial(x, 2)
     m *= sym.Monomial(y)
     self.assertEqual(m.degree(x), 2)
     self.assertEqual(m.degree(y), 1)
Example #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)