検索データのプロット
ユーティリティ関数の
と
は,一次元および二次元関数におけるFindMinimum,FindRootの検索データを表示する.これらは基本的にそれぞれFindMinimum,FindRootと同じ引数で使うが,異なる点はプロット作成のために呼び出すグラフィックス関数に影響するオプションを付加的に取るという点と,FindMinimumとFindRootが持つHoldAll属性を持たないという点である.
| FindMinimumPlot[f,{x,xst},opts] | FindMinimum[f, {x, xst}]において,関数 f およびその任意の導関数を評価したステップおよび点を f 対 x のプロットに重ねてプロットする.opts にはFindMinimumおよびPlotのオプションを使うことができる |
| FindMinimumPlot[f,{{x,xst},{y,yst}},opts] | FindMinimum[f, {{x, xst}, {y, yst}}]において,関数 f およびその任意の導関数を評価したステップおよび点を x および y の関数としての f の等高線プロットに重ねてプロットする.opts にはFindMinimumおよびContourPlotのオプションを使うことができる |
| FindRootPlot[f,{x,xst},opts] | FindRoot[f, {x, xst}]において,関数 f およびその任意の導関数を評価したステップおよび点を f 対 x のプロットに重ねてプロットする.opts にはFindRootおよびPlotのオプションを使うことができる |
| FindRootPlot[f,{{x,xst},{y,yst}},opts] | FindRoot[f, {{x, xst}, {y, yst}}]において,関数 f およびその任意の導関数を評価したステップおよび点を x と y の関数としてのメリット関数 f の等高線プロットに重ねてプロットする.opts にはFindRootおよびContourPlotのオプションを使うことができる |
検索データのプロット
関数 f の処理を簡潔にし,起る可能性のある混乱を避けるために,
は方程式を取らず,根
を見付ける.
ステップおよび評価点は,簡単に見分けられるよう,以下のように色分けしてある.
- summary は,ステップ数,および関数とその導関数の評価回数を示す規則のリストである.
- plot は表示されるグラフィックスオブジェクトである.
| Out[2]= |  |
以下は,点

から開始して関数

の極小値を見付ける際に,
FindMinimumが使用するステップと評価を2Dで示したものである.この問題は平方和なので,
FindMinimumは剰余関数を導出した上で,それとその関数のヤコビ行列だけを評価する
「ガウス・ニュートン」/Levenberg-Marquardt法をデフォルトで使う.剰余関数が評価される点は,黄色い点で示されている.大きい紫の輪で囲まれている黄色い点は,ヤコビ行列も評価された点であることを示す.
| Out[3]= |  |
以下は,点

から開始して,
「ニュートン」法で関数

の極小値を求める際に,
FindMinimumが使用するステップと評価を2Dで表示したものである.関数,勾配,ヘッセ行列がすべて評価された点は,同心の緑,赤,水色の円で示されている.この例ではすべてのニュートンステップがWolfe条件を満足したので,ヘッセ行列とは別に関数と勾配が評価された点は存在しないということに注意する.しかしこのようなことが常にあるわけではない.また,ニュートン法がデフォルトのメソッドとは異なる極小値を見付けるということにも注意する.
| Out[4]= |  |
以下は,2つの初期値が関数のプロットに重なっている関数

の極小値を求めるために,
FindMinimumが使用するステップと評価を示したものである.関数を表す曲線が,太く紫で表示されるよう,
Plotにオプションが与えてある.初期値が2つあると,
FindMinimumは導関数なしの主軸法を使うので,関数の評価しかない.これは緑の点で示されている.
| Out[5]= |  |
以下は,点

から開始して関数

の極小値を求める際に,
FindRootが使用するステップと評価を2Dで表示したものである.前述の通り関数は剰余関数であり,
FindRootのデフォルトメソッドは,黄色の点と紫の円で示されている通り,剰余関数とそのヤコビ行列を評価する.このプロットは,関数

に対して

のデフォルトメソッドを使って生成されるものとほとんど同じである.それは,剰余関数が同じだからである.

も剰余関数の各要素のゼロ等高線を赤と緑で示す.
| Out[6]= |  |