今日のアニソン、「艦これ」の鳥海が踊る『ぶれないアイ』 [今日のアニソン]
[秘技!(?)逆関数を数値積分] [数値解析]
[秘技!(?)逆関数を数値積分]
変態(マニアック)解法です。でもこの方法はちゃんと事前調査して、解の概形を押さえておけば、どんな変数分離形の微分方程式にも使えるのだ。
(1)
まず変数分離形(1)の位相空間での挙動を調べます。
初期条件:y=0を考慮すると、y=0での傾きは図-1からdy/dx=1なので、当面yは単調増加です。それで(dy/dx,y)の点をyが単調増加の方向にたどるとy=1に達します。そこでdy/dx=0となり、yはそれ以上増えません。何故ならy=1を越えると今度は減少するからです。よって微分方程式(1)の解関数は、0≦y≦1の範囲にある単調増加関数です。図の点線赤枠部分が該当する位相空間での軌道です。
次に変数分離形の処方箋に従って(1)を、
と変形します。ここでy=1が別扱いになるのがわかります。(1)からy=1ならdy/dx=0なので、y=1は(1)の一つの特解です。しかしy(0)=0でないので無視できます。y≠1の時は、合成関数の微分公式の逆から、
(2)
ですが、任意定数Cは左辺に預ける事にします。いま0≦y<1と初期条件がわかってますから、預ければCは不要になります。で、(2)の左辺を数値積分すれば良いのでは?というのが、ここでの提案です。0≦y<1で単調増加って、もうわかってるんですから(^^)。
(3)
数値積分には台形公式くらい使えば十分なはずです。じつは台形公式は2次の精度があるので、ちゃんと使ってやれば非常に精度優秀なんです。この方法の利点は、オイラー法のように数値誤差を気にする必要があんまりない点です。だって普通に面積を求めるだけなんだもん(^^)。
台形公式をちゃんと使います。(3)左辺の被積分関数が発散性を持たない普通の連続関数だったら、0≦y<1の分割は十分細かいyの等分割δでOKです。でも今は、y→1で被積分関数が発散しますから、y=1の近傍では分割幅δを制御する必要があります。(補足)
台形公式の1ステップのx(y)の増分Δxは、次式で計算されます。
(4)
台形公式を用いる場合、被積分関数の増分が、積分パラメータの区間幅の1/10~1/100くらいにあれば十分な精度です(普通の要求精度では)。積分パラメータ0≦y<1の区間幅は1なので、増分(4)が1/20以下になるように分割幅δを制御します。
(5)
(5)でδが十分小さいとしてδの1次の項だけ残すと、
(6)
が得られます。y=0のときはδ≦1/20となるので、恐らくδの上限で数値積分して大丈夫です。
でも個人的には重宝してます。今回はネコ担当教官へのレポート提出なのでちゃんとやりましたが、等分割δでも概形を知りたいだけなら、けっこういけちゃうので。
(執筆:ddt³さん)
【ネムネコの補足(蛇足)】
y=1における被積分関数の発散を抑えるために、定積分、
を中点公式を用いて、δ=0.05で計算した結果は次の通り。
数値解と厳密解との比較は次の通り。
概ね、計算結果は良好ですが、Δxの間隔が急速に拡大するx=1.1以降から、計算精度が悪くなっていく。
【ネムネコからのお願い】
よろしかったら、この計算で使用したスプレッドシートを送ってください。是非、公開したいので(^^)
[線形代数ってなにさ?_9] [線形代数の基礎]
[線形代数ってなにさ?_9]
10.ベクトル空間の根空間への直和分解定理
これから線形代数前半の最終目標である、ベクトル空間の根空間への直和分解定理を、今までやってきた事の総力をあげて証明します。前回予告したように、標準的証明で使用されるユークリッドの互助法は使いません。
ところがそうすると、総力をあげてと言いながら本質的に[線形代数ってなにさ?_4]でやった直和補空間の性質[定理-1]と、[線形代数ってなにさ?_5]でやった線形変換の標準分解の[系-1]関連の性質のみで証明できてしまうのです(^^)。
以後、V上の線形変換Aの像空間をいちいちImage(A)と書くのは面倒なので、簡単にAVと書きます。
補題を一個証明します。根空間への直和分解定理は、次の補題からストレートに出てきます。
[補題-1]
AとBをベクトル空間V上の線形変換で、AとBは可換とする。V0=ker(AB),V1=ker(A),V2=ker(B)とした時、V1とV2が独立なら、
[証明]
まずABに対するV1とV2の挙動を調べます。AとBが可換なので、
は題意から明らか。よってV1⊂V0。
も題意から明らか。よってV2⊂V0。従って、
V1とV2の和空間が直和になるのは、V1とV2が独立だから。
[定理-1]より、{0}空間も含めれば任意の部分空間には直和補空間が存在します。そこでV0での、
の直和補空間を、V3で表します。
V3={0}である事を示す。
Bに対するV1の挙動を調べます。(1)は、
という事でもあるので、題意からBV1⊂V1=ker(A)です。
線形変換BのV1への制限B|V1の核を調べてみましょう。線形変換Bの定義域をV1へ制限するという事は、Bの核V2=ker(B)をわざわざ定義域から除外するという事だから、
です。何故ならV1とV2が独立だから。従ってV1上でBは正則。しかもBV1⊂V1なので、
となり、BはV1上で正則線形変換です。このようなものは[系-1]から全単射でした。よって、
次に、Bに対するV3の挙動を調べます。定義からV3もV3⊂V0なので、
が成り立ち、BV3⊂V1=ker(A)です。B|V3を考えればV3の定義から、
なので、BはV3上でも正則です。従って、
となります。V1とV3の和空間が直和になるのは、V3の定義からV1とV3が独立だから。Bによる変換結果が直和なのは、[定理-3]より正則線形写像は独立なベクトルを独立に移すから。
(5)に(4)を考慮すると、
です。従ってV1の中でのV1の直和補空間BV3は、V1の部分基底で張られる必要がありますが、BV3がV1に対する直和補空間である事から、それは不可。にも関わらずV1と独立になり得る部分空間は、BV3={0}空間以外ありません。よって、
を導けます。
同様に(2)はAとBが可換なので、
という事でもあるので、AV2⊂V2でかつ正則,AV3⊂V2でかつ正則も導けて、
となります。従って、
このとき(3)は、
[証明終]
次がケーリー・ハミルトンの定理です。前回予告したように、これは証明しません。
[定理-13]
ベクトル空間V上の線形変換Aの特性多項式φA(λ)、
のλを形式的にAで置き換えた線形変換の多項式、
は(Eは恒等変換または単位行列)、
である。ここでVの次元をnとすれば、h1+h2+・・・+hm=n。ただしi≠jについてλi≠λj。
[証明]
こいつは密輸入品だから、天下りに認める(^^;)。
[証明終]
そして次が、根空間への直和分解定理です。
[定理-14]
n次元ベクトル空間V上の線形変換Aの特性多項式φA(λ)のλを形式的にAで置き換えた線形変換の多項式が、
で、各因数から定義される根空間を、
とすれば(i≠jについてλi≠λj)、全空間Vは、
と直和分解される。
[証明]
[定理-13]からφA(A)=0である。よってker(φA(A))=V。
(7)の各因数を
とし、
と2つに分けて考えてみれば、p1p2・・・pm-1と(A-λmE)hmは、同じ線形変換Aの多項式なので明らかに可換。またp1p2・・・pm-1と(A-λmE)hmは、多項式として互いに素なので(i≠jについてλi≠λjだから)、前回の[定理-9]より、その核は独立。よってp1p2・・・pm-1と(A-λmE)hmは、[補題-1]のA,Bの条件を満たすので、
ここに、
Wm-1に対して同様に、p1p2・・・pm-1=(p1p2・・・pm-2)pm-1=(p1p2・・・pm-2)(A-λm-1E)h(m-1)と分けて考えれば、
ここに、
以上の操作を帰納的に繰り返せば、
になる事がわかる。ベクトルの和は可換なので、
で良い。
[証明終]
次の系は、h1+h2+・・・+hm=n=[Vの次元]なので、各根空間の次元はその次数目一杯でなけりゃh1+h2+・・・+hm=nにはならないよ、という事からほぼ明らかなのですが、まぁ~数学ですからね(^^;)。
[系-5]
根空間の次元は、その高さに等しい。
[証明]
各根空間の高さ(多項式としての次数)をhjとすれば、
である。nは全空間の次元。
異なる固有値に属する根空間は独立で、根空間で全空間は直和分解されるから、各根空間の次元の和は全空間Vの次元nに等しい。sを1以上の整数として、もし根空間Vjの次元がその高さhjよりs低ければ少なくとも、
になる。よってk≠jのどれかについてVkの次元は、その高さhkを越える必要がある。しかし前回の[定理-12]から、根空間の次元はその高さ以下なので、これは不可。よって根空間の次元はその高さに等しい必要がある。
[証明終]
こうして根空間の次数としての高さは、根空間の次元としての高さになります。
で、次の定理を対角化可能定理と言うのですが、まぁ~「言ってみただけ」の定理ではあります。具体的な計算方法を示さないからです。この定理の価値は、そういうものが存在し得るという、存在定理としての価値です(^^;)。
[定理-15]
線形変換Aが対角化可能な条件は、Aの全ての根空間で、それに含まれる固有空間の高さが、その固有空間を含む根空間の高さに一致する事。
[証明]
[線形代数ってなにさ?_7]と[線形代数ってなにさ?_8]の状況説明(^^;)。
[証明終]
でもって、また状況説明です
[定理-14]によって根ベクトル基底の存在がわかりました。根ベクトル基底に移ります。変換行列は固有ベクトル基底の時と同じく、線形変換の表現行列Aの根ベクトル(数ベクトル)を縦ベクトルとして並べてやった行列Sです。ただし同じ固有値に属する根ベクトル基底は連続して並べるとします。まぁ~、普通の人はそうしますけどね(^^)。
xを根空間Vjに属する根ベクトルとすると、定義から(A-λjE)hjx=0です。xのAによる変換結果Axはどうなるか?というと、
なので、Ax∈ker((A-λjE)hj)=Vjとなり、任意の根ベクトルはそれが属する根空間から出て来れません。この事は根ベクトル基底の変換結果は、同じ固有値に属する根ベクトル基底だけで表される事を意味します。
以上を念頭に、根ベクトル基底に移った時の表現行列の姿を想像すると、
根ベクトル基底で線形変換Aを表すと、Aの作用を調べるには各根空間ごとに、より小型の表現行列をローカルに順番に調べて行けば良い事になります。いわば変数分離された状態です。馬鹿で不器用な人間に、これほどあり難い事はありません(^^;)。
この姿を、さらに対角形に近づけられないか?と考えられたのが、ジョルダンの標準形です。ジョルダンの標準形を使えば、
最後に。もしここまでついてこれたなら、「あなたは、線形代数を半分制覇したも同じです!」(自分の意見では(^^;))。