Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > matrixライブラリ > Matrix::LUPDecompositionクラス
クラスの継承リスト: Matrix::LUPDecomposition < Object < Kernel < BasicObject
行列のLUP分解の情報を保持するクラスです。
Matrix#lup_decomposition の返り値のクラスです。
det -> Numeric
[permalink][rdoc]determinant -> Numeric
元の行列の行列式の値を返します。 LUP 分解の結果を利用して計算します。
[SEE_ALSO] Matrix#determinant
l -> Matrix
[permalink][rdoc]LUP分解の下半行列部分を返します。
p -> Matrix
[permalink][rdoc]LUP分解の置換行列部分を返します。
pivots -> [Integer]
[permalink][rdoc]ピボッティングを表す配列を返します。
singular? -> bool
[permalink][rdoc]元の行列が正方で特異なら真を/正則なら偽を返します。 LUP 分解の結果を利用して判定します。
[SEE_ALSO] Matrix#singular?
solve(b) -> Vector | Matrix
[permalink][rdoc]self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。 b には Vector, Matrix, 数値の配列を指定出来ます。
それぞれベクトルのサイズ、行列の行数、配列のサイズが A の列数と一致していなければなりません。 返り値は b が行列なら行列、それ以外はベクトルになります。
require 'matrix'
lup = Matrix[[2, 1], [1, 2]].lup
lup.solve([1, -1]) #=> Vector[(1/1), (-1/1)]
lup.solve(Vector[3, 0]) #=> Vector[(2/1), (-1/1)]
lup.solve(Matrix[[1, 3], [-1, 0]]) #=> Matrix[[(1/1), (2/1)], [(-1/1), (-1/1)]]
to_ary -> [Matrix, Matrix, Matrix]
[permalink][rdoc]to_a -> [Matrix, Matrix, Matrix]
分解した行列を [下半行列, 上半行列, 置換行列] という3要素の配列で 返します。
u -> Matrix
[permalink][rdoc]LUP分解の上半行列部分を返します。