2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
require 'matrix'
|
|
|
|
|
|
|
|
describe "Matrix#regular?" do
|
|
|
|
|
|
|
|
it "returns false for singular matrices" do
|
|
|
|
m = Matrix[ [1,2,3], [3,4,3], [0,0,0] ]
|
|
|
|
m.regular?.should be_false
|
|
|
|
|
|
|
|
m = Matrix[ [1,2,9], [3,4,9], [1,2,9] ]
|
|
|
|
m.regular?.should be_false
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns true if the Matrix is regular" do
|
|
|
|
Matrix[ [0,1], [1,0] ].regular?.should be_true
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns true for an empty 0x0 matrix" do
|
|
|
|
Matrix.empty(0,0).regular?.should be_true
|
|
|
|
end
|
|
|
|
|
|
|
|
it "raises an error for rectangular matrices" do
|
2019-07-27 06:40:09 -04:00
|
|
|
-> {
|
2017-06-29 10:35:37 -04:00
|
|
|
Matrix[[1], [2], [3]].regular?
|
|
|
|
}.should raise_error(Matrix::ErrDimensionMismatch)
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2019-07-27 06:40:09 -04:00
|
|
|
-> {
|
2017-06-29 10:35:37 -04:00
|
|
|
Matrix.empty(3,0).regular?
|
|
|
|
}.should raise_error(Matrix::ErrDimensionMismatch)
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|