239件ヒット
[101-200件を表示]
(0.040秒)
別のキーワード
キーワード
- []= (7)
- coerce (12)
- collect! (14)
- column (24)
- each (24)
-
each
_ with _ index (24) - eigen (12)
- eigensystem (12)
- hstack (12)
- lup (12)
-
lup
_ decomposition (12) - map! (14)
- minor (24)
- row (24)
- vstack (12)
検索結果
先頭5件
-
Matrix
# minor(from _ row . . to _ row , from _ col . . to _ col) -> Matrix (32.0) -
selfの部分行列を返します。
...
selfの部分行列を返します。
自分自身の部分行列を返します。
ただし、パラメータは次の方法で指定します。
(1) 開始行番号, 行の大きさ, 開始列番号, 列の大きさ
(2) 開始行番号..終了行番号, 開始列番号..終了列番号
@pa......ram col_size 部分行列の列サイズ
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3, 4, 5]
a2 = [11, 12, 13, 14, 15]
a3 = [21, 22, 23, 24, 25]
a4 = [31, 32, 33, 34, 35]
a5 = [51, 52, 53, 54, 55]
m = Matrix[a1, a2, a3, a4, a5]
p m.minor(0, 2, 1, 2) # => Matrix[[2, 3], [12, 13]]
//}......aram col_size 部分行列の列サイズ
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3, 4, 5]
a2 = [11, 12, 13, 14, 15]
a3 = [21, 22, 23, 24, 25]
a4 = [31, 32, 33, 34, 35]
a5 = [51, 52, 53, 54, 55]
m = Matrix[a1, a2, a3, a4, a5]
p m.minor(0, 2, 1, 2) # => Matrix[[2, 3], [12, 13]]
//}... -
Matrix
# []=(row , col , v) (28.0) -
行が row、列が col である範囲を v に変更する。
...行が row、列が col である範囲を v に変更する。
@param row self の変更する行の範囲を Integer か Range で指定します。
@param col self の変更する列の範囲を Integer か Range で指定します。
@param v セットする要素を指定します。......す。
v が Matrix のとき、変更の対象範囲と行数・列数が同じである必要があります。
v が上記以外のとき、変更の対象範囲の全ての要素を v に変更します。
//emlist[][ruby]{
require 'matrix'
m = Matrix[[0, 0], [0, 0]]
m[0, 1......1] = 9
p m # => Matrix[[0, 6], [0, 9]]
m = Matrix[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
m[0, 0..-1] = 5
m[1, 0..1] = Vector[2, 4]
m[2, 0..2] = Matrix[[3, 6, 9]]
p m #=> Matrix[[5, 5, 5], [2, 4, 0], [3, 6, 9]]
m = Matrix[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
m[0..2, 0..1] = 9
p m # => Matrix[[9, 9, 0], [9,... -
Matrix
# coerce(other) -> Array (22.0) -
他の数値オブジェクトとの変換を行います。
...クトをMatrix::Scalarのオブジェクトに変換し、selfとの組を配列として返します。
@param other 変換する数値オブジェクト
//emlist[例][ruby]{
require 'matrix'
a1 = [1, 2]
a2 = [-1.25, 2.2]
m = Matrix[a1, a2]
r = Rational(1, 2)
p m.coerce(r) #=> [#<Matrix::Scalar:......0x832df18 @value=(1/2)>, Matrix[[1, 2], [-1.25, 2.2]]]
//}... -
Matrix
# eigen -> Matrix :: EigenvalueDecomposition (22.0) -
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
...行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
Matrix::EigenvalueDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(右固有ベクトル、固有値行列、左固有ベクトル)
を得ることがで......(元の行列が対角化可能ならば)、
D は対角行列で、 self == V*D*W, V = W.inverse を満たします。
D のそれぞれの対角成分が行列の固有値です。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
v, d, v_inv = m.eigensystem
d.diagonal? # => true
v.......inv == v_inv # => true
(v * d * v_inv).round(5) == m # => true
//}
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します
@see Matrix::EigenvalueDecomposition... -
Matrix
# eigensystem -> Matrix :: EigenvalueDecomposition (22.0) -
行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
...行列の固有値と左右の固有ベクトルを保持したオブジェクトを返します。
Matrix::EigenvalueDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(右固有ベクトル、固有値行列、左固有ベクトル)
を得ることがで......(元の行列が対角化可能ならば)、
D は対角行列で、 self == V*D*W, V = W.inverse を満たします。
D のそれぞれの対角成分が行列の固有値です。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
v, d, v_inv = m.eigensystem
d.diagonal? # => true
v.......inv == v_inv # => true
(v * d * v_inv).round(5) == m # => true
//}
@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します
@see Matrix::EigenvalueDecomposition... -
Matrix
# lup -> Matrix :: LUPDecomposition (22.0) -
行列の 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.permutation? # => true
l * u == p * a # => true
a.lup.solve([2, 5]) # => Vector[(1/1), (1/2)]
//}
@see Matrix::LUPDecomposition... -
Matrix
# lup _ decomposition -> Matrix :: LUPDecomposition (22.0) -
行列の 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.permutation? # => true
l * u == p * a # => true
a.lup.solve([2, 5]) # => Vector[(1/1), (1/2)]
//}
@see Matrix::LUPDecomposition... -
Matrix
# collect!(which = :all) -> Enumerator (18.0) -
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
...詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map! { |element| element * 10 } #=> Matrix[[10, 20], [30, 40]]
p m #=> Matrix[[10, 20], [30, 40]]
//}
@see Matrix#each, Matrix#map... -
Matrix
# map!(which = :all) -> Enumerator (18.0) -
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
...詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map! { |element| element * 10 } #=> Matrix[[10, 20], [30, 40]]
p m #=> Matrix[[10, 20], [30, 40]]
//}
@see Matrix#each, Matrix#map... -
Matrix
# column(j) -> Vector | nil (17.0) -
j 番目の列を Vector オブジェクトで返します。 j 番目の列が存在しない場合は nil を返します。 ブロックが与えられた場合はその列の各要素についてブロックを繰り返します。
...のインデックスと見倣します。末尾の列が -1 番目になります。
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]
p m.column(1) # => Vector[2, 15, -2]
cnt = 0
m.column(-1) { |x|
cnt = cnt + x
}
p cnt #...