Пример #1
0
 def test_isValid(self):
     """Probs isValid should return True if it's a prob matrix"""
     a = self.ab_pairs
     m = Probs([0.5,0.5,1,0], a)
     self.assertEqual(m.isValid(), True)
     #fails if don't sum to 1
     m = Probs([0.5, 0, 1, 0], a)
     self.assertEqual(m.isValid(), False)
     #fails if negative elements
     m = Probs([1, -1, 0, 1], a)
     self.assertEqual(m.isValid(), False)
Пример #2
0
 def test_isValid(self):
     """Probs isValid should return True if it's a prob matrix"""
     a = self.ab_pairs
     m = Probs([0.5, 0.5, 1, 0], a)
     self.assertEqual(m.isValid(), True)
     #fails if don't sum to 1
     m = Probs([0.5, 0, 1, 0], a)
     self.assertEqual(m.isValid(), False)
     #fails if negative elements
     m = Probs([1, -1, 0, 1], a)
     self.assertEqual(m.isValid(), False)
Пример #3
0
 def test_toRates(self):
     """Probs toRates should return log of probs, optionally normalized"""
     a = Alphabet('abc')**2
     p = Probs([0.9,0.05,0.05,0.1,0.85,0.05,0.02,0.02,0.96], a)
     assert p.isValid()
     r = p.toRates()
     assert isinstance(r, Rates)
     assert r.isValid()
     assert not r.isComplex()
     self.assertEqual(r._data, logm(p._data))
     r_norm = p.toRates(normalize=True)
     self.assertFloatEqual(trace(r_norm._data), -1.0)
Пример #4
0
 def test_toRates(self):
     """Probs toRates should return log of probs, optionally normalized"""
     a = Alphabet('abc')**2
     p = Probs([0.9, 0.05, 0.05, 0.1, 0.85, 0.05, 0.02, 0.02, 0.96], a)
     assert p.isValid()
     r = p.toRates()
     assert isinstance(r, Rates)
     assert r.isValid()
     assert not r.isComplex()
     self.assertEqual(r._data, logm(p._data))
     r_norm = p.toRates(normalize=True)
     self.assertFloatEqual(trace(r_norm._data), -1.0)