ライブラリ
- matrix (30)
クラス
- Matrix (8)
-
Matrix
:: EigenvalueDecomposition (10) -
Matrix
:: LUPDecomposition (10) - Vector (2)
キーワード
- []= (1)
- det (2)
- determinant (2)
- eigen (1)
- eigensystem (1)
-
eigenvalue
_ matrix (1) - eigenvalues (1)
-
eigenvector
_ matrix (1) -
eigenvector
_ matrix _ inv (1) - eigenvectors (1)
-
entrywise
_ product (1) -
hadamard
_ product (1) - independent? (1)
- l (1)
- lup (1)
-
lup
_ decomposition (1) - pivots (1)
- singular? (1)
- solve (1)
-
to
_ a (2) -
to
_ ary (2) - u (1)
- v (1)
-
v
_ inv (1)
検索結果
先頭5件
-
Matrix
# entrywise _ product(m) -> Matrix (99982.0) -
アダマール積(要素ごとの積)を返します。
アダマール積(要素ごとの積)を返します。
@raise ExceptionForMatrix::ErrDimensionMismatch 行や列の要素数が一致しない時に発生します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[1,2], [3,4]].hadamard_product(Matrix[[1,2], [3,2]]) # => Matrix[[1, 4], [9, 8]]
//} -
Matrix
# hadamard _ product(m) -> Matrix (99982.0) -
アダマール積(要素ごとの積)を返します。
アダマール積(要素ごとの積)を返します。
@raise ExceptionForMatrix::ErrDimensionMismatch 行や列の要素数が一致しない時に発生します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[1,2], [3,4]].hadamard_product(Matrix[[1,2], [3,2]]) # => Matrix[[1, 4], [9, 8]]
//} -
Matrix
# lup _ decomposition -> Matrix :: LUPDecomposition (91372.0) -
行列の LUP 分解を保持したオブジェクトを返します。
行列の LUP 分解を保持したオブジェクトを返します。
Matrix::LUPDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(下三角行列、上三角行列、置換行列)
を得ることができます。これを [L, U, P] と書くと、
L*U = P*self を満たします。
//emlist[例][ruby]{
require 'matrix'
a = Matrix[[1, 2], [3, 4]]
l, u, p = a.lup
l.lower_triangular? # => true
u.upper_triangular? # => true
p.... -
Matrix
# lup -> Matrix :: LUPDecomposition (82072.0) -
行列の LUP 分解を保持したオブジェクトを返します。
行列の LUP 分解を保持したオブジェクトを返します。
Matrix::LUPDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(下三角行列、上三角行列、置換行列)
を得ることができます。これを [L, U, P] と書くと、
L*U = P*self を満たします。
//emlist[例][ruby]{
require 'matrix'
a = Matrix[[1, 2], [3, 4]]
l, u, p = a.lup
l.lower_triangular? # => true
u.upper_triangular? # => true
p.... -
Matrix
# det -> Numeric (81394.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
# determinant -> Numeric (81394.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
:: EigenvalueDecomposition # d -> Matrix (72616.0) -
固有値を対角成分に並べた行列を返します。
固有値を対角成分に並べた行列を返します。 -
Matrix
:: LUPDecomposition # p -> Matrix (72610.0) -
LUP分解の置換行列部分を返します。
LUP分解の置換行列部分を返します。 -
Matrix
# eigen -> Matrix :: EigenvalueDecomposition (64108.0) -
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
Matrix::EigenvalueDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(右固有ベクトル、固有値行列、左固有ベクトル)
を得ることができます。
これを [V, D, W] と書くと、
(元の行列が対角化可能ならば)、
D は対角行列で、 self == V*D*W, V = W.inverse を満たします。
D のそれぞれの対角成分が行列の固有値です。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [... -
Matrix
# eigensystem -> Matrix :: EigenvalueDecomposition (64108.0) -
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
Matrix::EigenvalueDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(右固有ベクトル、固有値行列、左固有ベクトル)
を得ることができます。
これを [V, D, W] と書くと、
(元の行列が対角化可能ならば)、
D は対角行列で、 self == V*D*W, V = W.inverse を満たします。
D のそれぞれの対角成分が行列の固有値です。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [... -
Vector
# independent?(*vectors) -> bool (54922.0) -
self とベクトルの列 vectors が線形独立であれば true を返します。
self とベクトルの列 vectors が線形独立であれば true を返します。
require 'matrix'
Vector.independent?(self, *vectors)
と同じです。
@param vectors 線形独立性を判定するベクトル列 -
Matrix
:: EigenvalueDecomposition # eigenvector _ matrix _ inv -> Matrix (45631.0) -
左固有ベクトルを縦に並べた行列を返します。
左固有ベクトルを縦に並べた行列を返します。
これは Matrix::EigenvalueDecomposition#v の逆行列です -
Matrix
:: EigenvalueDecomposition # eigenvector _ matrix -> Matrix (45613.0) -
右固有ベクトルを横に並べた行列を返します。
右固有ベクトルを横に並べた行列を返します。 -
Matrix
:: LUPDecomposition # det -> Numeric (45322.0) -
元の行列の行列式の値を返します。 LUP 分解の結果を利用して計算します。
元の行列の行列式の値を返します。
LUP 分解の結果を利用して計算します。
@see Matrix#determinant -
Matrix
:: LUPDecomposition # determinant -> Numeric (45322.0) -
元の行列の行列式の値を返します。 LUP 分解の結果を利用して計算します。
元の行列の行列式の値を返します。
LUP 分解の結果を利用して計算します。
@see Matrix#determinant -
Matrix
:: EigenvalueDecomposition # eigenvalue _ matrix -> Matrix (36616.0) -
固有値を対角成分に並べた行列を返します。
固有値を対角成分に並べた行列を返します。 -
Matrix
:: EigenvalueDecomposition # v _ inv -> Matrix (36331.0) -
左固有ベクトルを縦に並べた行列を返します。
左固有ベクトルを縦に並べた行列を返します。
これは Matrix::EigenvalueDecomposition#v の逆行列です -
Matrix
:: EigenvalueDecomposition # v -> Matrix (36313.0) -
右固有ベクトルを横に並べた行列を返します。
右固有ベクトルを横に並べた行列を返します。 -
Matrix
:: LUPDecomposition # pivots -> [Integer] (36304.0) -
ピボッティングを表す配列を返します。
ピボッティングを表す配列を返します。 -
Matrix
:: EigenvalueDecomposition # to _ a -> [Matrix , Matrix , Matrix] (28114.0) -
Matrix::EigenvalueDecomposition#v, Matrix::EigenvalueDecomposition#d, Matrix::EigenvalueDecomposition#v_inv をこの順に並べた配列を返します。
Matrix::EigenvalueDecomposition#v,
Matrix::EigenvalueDecomposition#d,
Matrix::EigenvalueDecomposition#v_inv
をこの順に並べた配列を返します。 -
Matrix
:: EigenvalueDecomposition # to _ ary -> [Matrix , Matrix , Matrix] (28114.0) -
Matrix::EigenvalueDecomposition#v, Matrix::EigenvalueDecomposition#d, Matrix::EigenvalueDecomposition#v_inv をこの順に並べた配列を返します。
Matrix::EigenvalueDecomposition#v,
Matrix::EigenvalueDecomposition#d,
Matrix::EigenvalueDecomposition#v_inv
をこの順に並べた配列を返します。 -
Matrix
:: LUPDecomposition # to _ a -> [Matrix , Matrix , Matrix] (27922.0) -
分解した行列を [下半行列, 上半行列, 置換行列] という3要素の配列で 返します。
分解した行列を [下半行列, 上半行列, 置換行列] という3要素の配列で
返します。 -
Matrix
:: LUPDecomposition # to _ ary -> [Matrix , Matrix , Matrix] (27922.0) -
分解した行列を [下半行列, 上半行列, 置換行列] という3要素の配列で 返します。
分解した行列を [下半行列, 上半行列, 置換行列] という3要素の配列で
返します。 -
Matrix
:: LUPDecomposition # solve(b) -> Vector | Matrix (27427.0) -
self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。 b には Vector, Matrix, 数値の配列を指定出来ます。
self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。
b には Vector, Matrix, 数値の配列を指定出来ます。
それぞれベクトルのサイズ、行列の行数、配列のサイズが A の列数と一致していなければなりません。
返り値は b が行列なら行列、それ以外はベクトルになります。
@param b 一次方程式の定数項を指定します。
//emlist[][ruby]{
require 'matrix'
lup = Matrix[[2, 1], [1, 2]].lup
lup.solve([1, -1]) #=> ... -
Matrix
:: LUPDecomposition # l -> Matrix (27307.0) -
LUP分解の下半行列部分を返します。
LUP分解の下半行列部分を返します。 -
Matrix
:: LUPDecomposition # u -> Matrix (27307.0) -
LUP分解の上半行列部分を返します。
LUP分解の上半行列部分を返します。 -
Matrix
:: LUPDecomposition # singular? -> bool (27022.0) -
元の行列が正方で特異なら true を、正則なら false を返します。 LUP 分解の結果を利用して判定します。
元の行列が正方で特異なら true を、正則なら false を返します。
LUP 分解の結果を利用して判定します。
@see Matrix#singular? -
Matrix
:: EigenvalueDecomposition # eigenvalues -> [Float] (27004.0) -
固有値を配列で返します。
固有値を配列で返します。 -
Matrix
:: EigenvalueDecomposition # eigenvectors -> [Vector] (27004.0) -
右固有ベクトルを配列で返します。
右固有ベクトルを配列で返します。 -
Vector
# []=(index , value) (382.0) -
index 番目の要素を value に変更します。
index 番目の要素を value に変更します。
@param index インデックスを整数で指定します。
@param value 設定したい要素の値を指定します。
@raise TypeError ベクトルの範囲外にある整数を指定したときに、発生します。
//emlist[][ruby]{
require 'matrix'
v = Vector[0, 0, 0, 0, 0]
v[1] = 2
p v #=> Vector[0, 2, 0, 0, 0]
v[-1] = 3
p v #=> Vector[0, 2, 0, 0, 3]
v[99] = 100
# IndexE...