Mol(Math Object Library) fot .Net

The NonlinearEquations type exposes the following members.

コンストラクター

  名前説明
Public methodNonlinearEquations(NonlinearEquations..::..ComputeEquationsAt)
関数値計算用デリゲートを指定して非線形連立方程式の最小二乗問題を解きます。
Public methodNonlinearEquations(String, NativeDll)
ロードされたネイティブ DLL(NativeDll)中の関数名を指定してインスタンスを作成するコンストラクタ。

メソッド

  名前説明
Public methodComputeEquations
非線形連立方程式の値 F(x) を計算します
Public methodComputeJacobian
ヤコビ行列を計算します。
Public methodDispose
IDisposable インターフェースメンバ。C++ Dll に割り当てられたメモリー資源を解放します。 メモリー資源は当然ながらガベージコレクションによって解放されますが、いつ解法されるかはわかりません。 以後、完全に使用しないと判明したオブジェクトは Dispose() を呼び出して積極的に資源を解法することをお勧めします。
(Overrides _Mol..::..Dispose()()()().)
Public methodMinimizeNorm(VectorDenseDouble, VectorDenseDouble)
非線形最小二乗問題を解きます。 非線形連立方程式 F(x) のユークリッドノルム(各成分の二乗和の平方根)を信頼領域法を用いて最小化します。
Public methodMinimizeNorm(VectorDenseDouble, VectorDenseDouble, NonlinearEquations..::..OPTIMISER)
非線形最小二乗問題を解きます。 非線形連立方程式 F(x) のユークリッドノルム(各成分の二乗和の平方根)を最小化します。
Public methodMinimizeNorm(VectorDenseDouble, VectorDenseDouble, VectorDenseDouble, VectorDenseDouble)
非線形最小二乗問題を信頼領域法を用いて解きます。 非線形連立方程式 F(x) のユークリッドノルム(各成分の二乗和の平方根)を最小化します。 x は L < x < U の範囲で検索されます。
Public methodMinimizeNorm(VectorDenseDouble, VectorDenseDouble, VectorDenseDouble, VectorDenseDouble, NonlinearEquations..::..OPTIMISER)
非線形最小二乗問題を解きます。 非線形連立方程式 F(x) のユークリッドノルム(各成分の二乗和の平方根)を最小化します。 x は L < x < U の範囲で検索されます。

フィールド

  名前説明
Public fieldTag
ユーザが自由に設定・使用できるオブジェクトです。 Mol が内部で参照することはありません。
(Inherited from _Mol.)

プロパティ

  名前説明
Public propertyCallCounter
デリゲートやネイティブ DLL の形で供給した非線形関数の計算カウンターです。 MinimizeNorm() メソッド等の繰り返し計算一回につき複数回の関数呼び出しが生じます。従って、繰り返し計算IterationCountより 本プロパティの値の方が処理量の目安になります。 初期値はゼロです。任意の値を設定して、その値からカウントアップすることもできます。
Public propertyFinalNorm
MinimizeNorm() メソッド終了時関数値のユークリッドノルム(二乗和の平方根)です。
Public propertyGrowScale
単純探索で使用される、関数値減少(成功)時の移動幅増幅スケール(デフォルトは6.0)
Public propertyInitialNorm
MinimizeNorm() メソッド呼出し時関数値のユークリッドノルム(二乗和の平方根)です。
Public propertyInitialTrustRegionSize
MinimizeNorm() に「信頼領域法」が指定された場合に用いられる信頼領域サイズの初期サイズ。 初期値は 100 が設定されています。
Public propertyIterationCount
MinimizeNorm() メソッドの終了時の繰り返し計算数です。
Public propertyJacobianDifferenceScale
ヤコビ行列を計算する場合の独立変数 x に対する摂動幅(dx) を決めるスケールファクターです。 ヤコビ行列は (F(x+dx)-F(x))/dx という形で計算されます。ここで dx = JacobianDifferenceScale*x となります。 ただし、x が小さい場合は dx = DifferenceScale となります。もし、ヤコビ行列が特異な場合は dx の値は調節されます。 初期値は 1.0e-5 です。
Public propertyJacobianMatrix
MinimizeNorm() メソッドで使用されるヤコビー行列です(初期値は null)。 設定することは可能ですが、MinimizeNorm()の指定に合致しない場合は新規に作成されるので、特に設定する必要はありません。
Public propertyMaximumIterationCont
MinimizeNorm() メソッドで使用される、最大繰り返し計算回数。初期値は 1000 です。
Public propertyMinimumNorm
非線形最小二乗値計算メソッド MinimizeNorm() の収束判定に使用されます。
各計算式の二乗和の平方根(Norm)の最小値です。 (ΣFi(X)2)1/2 < MinimumNorm となった時に計算は終了します(信頼領域法、直接探索法共通)。
初期値は 1.0e-5 です。
Public propertyMinimumNormChange
非線形最小二乗値計算メソッド MinimizeNorm() で使用される、関数値のユークリッドノルムの最小減少幅です。
各繰り返し計算で、 ||F(x)||2 - ||F(x) - J(x)s||2 < MinimumNormChange の場合、計算は終了します。 ここで F(x) は関数値(ベクトル)、J(x) はヤコビ行列(Jacobian)、そして s は移動幅(trial step)のベクトル。 初期値は 1.0e-5 です。
Public propertyMinimumTrialStep
探索移動距離の最小値。
初期値は 1.0e-5 です。
Public propertyMinimumTrustRegion
非線形最小二乗値計算メソッド MinimizeNorm() の信頼領域法で収束判定に使用されます。
各繰り返し計算で都度得られる信頼領域をΔとすると、 Δ < MinimumTrustRegion となった時に信頼領域法計算は終了します。
初期値は 1.0e-5 です。
Public propertyMinimumYacobianNorm
ヤコビ行列を計算する場合、行列が特異かどうか判定する定数です。
非線形最小二乗値計算メソッド MinimizeNorm() で使用されます。
ヤコビ行列をを J(x) とすると、 ||J(x)(1:m,j)||2 < SingularYacobianNorm, j = 1, ..., n の場合、行列は特異であると見なされます。
初期値は 1.0e-5 です。
Public propertyMolHandle
Mol.C++.dll(ネイティブDLL)と Mol.Net.Dll(.Net 用マネージドDLL)間の情報を管理するハンドル。 NativeDll クラスでユーザ作成のネイティブDLLを作成する場合等に利用できます。
(Inherited from _Mol.)
Public propertyMolType
Molオブジェクトの属性(_Mol..::..MOL_TYPE)。
(Inherited from _Mol.)
Public propertyShrinkScale
単純探索で使用される、関数値増加(失敗)時に反対方向に移動幅を減少させるスケール(デフォルトは-0.5)
Public propertyStopCondition
MinimizeNorm() メソッドの終了状態です。
Public propertyTagComplex
NonlinearEquations が扱う連立方程式の計算時に引数として渡される複素数ベクトル(配列)です。 ユーザサイドで .Net と NativeDll 間のデータ交換に使用できます。 必要なければ特に設定する必要はありません(NULLがセットされます)。 NonlinearEquations クラスが本プロパティを参照することはありません。
Public propertyTagDouble
NonlinearEquations が扱う連立方程式の計算時に引数として渡される実数ベクトル(配列)です。 ユーザサイドで .Net と NativeDll 間のデータ交換に使用できます。 必要なければ特に設定する必要はありません(NULLがセットされます)。 NonlinearEquations クラスが本プロパティを参照することはありません。
Public propertyTagInt
NonlinearEquations が扱う連立方程式の計算時に引数として渡される整数ベクトル(配列)です。 ユーザサイドで .Net と NativeDll 間のデータ交換に使用できます。 必要なければ特に設定する必要はありません(NULLがセットされます)。 NonlinearEquations クラスが本プロパティを参照することはありません。
Public propertyUserType
Molオブジェクトの追加属性(_Mol..::..USER_TYPE)。 例えば一般行列でも要素が対称なら、その属性を積極的にセットすることでソルバーは最適な手法を選択することができます。 当然ながら、間違った設定は間違った値や計算不能な状態に陥りますので注意して設定してください。
(Inherited from _Mol.)

参照