Example #1
0
	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)
Example #2
0
	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