44件ヒット
[1-44件を表示]
(0.100秒)
検索結果
先頭4件
-
Matrix
:: LUPDecomposition # solve(b) -> Vector | Matrix (21225.0) -
self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。 b には Vector, Matrix, 数値の配列を指定出来ます。
...Vector, Matrix, 数値の配列を指定出来ます。
それぞれベクトルのサイズ、行列の行数、配列のサイズが A の列数と一致していなければなりません。
返り値は b が行列なら行列、それ以外はベクトルになります。
@param b 一次方......項を指定します。
//emlist[][ruby]{
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)]]... -
LUSolve
. # lusolve(a , b , ps , zero = 0 . 0) -> [BigDecimal] (9224.0) -
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
...@param a 行列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。
@param b ベクトルを BigDecimal の配列で指定します。
@param ps LUSolve.#l......udecomp の返り値を指定します。
@param zero 0.0 を表す値を指定します。
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
require 'bigdecimal/ludcmp'
include LUSolve
a = [['1.0', '2.0'], ['3.0', '1.0']].flatten.map(&:to_d)
# x = ['1.0', -1.0']
b = ['-1.0', '2.0......'].map(&:to_d)
zero = '0.0'.to_d
one = '1.0'.to_d
# 以下の 2 行は
ps = ludecomp(a, b.size, zero, one) # a が破壊的に変更される
x = lusolve(a, b, ps, zero)
# こう書いてもよい
# x = lusolve(a, b, ludecomp(a, b.size, zero, one), zero)
p x.map(&:to_f) #=> [1.0, -1.0]
//}... -
Newton
. # nlsolve(f , x) -> Integer (6212.0) -
ニュートン法を用いて非線形方程式 f(x) = 0 の解 x を求めます。
...ュートン法を用いて非線形方程式 f(x) = 0 の解 x を求めます。
@param f 関数を表すオブジェクトを指定します。詳細は
bigdecimal/newton をご覧ください。
@param x 探索を開始する点を数値の配列で指定します。解が複数ある......ずに RuntimeError が発生する場合があります。実行後は引
数 x に指定したオブジェクトに解が代入されます。
実行後は解を表す値が代入されています。
@return 計算した回数を整数で返します。
@raise RuntimeError 解... -
LUSolve
. # ludecomp(a , n , zero = 0 , one = 1) -> [Integer] (3124.0) -
n 次正方行列を表す配列 a を破壊的に変更し、返り値と併せて元の行列の LU 分解を提供します。
...を提供します。
LUSolve.#lusolve の引数を構築するために使います。
@param a 行列を BigDecimal の配列で指定します。(各要素を
Row-major order で 1 次元の配列にしたオブジェクトを指定し
ます)
@param n 引数 a の次元を......整数で指定します。
@param zero 0 を表す値を指定します。
@param one 1 を表す値を指定します。
@return ピボットの位置を表す Integer の配列を返します。
@raise RuntimeError 引数 a に特異行列を指定した場合に発生します。...