Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Matrixクラス > regular?

instance method 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
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
行列が正方行列でない場合に発生します