行列計算

matrix.rbの逆行列計算ってなんかおかしくね?

irb(main):001:0> require 'matrix'
=> true
irb(main):002:0> Matrix[[2,1],[3,1]].inv
ExceptionForMatrix::ErrNotRegular: Not Regular Matrix
        from /usr/lib/ruby/1.8/matrix.rb:595:in `inverse_from'
        from /usr/lib/ruby/1.8/matrix.rb:591:in `each'
        from /usr/lib/ruby/1.8/matrix.rb:591:in `inverse_from'
        from /usr/lib/ruby/1.8/matrix.rb:580:in `inv'
        from (irb):2
        from :0
irb(main):003:0> Matrix[[2,1],[5,3]].inv
=> Matrix[[0, 0], [-2, 1]]
irb(main):004:0> Matrix[[2,5],[1,3]].inv
=> Matrix[[0, 0], [0, 0]]