Ejemplo n.º 1
0
 def test_eigen_4(self):
     # Test a 4x4 matrix
     mat = [[2, 0, 0, 0], [1, 2, 0, 0], [0, 1, 3, 0], [0, 0, 1, 3]]
     evector, evalue = principal_eigenvector(mat, max_error=1e-10)
     self.assertAlmostEqual(evalue, 3, places=3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, normalise([0, 0, 0, 1]), decimal=4)
Ejemplo n.º 2
0
 def test_eigen_2(self):
     # Test a 2x2 matrix
     mat = [[2, 1], [1, 2]]
     evector, evalue = principal_eigenvector(mat)
     self.assertAlmostEqual(evalue, 3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, normalise([1, 1]))
Ejemplo n.º 3
0
 def test_eigen_3(self):
     # Test a 3x3 matrix
     mat = [[1, 2, 0], [-2, 1, 2], [1, 3, 1]]
     evector, evalue = principal_eigenvector(mat)
     self.assertAlmostEqual(evalue, 3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, normalise([0.5, 0.5, 1]))
Ejemplo n.º 4
0
 def test_eigen_2(self):
     # Test a 2x2 matrix
     mat = [[2, 1], [1, 2]]
     evector, evalue = principal_eigenvector(mat)
     self.assertAlmostEqual(evalue, 3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, normalise([1, 1]))
Ejemplo n.º 5
0
 def test_eigen_1(self):
     # Test identity matrices
     for size in range(2, 6):
         mat = numpy.identity(size)
         evector, evalue = principal_eigenvector(mat)
         self.assertAlmostEqual(evalue, 1)
         assert_array_almost_equal(evector, normalise(numpy.ones(size)))
Ejemplo n.º 6
0
 def test_eigen_1(self):
     # Test identity matrices
     for size in range(2, 6):
         mat = numpy.identity(size)
         evector, evalue = principal_eigenvector(mat)
         self.assertAlmostEqual(evalue, 1)
         assert_array_almost_equal(evector, normalise(numpy.ones(size)))
Ejemplo n.º 7
0
 def test_eigen_4(self):
     # Test a 4x4 matrix
     mat = [[2, 0, 0, 0], [1, 2, 0, 0], [0, 1, 3, 0], [0, 0, 1, 3]]
     evector, evalue = principal_eigenvector(mat, max_error=1e-10)
     self.assertAlmostEqual(evalue, 3, places=3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, normalise([0, 0, 0, 1]), decimal=4)
Ejemplo n.º 8
0
 def test_eigen_3(self):
     # Test a 3x3 matrix
     mat = [[1, 2, 0], [-2, 1, 2], [1, 3, 1]]
     evector, evalue = principal_eigenvector(mat)
     self.assertAlmostEqual(evalue, 3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, normalise([0.5, 0.5, 1]))
Ejemplo n.º 9
0
 def test_3x3_matrix(self):
     mat = numpy.array([[1, 2, 0], [-2, 1, 2], [1, 3, 1]])
     evector, evalue = principal_eigenvector(
         mat, maximum_iterations=None, max_error=1e-10
     )
     self.assertAlmostEqual(evalue, 3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, _normalise(numpy.array([0.5, 0.5, 1])))
Ejemplo n.º 10
0
 def test_4x4_matrix(self):
     mat = [[2, 0, 0, 0], [1, 2, 0, 0], [0, 1, 3, 0], [0, 0, 1, 3]]
     evector, evalue = principal_eigenvector(
         mat, maximum_iterations=None, max_error=1e-10
     )
     self.assertAlmostEqual(evalue, 3, places=3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, _normalise([0, 0, 0, 1]), decimal=4)
Ejemplo n.º 11
0
 def test_4x4_matrix(self):
     mat = numpy.array([[2, 0, 0, 0], [1, 2, 0, 0], [0, 1, 3, 0], [0, 0, 1, 3]])
     evector, evalue = principal_eigenvector(
         mat, maximum_iterations=None, max_error=1e-10
     )
     self.assertAlmostEqual(evalue, 3, places=3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(
         evector, _normalise(numpy.array([0, 0, 0, 1])), decimal=4
     )
Ejemplo n.º 12
0
 def test_2x2_matrix(self):
     mat = numpy.array([[2, 1], [1, 2]])
     evector, evalue = principal_eigenvector(mat)
     self.assertAlmostEqual(evalue, 3)
     assert_array_almost_equal(evector, numpy.dot(mat, evector) / evalue)
     assert_array_almost_equal(evector, _normalise(numpy.array([1, 1])))
Ejemplo n.º 13
0
 def test_zero_matrix(self):
     mat = np.array([[0, 0], [0, 0]])
     evector, evalue = principal_eigenvector(mat)
     self.assertTrue(np.isnan(evalue))
     self.assertTrue(np.isnan(evector[0]))
     self.assertTrue(np.isnan(evector[1]))
Ejemplo n.º 14
0
 def test_identity_matrices(self):
     for size in range(2, 6):
         mat = np.identity(size)
         evector, evalue = principal_eigenvector(mat)
         self.assertAlmostEqual(evalue, 1)
         assert_array_almost_equal(evector, _normalise(np.ones(size)))