def test_quadeq_real_root(self): ''' test a quadratic equation function result is real root ''' formula = [1,-2,-3] res = nt.quadeq(formula) chk = {3,-1} self.assertEqual(res, chk)
def __eigen_2dim(self): ''' Calculate eigen value for 2 dimension matrix. ''' formula = ut.makelist(length=3, initvalue=0) formula[0] = 1 #x^2 coef rows = self.rows cols1 = rows[0].cols cols2 = rows[1].cols a = cols1[0] d = cols2[1] formula[1] = a*-1+(-1)*d formula[2] = self.det() egs = nt.quadeq(formula) if len(egs) <= 1: raise ValueError("Multiple root cannot deal.") res = {} for eg in egs: resA = a-eg resC = cols2[0] #TODO: reduct function is fault. # if resA != 1 and resC != 1: # if resA>resC: # resA,resC = nt.reduct(resA, resC) # elif resC<resA: # resC,resA = nt.reduct(resC, resA) # else: # resA = resC = 1 res[eg] = Vector([-resC,resA]) return res