るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.281秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:E[x] > クエリ:to_d[x] > クエリ:lusolve[x]

別のキーワード

  1. open3 popen2e
  2. socket af_e164
  3. matrix rank_e
  4. matrix det_e
  5. open3 capture2e

ライブラリ

モジュール

検索結果

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

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

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

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

@param ps LUSolve.#ludec...
...@param zero 0.0 を表す値を指定します。

//emlist[][ruby]{
r
equire 'bigdecimal'
r
equire 'bigdecimal/util'
r
equire '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]
//}...