もう一度(これでだめな時は更新してください。) : 新しいNと場所で描き直します。
非線形系の反復法たちいろいろな関数ニュートン法の図弓弦法の図正割法の図はさみうち法の図
極値を求める
ニュートン法の図
極値を求める
弓弦法の図
極値を求める
正割法の図
極値を求める
はさみうち法の図
連立方程式関係ガウスの消去法ガウス・ジョルダンの掃き出し法ヤコビ法ガウス・ザイデル法連立方程式の解法まとめて元気よく
LU分解コレスキー法---
フーリエ解析関係周期関数たち周期関数に対する
フーリエ級数展開
非周期関数に対する
フーリエ級数展開
ストークスの波動公式-
コレスキー法(2011年6月12日公開、2011年06月12日22:40:55第0回の改訂)
●注意

上はJAVAで作られています。メモリを大量に使ったり、重くなるかもしれません。その時は、ごめんなさい。
実行後に画面をスクロールしたり、アプレット全体が画面に入ってないと、間違った画面になるかもしれないので、気をつけてください。画面の大きさを決めてから”もう一度”をクリックするか、更新(reload)してください。


ここでは、連立方程式を解く方法を学ぶときに、たいていの教科書で紹介されているLU分解をやっています。LU分解自体は連立方程式を解かなくてもやってみることができるので、ここでは分解だけしています。
行列Aを括弧()はかっこ悪いけど使っていませんが・・・次のようにあらわします。
A =
a11a12・・・a1j・・・ a1n
a21a22・・・a2j・・・a2n
・・・
ai1ai2・・・aij・・・ain
・・・
an1an2・・・anj・・・ann
この行列Aを以下のような下三角行列Lと上三角行列Uを使って、LU=Aとなるように分解するのがLU分解です。
L =
l110・・・0・・・ 0
l21l220・・・0・・・0
・・・
ai1ai2・・・lii0・・・0
・・・
ln1ln2・・・lnj・・・lnn
U =
u11u12・・・u1j・・・ u1n
0u22・・・u2j・・・u2n
・・・
00・・・0ujj・・・uin
・・・
00・・・0・・・0unn
ここで行っている分解の方法はコレスキー法と呼ばれるもので、以下のような感じです。
ただし、Aが対称正定値のときに有効という条件つきで、じゃぁ、対称正定値とはなんぞやという説明は参考文献をご覧になってほしいという究極の逃避行なのです。。。
---------------
STEP 1
l11 = √a11
u11 = l11 = √a11
をセットする。
STEP 2
i =2,3,...,n の順に、
li1 = a1i / l11
j =2,3,...,n の順に、
u1j = lj1 = a1i / l11
を計算する。
STEP 3
k =2,3,...,n の順に、
lkk = √(akk - Σ(m=1)(m=k-1)lkm2 )
ukk = lkk = √(akk - Σ(m=1)(m=k-1)lkm2 )
i = k + 1,...,n の順に、
lik = (aik - Σ(m=1)(m=k-1)limlkm ) / limlkk
uki = lik = (aik - Σ(m=1)(m=k-1)limlkm ) / limlkk
を計算する。
---------------

●参考文献
有本卓著、コロナ社、数値解析(1)
川上一郎著、岩波書店、数値計算
●プログラムのダウンロード
○Java(cholesky.java)


ご意見、ご感想、お問い合わせ、お願い等がございましたら、お気軽に、
メール送信フォームからメールを送るか、
●掲示板に書き込むか、
どちらかお好きな方法で、ご連絡お願いいたします。


●大山崇のホームページの利用について
●大山崇のホームページ