Ejemplo n.º 1
0
    def testIterative(self):
        a = numpy.matrix([[0.0,0.1,0.0],\
                          [0.0,0.0,0.1],\
              [0.0,0.0,0.0]])

        b = numpy.matrix([[1.0,0.0], \
              [0.0,0.0], \
              [0.0,1.0]])

        r = numpy.matrix([[0.0,0.0], \
              [0.0,1.0]])

        q = numpy.matrix([[10.0**5.0, 0.0,0.0], \
                          [0.0,10.0**3.0,0.0], \
              [0.0,0.0,-10.0]])

        ds = DareSolver(a, b, q, r)

        ds.iterative = True

        x = ds.solve()

        self.assertAlmostEqual(10.0**5.0, x[0, 0], 3)
        self.assertAlmostEqual(10.0**3.0, x[1, 1], 3)
        self.assertAlmostEqual(0.0, x[2, 2], 3)

        for i in range(0, 3):
            for j in range(0, 3):
                if i != j:
                    self.assertAlmostEqual(0.0, x[i, j], 3)
Ejemplo n.º 2
0
	def testIterative(self):
		a = numpy.matrix([[0.0,0.1,0.0],\
		                  [0.0,0.0,0.1],\
						  [0.0,0.0,0.0]])
						   
		b = numpy.matrix([[1.0,0.0], \
						  [0.0,0.0], \
						  [0.0,1.0]])
						   
		r = numpy.matrix([[0.0,0.0], \
						  [0.0,1.0]])
						   
		q = numpy.matrix([[10.0**5.0, 0.0,0.0], \
		                  [0.0,10.0**3.0,0.0], \
						  [0.0,0.0,-10.0]])

		ds = DareSolver(a,b,q,r)
		
		ds.iterative = True

		x = ds.solve()
		
		self.assertAlmostEqual(10.0**5.0,x[0,0],3)
		self.assertAlmostEqual(10.0**3.0,x[1,1],3)
		self.assertAlmostEqual(0.0,x[2,2],3)
		
		for i in range(0,3):
			for j in range(0,3):
				if i != j:
					self.assertAlmostEqual(0.0,x[i,j],3)