かなり簡単な方法は、関数空間で基底を選択し、積分変換を行列に変換することです。次に、マトリックスを反転することができます。
数学的には、次のように機能します。正規直交基底関数セットが必要です。内積こと(あなたは彼らがあまりにも正規化されずに逃げることができますが、それはこの方法を説明する方が簡単です。)正規直交手段⟨ T I、T J ⟩ = δ I jのところ、T私(x )⟨ T私、Tj⟩ = δ私はj
⟨ T私、Tj⟩ ≡ ∫baW(x )T私(x )Tj(x )d x= δ私はj(1)
ここで、は何らかの重み関数です。それと制限aおよびbは、選択したT iに関係しています。使用する基底関数のセットを選択したら、制限と重み関数をプログラムにハードコーディングできます。W(x )abT私
正規直交性を使用すると、やF (y )などの関数を、これらの基底関数の線形結合として表現できます。f(x )F(y)
f(x )= ∑私c私T私(x )F(y)= ∑jCjTj(y)(2)
ここで、係数は次のように計算されます
c私Cj= ⟨ F、T私⟩ = ∫baW(x )f(x )T私(x )d x= ⟨ F、Tj⟩ = ∫baW(y)F(y)Tj(y)d y(3)(4)
これらの式が係数eqの定義と一致していることを確認できます。(2)、および正規直交性、eq。(1)。
次に、各基底関数の変換を計算します。のは、それを呼びましょう。T〜私(y)
T〜私(y)≡ ∫∞0yexp[ − 12(y2+ x2)] I0(x y)T私(x )d x
関数であり、あなたは我々がやったとして基底関数の線形結合としてそれを表現することができますので、F(X)とF(Y):T〜私(y)f(x )F(y)
T~i(y)=∑kAikTk(y)
ここで、マトリックス要素は、上記のc iおよびC jを見つけたのと同じ方法で決定されます。AikciCj
Aik=⟨T~i,Tk⟩=∫baW(y)T~i(y)Tk(y)dy(5)
実際には、これはかなり厄介な二重積分ですが、とkの各組み合わせに対して一度(一度だけ)だけ行う必要があります。積分を数値的に実行し、プログラムで結果の値をハードコーディングできます。(補足:T i(x )とW (x )の賢い選択により、積分を象徴的に行うことができるようになるかもしれません。これが可能かどうかは、トランスフォームに依存します。フーリエ変換ですが、ここで質問している変換は不可能だと思います)ikTi(x)W(x)
行列要素および係数c iおよびC jに関して、f (x )とF (y )の関係は線形システムになります。AikciCjf(x)F(y)
∑jCjTj(y)F(y)=∫∞0yexp[−12(y2+x2)]I0(xy)∑iciTi(x)f(x)dx=∑ici∫∞0yexp[−12(y2+x2)]I0(xy)Ti(x)dx=∑ici∑kAikTk(y)
CℓTℓ
⟨(∑jCjTj),Tℓ⟩∫baW(y)∑jCjTj(y)Tℓ(y)dy∑jCj∫baW(y)Tj(y)Tℓ(y)dy∑jCjδjℓCℓ=⟨(∑ici∑kAikTk),Tℓ⟩=∫baW(y)∑ici∑jAikTk(y)Tℓ(y)dy=∑ici∑kAik∫baW(y)Tk(y)Tℓ(y)dy=∑ici∑kAikδkℓ=∑iciAiℓ
ℓCj
CjciAijciAijCjF(y)
F(y)Cj
Cj=∑iciAij
A
ij1NNf(x)T1(x),…,TN(x)1MF(y)T1(y),…,TM(y)M=NMNNciAM×NA11ANM
[−1,1]TiW(x)=11−x2√a=−1b=1⟨Ti,Tj⟩=δijπ/2i=j≠0⟨T0,T0⟩=π