2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
全30件 (30件中 1-30件目)
1
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4.3 Householder 法■4 x 4 行列の場合で考える4 x 4 行列を相似変換で Hessenberg 行列に変換する方法を考えます。まず2本のベクトル x, y があって、これらの長さが同じとき(つまり ||x|| = ||y||)これらを互いに移し合うような鏡映像変換が存在します。具体的には x - y を法線ベクトルとする超平面に関する鏡映変換でH = I - 2uu^(T), u = ( x - y ) / ( || x - y || )とすると Hx = y, Hy = x になります。このような鏡映変換のうち、移った先のベクトルの第1成分以外がすべて 0 であるようなものが Hessenberg 化するときに利用できます。|| x || = || y || という条件がついているのでy = (±||x||,0,...,0)^(T)となるような2通りの鏡映変換です。第1ステップHessenberg 化する 4 x 4 行列の第1列の下側3つの成分を x, y, z とし、これから上の式を使って作った鏡映変換の行列 H を右下のブロックに左から掛けます。これで第1列だけは Hessenberg 行列の条件を満たしている状態になります。左から行列を掛けただけだと相似変換にならなくなるので右から同じ行列の逆行列を掛けます。第2ステップ第2列の下側の2つの成分を、あらためて x, y とおきます。そして2次元の鏡映変換を表す行列を求めます。両側から diag(I2,H)を掛けると第2列も Hessenberg 状態になります。 4 x 4 行列の場合は第2列まで Hessenberg 状態になれば Hessenberg 行列なので、この2ステップで Hessenberg 化が終了します。
2007年04月30日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4.3 Householder 法Householder 法は、鏡映変換を使い一般の非対称行列を Hessenberg 行列に相似変換する方法です。■鏡映変換空間の任意の点 x を、原点を通る超平面に関して対称な点 x' に移す変換を、鏡映変換といいます。任意の点 x を「u を法線ベクトルとする超平面」に関して対称な点 x' に移す変換はx' = x - uu^(T)x - uu^(T)x = (I - 2uu^(T))xとなり、この線形変換を表す行列がH = I - 2uu^(T)となります。おもしろい特徴がいくつかあります。・I と uu^(T) が対称行列なので H も対称行列。・変換を2回続けて行うと元にもどるので H^(2) = I・同様に H^(-1) = H・H は対称行列なので H^(T) = H^(-2)
2007年04月29日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4.2 Hessenberg 行列実際の QR 法では、与えられた行列に対して直接 QR 反復を行うのではなく、まず相似変換で Hessenberg 行列と呼ばれる形に変換してから QR 反復を行います。こうすることで計算量を減らすことができます。右上三角行列の対角成分より1つ下の位置まで 0 でない成分がある正方行列を Hessenberg 行列(ヘッセンベルグ行列)と呼びます。対角成分より1つ下の位置の成分を副対角成分と呼びます。一般の n x n 行列の場合について書くと、その成分がi ≧ j + 2 → aij = 0を満たす正方行列が Hessenberg 行列となります。 Hessenberg 行列に対して QR 法の反復を続けると、 Hessenberg 行列のまま下側の福対角成分が 0 に近づいていき、右上三角行列に近づくことになります。またほぼ半分の成分が 0 なので計算量が少なくなります。
2007年04月28日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4.1 QR 法の原理■なぜ右上三角行列に向かうのかこのような相似変換を、 A0 からはじめて k 回繰り返すとAk = Qk-1^(-1)...Q1^(-1)Q0^(-1)A0Q0Q1...Qk-1 (Qi:各ステップの Ai を QR 分解して得られる直行行列)となります。書き直すとAk = (Q0Q1...Qk-1)^(-1)A0(Q0Q1...Qk-1)となりますので各ステップでの Ak は A0 を Q0Q1...Qk-1 という変換行列で相似変換したものであることが分かります。こちらを変形させると A0^(k) = (Q0Q1...Qk-1)(Rk-1...R1R0) となりますので A0 を Ak に変換させる変換行列 Q0Q1...Qk-1 は A0^(k) を QR 分解して得られる直行行列であることがわかります。べき乗法のすべての固有値を求める方法と各ステップは似ています。
2007年04月27日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4.1 QR 法の原理■QR 法の反復は相似変換Ak = QkRk と QR 分解されると、第 k+1 ステップはAk+1 = RkQk = Qk^(-1)(QkRk)Qk = Qk^(-1)AkQkとなるので Ak+1 は Ak を直交行列 Qk で相似変換したものです。つまり、行列を QR 分解して逆順に掛けるという操作は、行列を QR 分解して得られた直交行列で相似変換していることになります。QR 法の各ステップの変換で固有値は変化しません。こうして右上三角行列に十分近い行列になれば、その対角成分は A0 の固有値に近くなってくるというわけです。
2007年04月26日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4.1 QR 法の原理■QR 法の反復QR 法で行列の固有値を求める手順は・固有値を求めたい行列を QR 分解する・分解した結果を逆順に掛け合わせる。・掛け合わせた結果をまた QR 分解する・分解した結果を逆順に掛け合わせる式だとA0 = Q0R0 → A1 = R0Q0A1 = Q1E1 → A2 = R1Q1・・・Ak = QkRk → Ak+1 = RkQk・・・この繰り返しで Ak は A0 の固有値を対角成分に持つ右上三角行列に近づいていきます。注意点としては絶対値の等しい固有値があるとべき乗法の前提を満たさず、そのままでは使えません。
2007年04月25日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.4 QR 法QR 法は対称行列にも非対称行列にも使える「すべての固有値を求める」アルゴリズムで Jacobi 法より新しい方法となります。原理的には対称行列でも非対称行列でもそのまま適用すれば固有値を求めることができますが非対称行列の場合は Hessenberg 行列に、対称行列の場合は3重対角行列にまず相似変換してから QR 法を適用します。原点移動や減次といった処理も併用するので、全体としてはかなり複雑なアルゴリズムになりますが Jacobi 法では現実的に対応できないような大きな行列の固有値を求めることができます。
2007年04月24日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.3.4 すべての固有値を求める場合べき乗法ですべての固有値を求める場合は、適当に選んだ n 本の線形独立な初期値ベクトル v1, v2, ..., vn に対して A を繰り返し掛けていくと、これらを Gram-Schmidt の方法で正規直行化したものが、A の固有ベクトルの張る階層的な部分空間の正規直行基底に近づいていくことを利用します。具体的には A の固有値を絶対値の大きい順に λ1, λ2, ..., λn とし、対応する固有ベクトルを x1, x2, ..., xn とし、A^(k)v1, A^(k)v2, ..., A^(k)vn を正規直行化したものを q1(k), q2(k), ..., qn(k) とします。k の増加につれてspan{q1(k)} → span{x1}span{q1(k),q2(k)} → span{x1,x2}span{q1(k),q2(k),q3(k)} → span{x1,x2,x3}・・・span{q1(k),q2(k),...,qn(k)} → span{x1,x2,...,xn}となります。A^(k)V = Q(k)R(k) → Ak = Q(k)^(T)AQ(k) → (右上三角行列)となり、右上三角行列はその対角成分が固有値なのですべての固有値が求まることになります。
2007年04月23日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.3.3 QR 分解すべての固有値を求めるのに必要になるため QR 分解について学びます。この先で出てくる QR 法は、 QR 分解を元にしたアルゴリズムです。 QR 分解 A = QR を説明すると、Q は A の列ベクトルの Gram-Schmidt の正規直行化、 R は A の列ベクトルの正規直行基底に関する成分表示となります。n 本の線形独立な n 次元縦ベクトル a1, a2, ..., an を Gram-Schmidt の方法で正規直行化し、正規直行基底 q1, q2, ..., qn を得ます。また縦ベクトル a1, a2, ..., an を並べてできる行列を A、 q1, q2, ..., qn を並べてできる行列を Q と書くことにします。このとき A と Q の関係を見ると a1 は q1 の定数倍になっていて a2 は q1 と q2 の線形結合 a3 は q1 と q2 と q3 の線形結合、 a4 は q1 と q2 と q3 と q4 の線形結合・・・という関係があることが分かります。an = r1nq1 + r2nq2 + ... + rnnqnとなりますので、行列 A と Q の関係として表すと行列 A の QR 分解ということになります。実際に数値的に QR 分解を計算するときは、Gram-Schmidt の正規直交かに基づく方法では誤差が蓄積するため、平面回転や鏡映変換を応用したアルゴリズムを使います。
2007年04月22日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.3.2 絶対値最小の固有値を求める場合べき乗法を応用して、行列の絶対値最小の固有値を求めることができます。最小の値を求める場合は、適当に選んだ初期値ベクトル v に対して行列 A の逆行列 A^(-1) を繰り返し掛けていくと、 A の絶対値最小の固有値に対応する固有ベクトル xn の方向に近づいていく性質を利用します。実際に計算する場合は逆行列を求めるのに大きな計算量が必要になるので逆行列の代わりに LU 分解 A = LU を求めます。そして x = A^(-1)y は Lz = y を解く → Ux = z を解くという2段階で計算します。絶対値最大の固有値を求める場合と同様に各ステップでベクトルの長さが 1 になるように調整しながら計算を進めます。
2007年04月21日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.3.1 絶対値最大の固有値を求める場合「絶対値最大の固有値を求める」ために適当に選んだ初期値ベクトル v に対して A を繰り返し掛けていくと、A の絶対値最大の固有値に対応する固有ベクトル x1 の方向に近づいていくことを利用します。v,Av,A^(2)v,A^(3)v,...各項が急速に 0 に近づいていくので初期値が悪くなければ x1 の方向に近づくことになります。実際には λ の値が大きくも小さくもならないように長さを 1 に調整しながら計算を進めていきます。
2007年04月20日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.2.3 計算の工夫実際に井桁状の部分の更新(平面回転による相似変換)の計算に必要なのは sinθ と cosθ の値だけで θ の値は必要ありません。2倍角の公式などで簡単に変形し最終的に加減乗除2回の平方根だけで cosθ が求まります。p, q の選択もいちいち最大を探すより方端から順にやっていく方が計算量を節約できるようです。5.3 べき乗法の原理べき乗法は「絶対値最大の固有値を求める」ものですが応用して「絶対値最小の固有値を求める」ことや「すべての固有値を求める」こともできます。また、原理を理解することで QR 法と逆反復法の原理もスムーズに理解できます。
2007年04月19日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.2.2 平面回転による相似変換Jacobi 法は、与えられた実対称行列 A に対して、平面回転による相似変換A' = R(θ,p,q)^(T) A R(θ,p,q)を p, q, θ を選びながら繰り返し行い、対角行列に近づけていくアルゴリズムです。平面回転による相似変換で A がどのように変換するか考えます。R(θ,p,q) を A に左から掛けると A の第 p, q 行だけが変化します。R(θ,p,q)^(T) は R(θ,p,q) の sinθ の符号を逆にしたものなので R(θ,p,q)^(T) を A に左から掛けた場合も第 p, q 列だけが変化します。したがって左右から掛けると第 p, q 行と第 p, q 列からなる井桁状の部分だけが変化することになります。Jacobi 法では相似変換した結果 = 0 となるような回転角 θ を選んで相似変換を行うのでそのような回転角 θ を変換後の式を整理して = 0 と置くことで求めます。ここで平面回転における相似変換一回でどのくらい A が対角行列に近づいたか調べるために、行列 A の非対角成分の自乗和および対角成分の自乗和を計算してこれが 0 になれば対角化が終了したことになるわけです。
2007年04月18日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.2.1 平面回転ほとんど n x n 単位行列ですが (p,p), (p,q), (q,p), (q,q) 成分だけが 2 x 2 回転行列になるような R(θ,p,q) を考えます。この行列は n 次元空間の中の第 p 軸と第 q 軸が張る平面内の回転(pq 平面回転)を表しています。3次元の場合3通りの平面回転があります。2x2回転行列とその転置を掛けると単位行列になりこれは n 次元の平面回転でも同様に転置を掛けると単位行列になります。つまり n 次元の平面回転も直交行列で転置が逆行列になります。
2007年04月17日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.2 Jacobi 法Jacobi 法は1846年に Jacobi が発表した「実対称行列」の「すべての固有値を求める」アルゴリズムです。10 x 10 程度までの大きさの行列ならほかの方法に比べて高速に計算でき、また計算精度は QR 法よりも優れています。アルゴリズムも目的に応じて修正しやすく、同時対角化の問題など固有値計算以外の問題にも応用されています。
2007年04月16日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.1.4 代表的な固有値計算アルゴリズム有限回の計算で固有値をぴったり求める方法は無いことが分かったので近似値を求めるために相似変換を繰り返して行列を徐々に対角行列へ近づける方法として・Jacobi 法・QR 法について学ぶことにします。
2007年04月15日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.1.3 5 x 5 以上の行列の固有値を求める手段は存在しない!ガロア理論の結論は行列の固有値計算にも関連してきます。5次以上の代数方程式を解く手段が存在しないことから「5 x 5 以上の固有値を求める手段は存在しない」ということも証明できます。行列の特性方程式から代数方程式を求めることができ、元の行列はこの代数方程式のコンパニオン行列と呼ばれます。もし「5 x 5 以上の固有値を求める手段」が存在するとするとこの代数方程式を解く手段が存在することになってしまうのでガロア理論に矛盾してしまうというわけです。
2007年04月14日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/5.1.2 ガロア理論ガロア理論は代数方程式の可解性に関する理論で、重要な結論として「5次以上の代数方程式には解の公式が存在しない」ということが証明されています。解の公式とは係数の値からこれらの方程式を満たす x を加減乗除とべき根(平方根、立方根など)で求める公式のことです。3次方程式の解は Cardano の方法(Tartaglia の方法)と呼ばれる手順で、4次の方程式の解は Ferrari の方法と呼ばれる手順で求めることができるようです。また5次以上の代数方程式は対偶を考えると5次以上の代数方程式を解く手順は存在しないということになります。
2007年04月13日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/第5章 コンピュータでの計算(2) - 固有値算法5.1 概観5.1.1 手計算との違いここからは 100 x 100 などのように大きいサイズの行列の固有値を、コンピュータで数値的に計算する方法を考えていきます。4 x 4 ぐらいまでなら特性方程式を解いて求めるのもありなのですがサイズが大きくなると求まる解の制度が非常に悪くなってしまうので困ります。固有値と固有ベクトルの定義に戻って考えると行列 A が適当な正則行列 P を使ってP^(-1)AP = (対角行列または上三角行列)のように変形できたら右辺の行列の対角成分が固有値になります。コンピュータの場合は与えられた行列 A を対角化または上三角化する方法を使います。
2007年04月12日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.6 Jordan 標準形に変換できることの証明■流派内の構造についてここまでで、 A に対して上手い正則行列 Q を作って、ブロック対角行列 Q^(-1)AQ = D = diag(D1,...,Dr) にまで変換できました。ここから Jordan 標準形までさらに変換することを考えます。そのためにブロック Di ごとに Ri^(-1)DiRi ≡ Ji が Jordan 標準形になるような上手い正則行列 Ri を以下で見つけます。そうすれば R = diag(R1,...,Rr) と置くことで Jordan 標準形にたどり着けます。Ri を見つけるために Di が持っていた特徴を利用します。( Di - λiI)^h は h を十分に大きくすることで o になるのでした。このように何乗かすると o になる行列をべき零行列と呼びます。正方行列 Z を何乗かすると o になったとして ( h - 1 ) 乗までは o にならなくて、h 乗で初めて Z^h = o だったとします。m 次元ベクトル x に対して Zx を 「x の師匠」とよび師匠の師匠は Z(Zx) なので Z^2x となります。ゼロベクトル o は別格なので大師匠と呼びます。そして大師匠の弟子を一代目、二代目、と呼んでいくことにします。つまり師匠の師匠と何代たどれば大師匠に行き着くかを考えます。各会 V1, V2 から代表を複数選びます。これは代表がその会の基底になるように選びます。さらに代表をうまく選び直し行列の世界で解釈すると Jordan 細胞の形が出てくるというわけです。■証明のまとめ一般化固有ベクトルだの流派だのと考えて何とかブロック対角行列に変換できることを示し、流派に関してはべき零行列だの師匠だのとたとえて Jordan 標準形に変換できることを示しました。
2007年04月11日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.6 Jordan 標準形に変換できることの証明■流派間の関係についてゼロベクトル o はすべての流派に所属していますが、これは例外でほかのベクトルには決して流派の掛け持ちは許されません。証明は背理法を使って異なる固有値の固有ベクトルは方向が異なるという性質を利用して行います。また、異なる流派の場合は o 以外のベクトルは必ず線形独立にもなっています。さらなる特徴として以下の特徴もあります。・ベクトル p, p' が流派 W(λ) に属するなら、 p + p' も W(λ) に属する。また任意の数 c に対して cp も W(λ) に属する。(つまり W(λ) は線形部分空間となっている)・ベクトル p が流派 W(λ) に属するなら、 Ap も W(λ) に属する
2007年04月10日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.6 Jordan 標準形に変換できることの証明■流派の大きさについてどの流派 W(λ) にも o は入っています。でも基底を作るためには o では困るので他のメンバーが必要です。 o 以外のメンバーがいる流派は特別な λ だけです。 o 以外の p に (A-λI) を繰り返し掛けていって、 o になる直前のベクトル p' はまだゼロベクトルではないけれどあと1回 (A-λI) を掛けると o になってしまうわけです。これは p' が固有値λの固有ベクトルということなのですから、 o 以外のメンバーがいる流派 W(λ) は、λが A の固有値なものだけだということです。次に考えるのは各流派から何人選ぶかということです。具体的には W(λ) の中で線形独立なベクトルが何本取れるかの調査が必要です。この際に固有値 λ が特性方程式 φa(λ) = 0 の k 重解だったら W(λ) の中から k 本の線形独立なベクトルが取れることが保証されます。
2007年04月09日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.6 Jordan 標準形に変換できることの証明n 次正方行列 A に対して「P^(-1)APが Jordan 標準形になるような上手い正則行列 P が必ずある」ということを示します。n 本の n 次元ベクトル p1,...,pn を上手く作り・p1,...,pn は (A-λI) を繰り返し掛けるとゼロベクトルになるという系列を並べたものとする・p1,...,pn は線形独立。つまり p1,...,pn は基底をなす。という条件を満たすようにすればよいのでした。そこで p1,...,pn の候補を絞りましょう。(A-λI)を何度か掛けると o になるという特別な性質を持ったベクトルを集めて流派 W(λ) を作ることにします。この W(3) = (A-3I) を何度か掛けると o になるような n 次元ベクトルの集合です。
2007年04月08日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.5 Jordan 標準形の求め方■求め方引き続き正方行列 A が与えられたときを例として、モデルケースを見ていきます。まず A の固有値を求めますが、そのために特性方程式 φa(λ) ≡ det(λI - A) = 0 の解 λ を求めればよいわけです。固有値を因数分解して値を求め、重回の場合は一般化固有ベクトルを必要な本数だけもつ系列を見つけることが目標となります。重回の場合で固有ベクトルが1本しか取れない場合は Jordan 細胞が1個しかないということです。一方固有値は重回なので式を複数個立てて求めることになります。またコンピュータで計算する場合は浮動層数点の誤差を考慮して厳密に求める必要があります。
2007年04月07日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.5 Jordan 標準形の求め方ここまででどんな正方行列も Jordan 標準形に変換できるということが分かりましたので暴走判定は解決です。ここからは「求め方」「変換できることの証明」へと話を進めます。■仮に求まったとしたらまずは求まったとしてどのような性質を持つはずなのかについて見ていきます。正方行列 A に対して同じサイズの上手い正則行列 P を選んで、P^(-1)AP = Jとなったとします。これは左から P をかけると AP = PJ ということです。P = (p1,...,p11) のように列ベクトルに区切って A(p1,...,p11) = (p1,...,p11)Jをばらして書きぐっと睨むと・(A - λI)を繰り返し掛けていくと o になるというベクトルの系列・λ は Jordan 細胞の対角成分に対応・系列1本が Jordan 細胞1個と対応。だから、系列の本数が Jordan 細胞の個数と一致。・系列の長さ(oは数えずに)が Jordan 細胞のサイズに対応。だから、系列の長さの合計が A のサイズに一致。ということになります。A に対して p1,...,p11 を見つければ AP = PJ なのですから P^(-1)AP = J が Jordan 標準形になるような上手い P が求まることになります。ですから1.A の固有値λ2.(A-λI)を繰り返し掛けると o になってしまうようなベクトル p を求める。という手順で Jordan 標準形が求められるということになります。
2007年04月06日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.4 Jordan 標準形で初期値問題を解く(暴走判定の最終結論)■連続時間システム同様に Jordan 細胞 B に対するd/dt Y(t) = B Y(t)から始めます。ばらして変形すればd/dt Ym(t) = λYm(t)でこれはYm(t) = Ym(0)e^(λt)と解けますので1つ前の式に代入してd/dt Ym-1(t) = λYm-1(t) + Ym(0)e^(λt)この解はYm-1(t) = (Ym(0)t + Ym-1(0))e^(λt)となります。これも前の式に代入して順に解いていけばすべて求まります。でこれが t→∞ の極限で発散するか収束するかはλ次第ということになります。まとめるとこのようになります。・Reλ > 0 なら暴走・Reλ = 0 のときは B のサイズ m 次第→m ≧ 2 なら暴走→m = 1 なら暴走しない・Reλ < 0 なら暴走しない
2007年04月05日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.4 Jordan 標準形で初期値問題を解く(暴走判定の最終結論)■離散時間システム離散時間システム y(t) = By(t-1) ではy(t) = B^(t)y(0) (t≧1)ですから Jordan 細胞のべき乗を求めた時点でほとんど解決です。・|λ|>1なら暴走・|λ| = 1 のときは、B のサイズ m しだい→ m ≧ 2 なら暴走→ m = 1 なら暴走しないまた Jordan 標準形ではない一般の正方行列 A について x(t) = Ax(t-1) の暴走判定はこうなります。・|λ| > 1 な固有値λを1つでも持てば「暴走」・すべての固有値λが|λ| < 1 なら「暴走しない」・すべての固有値λが|λ| ≦ 1 だが |λ| = 1 という場合があるときは固有値だけでは判定できない→次の条件をすべて満たす固有値λが1つでもあれば「暴走」1.|λ| = 12.固有値λは k 重解(k≧2)3.固有値λに対応する固有ベクトルたちで線形独立なものが k 本取れない・さもなくば「暴走しない」。
2007年04月04日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.4 Jordan 標準形で初期値問題を解く(暴走判定の最終結論)どんな正方行列 A でも Jordan 標準形に変換できます。つまりどんな x(t) = Ax(t-1) や d/dt x(t) = Ax(t) でも、上手い変数変換(座標変換)を行うことで A を Jordan 標準形の場合に帰着できるわけです。したがって Jordan 細胞ごとのサブシステムに分解されれば、その・サブシステムのうちの1つでも「暴走の危険がある」なら全体としても「暴走の危険がある」・サブシステムすべてが「暴走しない」なら全体としても「暴走しない」と判断できるわけです。そういうわけで、ここから先では Jordan 細胞 B:(サイズは m x m で y(t) = ( y1(t),...,ym(t))^T とする)とします。そして・離散時間:y(t) = By(t-1)・連続時間:d/dt y(t) = By(y)を満たす y(t) を求めることを目指します。
2007年04月03日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.3 Jordan 標準形の性質Jordan 標準形のメリットは以下2つ。・固有値・固有ベクトルの様子が見える・べき乗が具体的に計算できるJordan 標準形はブロック対角ですから、その固有値やべき乗計算は、ブロックごとに見れば分かります。従って個々の対角ブロック(Jordan細胞)について調べれば十分です。■Jordan 標準形の固有値Jordan 細胞の固有値・固有ベクトルはブロックを見ればすぐ分かります。固有値の解の数と線形独立な固有ベクトルの数があわなければ対角化不可能だと言うこともわかります。まとめると・対角成分が固有値λ・対角成分のλの個数が、固有値λが何重解か(代数的重複度)に対応・対角成分がλな Jordan 細胞の数が、固有値λに対する線形独立な固有ベクトルの本数(幾何学的重複度)に対応ということになります。 Jordan 標準形に変換されれば固有値・固有ベクトルがどうなっているかもわかります。固有値に重解がないときには、 Jordan 標準形は対角行列になるしかありません。・固有値に重解が無ければ対角化可能ということになります。■Jordan 標準形のべき乗Jordan 標準形のべき乗はB = n x I + ZZ:左からかけると1行ずらして右からかけると1列ずらす行列のようにとらえると扱いやすいです。
2007年04月02日
コメント(0)
プログラミングのための線形代数という本を読んでいます。http://wiki.fdiary.net/lacs/4.7.2 対角まではできなくても - Jordan 標準形対角化できない正方行列Aでも、対角に近い Jordan 標準形 になら必ず変換できます。正確には「正方行列 A に対して、同じサイズの上手い正則行列 P を選んで、P^(-1)AP = J が Jordan 標準形になるようにできる」ということです。Jordan 標準系とは以下のような J です。・ブロック対角(ブロック正方行列で、対角ブロック以外はすべてゼロ)・対角ブロックは次のような性質を持つ→対角成分に同じ数が並ぶ→その1つ右上は1が斜めに並ぶこういうブロックを Jordan 細胞と呼びます。対角行列も Jordan 標準形の一種となります。A を変換してできる Jordan 標準形は本質的には1通りになります。
2007年04月01日
コメント(0)
全30件 (30件中 1-30件目)
1
![]()

