Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Matrixクラス > regular?
regular? -> bool
[permalink][rdoc]行列が正方で正則なら真を、特異なら偽を返します。
行列が正則であるとは、正方行列であり、かつ、その逆行列が存在することです。 行列式が0でないことと同値です。
正方行列でない場合には例外 ExceptionForMatrix::ErrDimensionMismatch を 発生させます。
require 'matrix'
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]
p m.regular? # => true
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, -3]
m = Matrix[a1, a2, a3]
p m.regular? # => false
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
a4 = [1, 1, 1]
m = Matrix[a1, a2, a3, a4]
p m.regular? # => raise ExceptionForMatrix::ErrDimensionMismatch