変分法

変分法の基礎的な問題として,汎関数 を極値化する関数 を求めるというものがある.一般に,複数の独立変数があり,被積分関数 がいくつかの関数並びにそれより高次の導関数に依存している可能性がある.

極値関数は,各関数についての汎関数 の第一変分導関数を零に設定することにより得られるオイラー・ラグランジェ(EulerLagrange)方程式の解である.物理学や工学で扱われる常微分・偏微分方程式の多くは適切な汎関数に対するオイラー方程式として導くことができるので,変分法は一般的に使用できるものである.

VariationalD[f,u[x],x],VariationalD[f,u[x,y,],{x,y,}]
被積分関数 f によって定義された汎関数 の第一変分導関数を与える.ここで f は1つの関数 u および1つの独立変数 x あるいは複数の独立変数 x, y, に依存する
VariationalD[f,{u[x,y,],v[x,y,],},{x,y,}]
被積分関数 f によって定義された汎関数 の第一変分導関数を与える.ここで f は複数の関数 u, v, および複数の独立変数 x, y, に依存する
EulerEquations[f,u[x],x],EulerEquations[f,u[x,y,],{x,y,}]
被積分関数 f のオイラー方程式を与える.ここで f は1つの関数 u,および1つの独立変数 x あるいは複数の独立変数 x, y, に依存する
EulerEquations[f,{u[x,y,],v[x,y,],},{x,y,}]
被積分関数 f のオイラー方程式のリストを与える.ここで f は複数の関数 u, v, および複数の独立変数 x, y, に依存する

第一変分導関数とオイラー方程式

VariationalDは被積分関数 によって定義される汎関数 の第一変分導関数を与える. はいくつかの関数 u, v, w, ,任意順でのそれらの導関数,変数 x, y, z, に依存する可能性がある.被積分関数 が与えられると,EulerEquationsはオイラー(・ラグランジェ)方程式を返す.ここでも はいくつかの関数 u, v, w, ,任意順でのそれらの導関数,変数 x, y, z, に依存する可能性がある.

以下のようにパッケージをロードする.
の第一変分導関数である.
ここでは は単純な振り子のラグランジアン (Lagrangian)であり,EulerEquationsは振子方程式を返す.
ラプラス(Laplace)方程式を生成する.
FirstIntegrals[f,u[x],x],FirstIntegrals[f,{u[x],v[x],},x]
被積分関数 f{u[x],v[x],}のいずれか,あるいは複数の要素と独立である場合,または x と独立である場合に,第一積分を与える
FirstIntegral[u]変数 u と関連した第一積分を与える(FirstIntegralsの出力に現れる)

第一積分

独立変数が x の1つしか存在しないとき,FirstIntegralsは以下の2つ場合に保存量を与える.
(1) f が座標 u に明示的に依存していなければ,それは「無視できる座標」と呼ばれ,対応するオイラー方程式が明確な第一積分(一般化された運動保存量)を持つ.
(2) fu, v, ...と,それらの第一導関数のみに依存しており,x に明示的に依存していなければ,FirstIntegralsはハミルトニアン(Hamiltonian)に対応する第一積分も返す.

中心力運動のラグランジアンは無視できる座標 を持ち(角運動量の保存),時間 に独立(エネルギー保存)である.FirstIntegralsは座標 に対応する第一積分とハミルトニアンに対応する第一積分の両方を返す.

リッツ(Ritz)の変分法は,(1) 固有値問題 (ここで は演算子,は重み関数),(2) 形式 の問題( は正の有限演算子, は指定される)の2つの問題の近似解を求めるためのパワフルな方法である.境界条件を満足し,変分パラメータ , , に依存する試行関数 の選択は,上のどちらの問題でも慎重に行わなければならない.(1)では,VariationalBound[{f,g},u[x,y,],{{x,xmin,xmax},{y,ymin,ymax},},ut,{a,amin,amax},{b,bmin,bmax},]を極値化する(ここで ).この結果は,対応する固有値の上限およびパラメータの最適値となる.(2)では,VariationalBound[f,u[x,y,],{{x,xmin,xmax},{y,ymin,ymax},},ut,{a,amin,amax},{b,bmin,bmax},]が汎関数 (ここで )を極値化し,汎関数の値および最適パラメータを与える.VariationalBoundは,適切な試行関数が与えられると,一般的な汎関数を極値化するために使用することもできる.NVariationalBoundVariationalBoundと数値的に同様に動作する.また.内部関数FindMinimumを使うため,パラメータのオプションと入力形式はこれと同じである.

VariationalBound[{f,g},u[x,y,],{{x,xmin,xmax},{y,ymin,ymax},},ut,{a,amin,amax},{b,bmin,bmax},]
範囲{{amin,amax},{bmin,bmax},}における固有値の上限と a, b, の最適値を与える
VariationalBound[f,u[x,y,],{{x,xmin,xmax},{y,ymin,ymax},},ut,{a,amin,amax},{b,bmin,bmax},]
汎関数の値と a, b, の最適値を与える
NVariationalBound[{f,g},u[x,y,],{{x,xmin,xmax},{y,ymin,ymax},},ut,{a,a0,amin,amax},{b,b0,bmin,bmax},]
初期値が a0, b0, の場合に,範囲{{amin,amax},{bmin,bmax},}における固有値の上限と a, b, の最適値を数値的に評価する
NVariationalBound[f,u[x,y,],{{x,xmin,xmax},{y,ymin,ymax},},ut,{a,a0,amin,amax},{b,b0,bmin,bmax},]
初期値 a0, b0, が与えられた場合に,汎関数の値と a, b, の最適値を数値的に評価する

リッツの変分法

にノードを1つ持つ水素原子の 状態の試行(波動)関数は,リュードベリ(Rydberg)単位で正確なエネルギーを与える.体積要素 は関数パラメータ に含まれており,これらのパラメータのデフォルト範囲はであることに注意のこと.
正方断面の棒の捩れ問題では,を解く必要がある. は境界線上で消失する.VariationalBoundは近似解に対するパラメータの最適値を与える.
与えられた試行(波動)関数に対する一次元の量子非調和振動子の基底状態のエネルギーは,NVariationalBoundによって求められる.パラメータのデフォルト範囲はで,初期値は指定されることに注意のこと.