Esempio n. 1
0
 def test_eval(self):
     le = linsolve.LinearEquation('a*x-b*y',a=2,b=4)
     sol = {'x':3, 'y':7}
     self.assertEqual(2*3-4*7, le.eval(sol))
     sol = {'x':3*np.ones(4), 'y':7*np.ones(4)}
     np.testing.assert_equal(2*3-4*7, le.eval(sol))
     le = linsolve.LinearEquation('x_-y')
     sol = {'x':3+3j*np.ones(10), 'y':7+2j*np.ones(10)}
     ans = np.conj(sol['x']) - sol['y']
     np.testing.assert_equal(ans, le.eval(sol))
Esempio n. 2
0
 def test_order_terms(self):
     le = linsolve.LinearEquation('x+y')
     terms = [[1,1,'x'],[1,1,'y']]
     self.assertEqual(terms, le.order_terms([[1,1,'x'],[1,1,'y']]))
     terms2 = [[1,1,'x'],[1,'y',1]]
     self.assertEqual(terms, le.order_terms([[1,1,'x'],[1,'y',1]]))
     le = linsolve.LinearEquation('a*x-b*y',a=2,b=4)
     terms = [[1,'a','x'],[1,'b','y']]
     self.assertEqual(terms, le.order_terms([[1,'a','x'],[1,'b','y']]))
     terms2 = [[1,'x','a'],[1,'b','y']]
     self.assertEqual(terms, le.order_terms([[1,'x','a'],[1,'b','y']]))
     le = linsolve.LinearEquation('g5*bl95+g1*bl111',g5=1,g1=1)
     terms = [['g5','bl95'],['g1','bl111']]
     self.assertEqual(terms, le.order_terms([['g5','bl95'],['g1','bl111']]))
Esempio n. 3
0
 def test_basics(self):
     le = linsolve.LinearEquation('x+y')
     self.assertEqual(le.terms, [['x'],['y']])
     self.assertEqual(le.consts, {})
     self.assertEqual(len(le.prms), 2)
     le = linsolve.LinearEquation('x-y')
     self.assertEqual(le.terms, [['x'],[-1,'y']])
     le = linsolve.LinearEquation('a*x+b*y',a=1,b=2)
     self.assertEqual(le.terms, [['a','x'],['b','y']])
     self.assertTrue('a' in le.consts)
     self.assertTrue('b' in le.consts)
     self.assertEqual(len(le.prms), 2)
     le = linsolve.LinearEquation('a*x-b*y',a=1,b=2)
     self.assertEqual(le.terms, [['a','x'],[-1,'b','y']])
Esempio n. 4
0
 def test_basics(self):
     le = linsolve.LinearEquation('x+y')
     assert le.terms == [['x'], ['y']]
     assert le.consts == {}
     assert len(le.prms) == 2
     le = linsolve.LinearEquation('x-y')
     assert le.terms == [['x'], [-1, 'y']]
     le = linsolve.LinearEquation('a*x+b*y', a=1, b=2)
     assert le.terms == [['a', 'x'], ['b', 'y']]
     assert 'a' in le.consts
     assert 'b' in le.consts
     assert len(le.prms) == 2
     le = linsolve.LinearEquation('a*x-b*y', a=1, b=2)
     assert le.terms == [['a', 'x'], [-1, 'b', 'y']]
Esempio n. 5
0
 def test_term_check(self):
     le = linsolve.LinearEquation('a*x-b*y',a=2,b=4)
     terms = [[1,'a','x'],[1,'b','y']]
     self.assertEqual(terms, le.order_terms([[1,'a','x'],[1,'b','y']]))
     terms4 = [['c','x','a'],[1,'b','y']]
     self.assertRaises(AssertionError, le.order_terms, terms4)
     terms5 = [[1,'a','b'],[1,'b','y']]
     self.assertRaises(AssertionError, le.order_terms, terms5)
Esempio n. 6
0
 def test_term_check(self):
     le = linsolve.LinearEquation('a*x-b*y', a=2, b=4)
     terms = [[1, 'a', 'x'], [1, 'b', 'y']]
     assert terms == le.order_terms([[1, 'a', 'x'], [1, 'b', 'y']])
     terms4 = [['c', 'x', 'a'], [1, 'b', 'y']]
     with pytest.raises(AssertionError):
         le.order_terms(terms4)
     terms5 = [[1, 'a', 'b'], [1, 'b', 'y']]
     with pytest.raises(AssertionError):
         le.order_terms(terms5)
Esempio n. 7
0
 def test_unary(self):
     le = linsolve.LinearEquation('-a*x-b*y',a=1,b=2)
     self.assertEqual(le.terms, [[-1,'a','x'],[-1,'b','y']])
Esempio n. 8
0
 def test_more(self):
     consts = {'g5':1,'g1':1}
     for k in ['g5*bl95', 'g1*bl111', 'g1*bl103']:
         le = linsolve.LinearEquation(k,**consts)
     self.assertEqual(le.terms[0][0][0], 'g')