Beispiel #1
0
 def test3(self):
     matrix = np.array([[6, 1, 0, 0, 0, 0], [1, 6, 1, 0, 0, 0],
                        [0, 1, 6, 1, 0, 0], [0, 0, 1, 6, 1, 0],
                        [0, 0, 0, 1, 6, 1], [0, 0, 0, 0, 1, 6]])
     lu = faktoryzacja.facto_lu(matrix)
     L, U, P = lu
     ll = np.array([[1., 0., 0., 0., 0., 0.],
                    [0.16666667, 1., 0., 0., 0., 0.],
                    [0., 0.17142857, 1., 0., 0., 0.],
                    [0., 0., 0.17156863, 1., 0., 0.],
                    [0., 0., 0., 0.17157275, 1., 0.],
                    [0., 0., 0., 0., 0.17157287, 1.]])
     uu = np.array([[6., 1., 0., 0., 0., 0.],
                    [0., 5.83333333, 1., 0., 0., 0.],
                    [0., 0., 5.82857143, 1., 0., 0.],
                    [0., 0., 0., 5.82843137, 1., 0.],
                    [0., 0., 0., 0., 5.82842725, 1.],
                    [0., 0., 0., 0., 0., 5.82842713]])
     pp = np.array([[1., 0., 0., 0., 0., 0.], [0., 1., 0., 0., 0., 0.],
                    [0., 0., 1., 0., 0., 0.], [0., 0., 0., 1., 0., 0.],
                    [0., 0., 0., 0., 1., 0.], [0., 0., 0., 0., 0., 1.]])
     self.assertEqual(L.all(), ll.all())
     self.assertEqual(U.all(), uu.all())
     self.assertEqual(P.all(), pp.all())
     self.assertEqual((np.dot(np.dot(P, L), U)).all(), matrix.all())
 def test1_facto_lu(self):
     l, u = faktoryzacja.facto_lu([[2, 4], [1, 2]])
     rtol = 1e-5
     atol = 0
     # self.assertTrue((l == [[1., 0.], [0.5, 1.]]).all())
     assert_allclose(l, [[1., 0.], [0.5, 1.]], rtol, atol)
     # self.assertTrue((u == [[2., 4.], [0., 0.]]).all())
     assert_allclose(u, [[2., 4.], [0., 0.]], rtol, atol)
Beispiel #3
0
 def test5(self):
     matrix = np.array([[2, 1, 1], [4, -6, 0], [-2, 7, 2]])
     lu = faktoryzacja.facto_lu(matrix)
     L, U, P = lu
     ll = np.array([[1., 0., 0.], [2., 1., 0.], [-1., -1., 1.]])
     uu = np.array([[2., 1., 1.], [0., -8., -2.], [0., 0., 1.]])
     pp = np.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
     self.assertEqual(L.all(), ll.all())
     self.assertEqual(U.all(), uu.all())
     self.assertEqual(P.all(), pp.all())
     self.assertEqual((np.dot(np.dot(P, L), U)).all(), matrix.all())
Beispiel #4
0
 def test1(self):
     matrix = np.array([[4, 4, 4], [1, 1, 18], [2, 10, 4]])
     lu = faktoryzacja.facto_lu(matrix)
     L, U, P = lu
     ll = np.array([[1., 0., 0.], [0.25, 1., 0.], [0.5, -0.11111111, 1.]])
     uu = np.array([[4., 4., 4.], [0., 9., 3.], [0., 0., 16.33333333]])
     pp = np.array([[1., 0., 0.], [0., 0., 1.], [0., 1., 0.]])
     self.assertEqual(L.all(), ll.all())
     self.assertEqual(U.all(), uu.all())
     self.assertEqual(P.all(), pp.all())
     self.assertEqual((np.dot(np.dot(P, L), U)).all(), matrix.all())
Beispiel #5
0
 def test4(self):
     matrix = np.array([[0, 1, 0], [0, 0, 1], [1, 0, 0]])
     lu = faktoryzacja.facto_lu(matrix)
     L, U, P = lu
     ll = np.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
     uu = np.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
     pp = np.array([[1., 0., 0.], [0., 1., 0.], [1., 0., 0.]])
     self.assertEqual(L.all(), ll.all())
     self.assertEqual(U.all(), uu.all())
     self.assertEqual(P.all(), pp.all())
     self.assertEqual((np.dot(np.dot(P, L), U)).all(), matrix.all())
Beispiel #6
0
 def test2(self):
     matrix = np.array([[5, 3, 2], [1, 2, 0], [3, 0, 4]])
     lu = faktoryzacja.facto_lu(matrix)
     L, U, P = lu
     ll = np.array([[1., 0., 0.], [0.2, 1., 0.], [0.6, -1.28571429, 1.]])
     uu = np.array([[5., 3., 2.], [0., 1.4, -0.4], [0., 0., 2.28571429]])
     pp = np.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
     self.assertEqual(L.all(), ll.all())
     self.assertEqual(U.all(), uu.all())
     self.assertEqual(P.all(), pp.all())
     self.assertEqual((np.dot(np.dot(P, L), U)).all(), matrix.all())
Beispiel #7
0
 def test7(self):
     matrix = np.array([[0.2425, 0, 0.9701], [0, 0.2425, 0.9701],
                        [0.2357, 0.2357, 0.9428]])
     lu = faktoryzacja.facto_lu(matrix)
     L, U, P = lu
     ll = np.array([[1., 0., 0.], [0., 1., 0.],
                    [0.97195876, 0.97195876, 1.]])
     uu = np.array([[0.2425, 0., 0.9701], [0., 0.2425, 0.9701],
                    [0., 0., -0.94299439]])
     pp = np.array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
     self.assertEqual(L.all(), ll.all())
     self.assertEqual(U.all(), uu.all())
     self.assertEqual(P.all(), pp.all())
     self.assertEqual((np.dot(np.dot(P, L), U)).all(), matrix.all())
 def test2_facto_lu(self):
     l, u = faktoryzacja.facto_lu([[0, 1], [1, 0]])