diff --git a/test/matrix/test_matrix.rb b/test/matrix/test_matrix.rb index 75f41c2..8146edc 100644 --- a/test/matrix/test_matrix.rb +++ b/test/matrix/test_matrix.rb @@ -379,6 +379,16 @@ class TestMatrix < Test::Unit::TestCase assert_equal((v * d * v_inv).round(5), m) end + def test_lup + m = Matrix[[1, 2], [3, 4]] + l, u, p = m.lup + assert(l.lower_triangular?) + assert(u.upper_triangular?) + assert(p.permutation?) + assert(l * u == p * m) + assert_equal(m.lup.solve([2, 5]), Vector[1, Rational(1,2)]) + end + def test_row_vectors assert_equal([Vector[1,2,3], Vector[4,5,6]], @m1.row_vectors) end