diff --git a/test/matrix/test_matrix.rb b/test/matrix/test_matrix.rb index e38db70..75f41c2 100644 --- a/test/matrix/test_matrix.rb +++ b/test/matrix/test_matrix.rb @@ -371,6 +371,14 @@ class TestMatrix < Test::Unit::TestCase assert_equal(Matrix[[1,4],[2,5],[3,6]], @m1.transpose) end + def test_eigensystem + m = Matrix[[1, 2], [3, 4]] + v, d, v_inv = m.eigensystem + assert(d.diagonal?) + assert_equal(v.inv, v_inv) + assert_equal((v * d * v_inv).round(5), m) + end + def test_row_vectors assert_equal([Vector[1,2,3], Vector[4,5,6]], @m1.row_vectors) end