るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.053秒)
トップページ > クエリ:i[x] > ライブラリ:bigdecimal/ludcmp[x]

別のキーワード

  1. _builtin to_i
  2. fiddle to_i
  3. matrix elements_to_i
  4. matrix i
  5. csv to_i

モジュール

キーワード

検索結果

LUSolve.#ludecomp(a, n, zero = 0, one = 1) -> [Integer] (102.0)

n 次正方行列を表す配列 a を破壊的に変更し、返り値と併せて元の行列の LU 分解を提供します。

...と併せて元の行列の LU 分解を提供します。

LUSolve.#lusolve の引数を構築するために使います。

@param a 行列を BigDecimal の配列で指定します。(各要素を
Row-major order で 1 次元の配列にしたオブジェクトを指定し
...
...次元を整数で指定します。

@param zero 0 を表す値を指定します。

@param one 1 を表す値を指定します。

@return ピボットの位置を表す Integer の配列を返します。

@raise RuntimeError 引数 a に特異行列を指定した場合に発生します。...

LUSolve.#lusolve(a, b, ps, zero = 0.0) -> [BigDecimal] (102.0)

LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。

...返します。

@param a 行列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。

@param b ベクトルを BigDecimal の配列で指定します。

@para...
...emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
require 'bigdecimal/ludcmp'

i
nclude 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]
//}...