[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# 70. minpack

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 70.1 Introduction to minpack

`Minpack`は Netlibで入手可能な Fortranライブラリ MINPACKの (`f2cl`を介した) Common Lisp翻訳です。

Categories: Numerical methods · Share packages · Package minpack · Package minpack

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 70.2 Functions and Variables for minpack

関数: minpack_lsquares (flist, varlist, guess [, tolerance, jacobian])

  リスト flistの関数の平方の和を最小化する点を計算します。 変数はリスト varlistの中にあります。 最適点の初期推測は guessで供給されなければいけません。

  オプションのキーワード引数 toleranceと jacobianはアルゴリズム上のある制御を提供します。 toleranceは平方の和に関する望みの見積もり相対誤差です。 jacobianは Jacobianを指定するのに使うことができます。 もし jacobianが与えられず(デフォルトの) `true` なら、 Jacobianを flistから計算します。 もし jacobianが `false`なら数値近似を使います。

  `minpack_lsquares`はリストを返します。 一番目の項目は見積られた解です; 二番目は平方の和で，三番目はアルゴリズムの成功を示します。 可能な値は以下の通りです。

  `0`

    不適切な入力パラメータ。

  `1`

    アルゴリズムが平方の和の相対誤差がせいぜい `tolerance`と見積もります。

  `2`

    アルゴリズムがxと解の相対誤差がせいぜい `tolerance`と見積もります。

  `3`

    info = 1と info = 2の条件が両方とも成立します。

  `4`

    fvec が機械精度の jacobianの列に直交的です。

  `5`

    iflag = 1が 100*(n+1)に至る fcnへのコールの回数

  `6`

    tolが小さすぎます。平方の和の更なる減少は不可能です。

  `7`

    tolが小さすぎます。近似解 xの更なる改善は不可能です。

      /* Problem 6: Powell singular function */
      (%i1) powell(x1,x2,x3,x4) :=
               [x1+10*x2, sqrt(5)*(x3-x4), (x2-2*x3)^2,
                    sqrt(10)*(x1-x4)^2]$
      (%i2) minpack_lsquares(powell(x1,x2,x3,x4), [x1,x2,x3,x4],
                             [3,-1,0,1]);
      (%o2) [[1.652117596168394e-17, - 1.652117596168393e-18,
              2.643388153869468e-18, 2.643388153869468e-18],
             6.109327859207777e-34, 4]

      /* Same problem but use numerical approximation to Jacobian */
      (%i3) minpack_lsquares(powell(x1,x2,x3,x4), [x1,x2,x3,x4],
                             [3,-1,0,1], jacobian = false);
      (%o3) [[5.060282149485331e-11, - 5.060282149491206e-12,
              2.179447843547218e-11, 2.179447843547218e-11],
             3.534491794847031e-21, 5]

関数: minpack_solve (flist, varlist, guess [, tolerance, jacobian])

  `n`個の未知数に関する `n`個の方程式系を解きます。 `n`個の方程式形はリスト flistで与えられます。 解の初期推測は guessの中で提供されます。

  オプションのキーワード引数 toleranceと jacobianはアルゴリズム上のある制御を提供します。 toleranceは平方の和に関して望まれる見積り相対誤差です。 jacobianは Jacobianを指定するのに使うことができます。 もし jacobianを与えないか、(デフォルトの) `true`なら、 Jacobianを flistから計算します。 もし jacobianが `false`なら数値近似を使います。

  `minpack_solve`はリストを返します。 一番目の項目は見積られた解です; 二番目は平方の和で，三番目はアルゴリズムの成功を示します。 可能な値は以下の通りです。

  `0`

    不適切な入力パラメータ。

  `1`

    アルゴリズムが、解の相対誤差がせいぜい `tolerance`と見積もります。

  `2`

    iflag = 1で fcnをコールした回数が 100*(n+1)に達しました。

  `3`

    tolが小さ過ぎます。平方和の中で換算がこれ以上不可能です。

  `4`

    繰り返しがよい進捗を産んでいません。

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by 市川雄二 on October, 5 2017 using texi2html 1.76.