要約
行列のLUP分解の情報を保持するクラスです。
Matrix#lup_decomposition の返り値のクラスです。
目次
インスタンスメソッド
det -> Numeric
[permalink][rdoc][edit]determinant -> Numeric
-
元の行列の行列式の値を返します。 LUP 分解の結果を利用して計算します。
[SEE_ALSO] Matrix#determinant
l -> Matrix
[permalink][rdoc][edit]-
LUP分解の下半行列部分を返します。
p -> Matrix
[permalink][rdoc][edit]-
LUP分解の置換行列部分を返します。
pivots -> [Integer]
[permalink][rdoc][edit]-
ピボッティングを表す配列を返します。
singular? -> bool
[permalink][rdoc][edit]-
元の行列が正方で特異なら true を、正則なら false を返します。 LUP 分解の結果を利用して判定します。
[SEE_ALSO] Matrix#singular?
solve(b) -> Vector | Matrix
[permalink][rdoc][edit]-
self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。 b には Vector, Matrix, 数値の配列を指定出来ます。
それぞれベクトルのサイズ、行列の行数、配列のサイズが A の列数と一致していなければなりません。返り値は b が行列なら行列、それ以外はベクトルになります。
- [PARAM] 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][edit]to_a -> [Matrix, Matrix, Matrix]
-
分解した行列を [下半行列, 上半行列, 置換行列] という3要素の配列で返します。
u -> Matrix
[permalink][rdoc][edit]-
LUP分解の上半行列部分を返します。