主なレッスンは、2つの線形方程式の反復アルゴリズム、それはヤコビ反復(同期更新)であり、高サイパンデル反復(非同期更新)を導入します。特殊な三重対角システムでは、よりシンプルかつ効率的なアルゴリズムもトーマスを解決するために使用することができます。行列のベクトルノルムノルムの概念を導入した後、線形システムの数値解の相対誤差は、条件の数によって決定することができます。このクラスは、特徴マトリクスを導入し、固有ベクトル、前記いくつかの数値アルゴリズムが関与します。
1.固有値と固有ベクトル
所与\(N \ n倍\)次元マトリクス\(A \)は、次式の番号満足\(\ラムダ\)と呼ばれる行列\(A \) :特性値[金=ラムダU \ \ \を]及び対応するベクトル\(U \)は、対応する固有値と呼ばれる\(\ラムダ\)特徴ベクトルの。計算は、より一般的な形式に一般化、及びだけでなく、マトリクス演算のためにすることができます。仮定\(UはF(X)を= \) 程度である\(X \)は連続関数であり、\(A = \ FRAC {D} {DX} \)微分演算子を表し、その後\ [\ FRAC {D ^ 2U } {DX ^ 2} = K ^ 2U \] のように表すことができる:\ [^ A ^ K = 2U 2Uが\]この固有値問題広い表現です。
固有値と固有ベクトルは、工学と科学の非常に重要な役割を担っています。例えば、振動特性値における研究は、システムまたはコンポーネント、特徴ベクトル概略これらの振動の固有振動数を表します。
行列の固有値と固有ベクトルを解決するために、定義することによって、得ることができる:[(A-Iラムダ\)= U 0 \] \仮定\(A- \ラムダI \)正則であり、その後にのみゼロ式ソリューションは、要件を満たしていない解決は、したがって、特性値、ニーズを解決したいです\(DET(A-I、λ)= 0 \ \) 、式の特性方程式として知られている、マトリックスの特性方程式の根である\(\)固有値。
例:\ [A = \ {\\開始bmatrix} 1&2&3の終了{} \ bmatrix 2 \]
前記式\ [DET(A- \ラムダI )= DET \開始{bmatrix} 1- \ ラムダ&2 \\ 3&2- \ラムダ\端{bmatrix} =(1- \ラムダ)(2- \ラムダ)-6 = 0 \] 使用可能な特性値解く\を(\ lambda_1 = 4、\ lambda_2 = -1 \)しかし、より高次の行列に対して、固有値は、それほど単純ではない数値解法を使用する必要があります。
2.電源方式と逆べき乗則
2.1べき乗法
このセクションでは、電力および逆電力法則を解決する方法を使用する方法について説明し、それぞれ、成形の最大値と最小値は、固有値行列の全てのために死にます。与えられた行列A \(\)があると仮定すると(\ N-)\実固有値番目の\ [| \ lambda_1 |> | \ lambda_2 |> \ cdots> | \ lambda_n | \] 固有ベクトルに対応する(\ U_1、U_2、...、U_n \) 。電力は、方法反復法により最大固有値算出される(\ \ lambda_1の\)、最初のランダムに選択された初期ベクトル\(X_1 \)、\ [X_1 = c_1u_1 c_2u_2 + + ... + c_nu_n \]反復計算\(X_2を\)、\ [Ax_1 = c_1Au_1 + + ... + c_nAu_n c_2Au_2 = \ lambda_1c_1x_2 \] \ [U_1 + X_2 = \ {FRACのC_1とC_2} {} \ {FRACの\のlambda_2} {\ U_2のlambda_1} + ... + \ {FRAC C_N } {C_1} \ FRAC {\ lambda_n} {\ \] u_n lambda_1} さらなる計算\(X_3 \)、\ [Ax_2 = \ lambda_1u_1 + \ FRAC {C_2} {C_1及び} \ FRAC {\ラムダ^ 2_2} {\ lambda_1 } U_2 + ... + \ FRAC { C_N} {C_1} \ FRAC {\ラムダ^ 2_n} {\ lambda_1} u_n = \ lambda_1x_3 \] \ [X_3 = U_1 + FRAC \ {C_2} {C_1} \ FRAC {\ラムダ^ 2_2} {\ラムダ^ 2_1} U_2 + ... + \ FRAC {C_N} {C_1} \ FRAC {\ラムダ^ 2_n} {\ \] u_nラムダ^ 2_1}は反復式であることがわかる:\ [X_ {K + 1} = U_1 + \ FRAC {C_2} {C_1及び} \ FRAC {\ラムダ^ K_2} {\ラムダ^ K_1} U_2 +。 .. + \ FRAC {C_N} { C_1} \ FRAC {\ラムダ^ k_n} {\ラムダ^ K_1} u_n \] ノート\(\ lambda_1の\)最大固有値であるので、\(\ FRAC {\ lambda_i {} \} lambda_i <1 \) 、場合\(K \)場合に十分に大きく、\(K + Ax_ 1} = {\ lambda_1 U_1、X_ {} = K + 1 U_1 \) 。特定の実装、およびなしで\(\ lambda_1の\)と\(U_1 \)の値、したがって、反復計算\({K + 1} Ax_k X_ = \) 、正規化された\(X_ {K + 1} \) (さらに、ベクトルノルムと無理を使用して検証すること)です。注意:最大値は、特徴的な指紋最大固有値である
MATLABの実装:
A=[4 2 -2; -2 8 1 ; 2 4 -4]
x=[1 1 1]'
for i=1:16
x=A*x; x=x/norm(x,Inf);
end
A*x./x
%%%%%%%%%%%%%%%%
A =
4 2 -2
-2 8 1
2 4 -4
ans =
7.7502
7.7503
7.7502
>> eig(A)
ans =
-3.6102
3.8599
7.7504
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function e = MaxEig(A)
x = ones(size(A));
for i=1:40
x=A*x;
[mx,id] = max(abs(x));
x=x/x(id);
end
e = A*x./x;
[mx,id] = max(abs(e));
e = e(id);
end
2.2逆法則
与えられた行列A \(\)があると仮定すると(\ N-)\実固有値番目の\ [| \ lambda_1 |> | \ lambda_2 |> \ cdots> | \ lambda_n | \] 固有ベクトルに対応する(\ U_1、U_2、...、U_n \) 。\(\ lambda_n \)であり、最小の固有値、もし最初の音符(ラムダU \ \のAu =)\、次に\(A ^ { - }。1 AのAu = ^ { - }。1 \ Uラムダ\) 、すなわち\ (U = A ^ { - }。1 \ Uラムダ\) 、したがって\(A ^ { - }。1 U = \ FRAC 1 {{} \}ラムダU \) 。見ることができる、その場合、\(\ lambda_nの\)行列\(A \)の最小固有値に、\(\ FRAC 1 {{} \} lambda_nの\。)をする\(A ^ { - 1} \) の最大固有値、解決するためにパワーメソッドを使用して、この時間\(^ { - 1} \) の逆を取る、最大固有値であり、すなわち、(\)\最小固有値です。逆べき乗則、その最小値が0である場合、ことに留意されたい逆べき乗則特性が第二の小さい値であり、シフトは逆べき乗則が必要解決する、カウントダウンが定義されていないことを特徴とします。
MATLABの実装
function e = MinEig(A)
invA = inv(A);
x = ones(size(A));
for i=1:40
x=invA*x;
[mx,id] = max(abs(x));
x=x/x(id);
end
e = invA*x./x;
[mx,id] = max(abs(e));
e = 1/e(id);
end
%%%%%%%%%%%%%%%%%%%%
>> A = [4 0 0;0 -1 0;0 0 -9]
A =
4 0 0
0 -1 0
0 0 -9
>> MinEig(A)
ans =
-1
>> eig(A)
ans =
-9
-1
4
>> MaxEig(A)
ans =
-9
3. QR分解
電力方法及び逆べき乗則は固有値と最大固有値最小を解決するために使用され、固有値行列の全て、QR分解法を用いることができる解決を望みます。仮定\(\)\(N回\ n \)とマトリックス\(N- \)互いに異なる実固有値を。QR分解理論はそれを確認し、マトリックスの場合\(\)は、同様の変換を、以下:\(C = B ^ { - } 1 AC \) 、特徴量は変わりません。これは、もしからである\(金= \ラムダU \)は、次に取る\(V = {C ^ - 1} U \) 、そこ(ACV =金= \ラムダ値Cv \)\、さらに存在する\(C ^がACV -1} = {\ラムダVの\) 、そう\(ラムダ\)は\される\(C ^ { - 1} AC \) 固有値。するには\(A \) QR分解アルゴリズムの流れを行わ:
- \(A_1 = A \)のために、\(A_1 \) QR分解を行う\を[A_1 = Q_1R_1 \]前記\(Q_1 \)は直交行列である(\(^ T_L = Q_1Q I \) )、\(R_1 \)上三角行列であります
- オーダー\(R_1Q_1 A_2 = \) 、すなわち\(A_2 = Q ^ { - }。1 _1A_1Q_1 \)の値が前記\(\)は同じです。さらに、\(A_2 \)を行うQR分解:\ [Q_2R_2 A_2 = \]
- \(A_3 = R_2Q_2 = Q ^ { - 1} _2A_2Q_2 = Q ^ { - 1} _2Q ^ { - 1} _1A_1Q_1Q_2 \)
- まで、このプロセスを繰り返して\(A_N \)値を特徴と上三角行列であることと、対角線上のものです。
MATLABの実装
A=[ 6 -7 2 ; 4 -5 2; 1 -1 1]
A0=A;
for i=1:40
[Q R]=qr(A);
A=R*Q;
end
A
ev=diag(A)
eig(A0)
%%%%%%%%%%%%%%%%
>> QRiteration
A =
6 -7 2
4 -5 2
1 -1 1
A =
2.0000 -8.6603 -7.4066
0.0000 -1.0000 -1.0690
0.0000 -0.0000 1.0000
ev =
2.0000
-1.0000
1.0000
ans =
-1.0000
2.0000
1.0000
各反復において、の形で実現特殊マトリックスハウスホルダ行列用いて行列演算のQR分解\ [H = I-2 \ FRAC {VV ^ Tを} {V ^テレビ} \ ]ここで、\(C + V = \ | C \ | _2eの\)、\ (C \)と\(E \)列ベクトル、\(\ | C \ | _2 \)ベクトルの2ノルム。\(H \)行列が直交している、対称です。これがあることを意味\(HAH \)と\(\)が類似しています。方法以下の詳細な説明、\(H \)マトリックス\(\)は直交行列と上三角行列の積に分解されます。
- 取る\(C_1および\)行列(A \)\最初の列要素を:[= C_1および\ A_開始{bmatrix} {} \\ A_ 11}、{21でvdots \\\ \\ A_ {N1} \エンド\ bmatrix} {E_1 = \ bmatrix開始{} \ PM1 vdots \\\ \\ 0 \\ 0 \ bmatrix終了{} \] \(E_1 \)を持つ要素のシンボル\(C_1および\)の一貫性のシンボル要素(| C_1 \ | _2eの\ C_1 V_1 = + \)\
- オーダー\(H_1 I-2 = \ ^ v_1v_1 FRAC {T} {} TV_1 V_1 ^ \) 、\(= Q_1 H_1、R_1 H_1A = \)は、その後、\(Q_1が\)対称直交行列である(ハウスホルダ、\ (A = Q_1R_1 \) )、注意して\ [V_1 ^ TのV_1 =( C_1 + \ | C_1 \ | _2e_1)^ T(C_1 + \ | C_1 \ | _2 E_1)= 2 \ | C_1 \ | ^ 2_2 + 2a_ {11 } \ | C_1と\ | _2 \] \ [H_1A R_1 = = \&H_1c_1 {開始} bmatrix H_1 A_2&\&cdots H_1a_n \終了{} \] bmatrix \ [H_1c_1 = c_1-2 \ FRAC TC 1} ^ {v_1v_1 {V_1 ^ Tv_1} = c_1- \ FRAC {(\ | C_1 \ | _2 ^ 2 + A_ {11} \ | C_1 \ | _2)V_1} {\ | C_1 \ | ^ 2_2 + A_ {11} \ | C_1 \ | _2} = - \ | C_1 \ | _2e_1 \] したがって\(R_1 = H_1A \) 、他方は、第1要素を除いて、第1行目の\(0 \) \ [R_1 = \開始bmatrix {A} '_ {11}&' _ {12} - \ cdots& '_ {1N} \\ 0' _ {22} - \ cdots&「_ {2N} \\ \ vdots&\ vdots& \ ddots&\ vdots \\ 0 「_ {N2}&\ cdots&'_ {NN} \端{bmatrix} \]
- テイク(C_2の\)\行列の第2列として:[C_2 = \ \開始{A} 0 \\ bmatrix '_} {21はvdots \\\ \\ A' _ {N1} \}終了{bmatrix、E_2 = \ \\\開始{0} bmatrix vdots PM1 \\\ \\ 0 \エンドbmatrix {} \] \(E_2 \)シンボル及び第二要素(C_2 \)\第二の要素を保持するシンボル一貫性のある、\(V_2 C_2 + = \ | C_2 \ | _2e_2 \)
- オーダー\(H_2がI-2 \ FRAC {v_2v_2 ^ T} {V_2 ^ Tv_2} \ =)、\ (Q_2 = Q_1H_2 = H_1H_2 \) 、\を(R_2 = H_2R_1 = H_2H_1A \) 、\(H_2 \)をも対称直交行列(\(H ^ = A ^ T_2R_2 T_1H Q_2R_2 = \))、同様に、\(R_2 H_2R_1 = \)第二の要素の2列目にある\(0 \) \ [R_2 = \ {bmatrix} A ''が開始 {11}&A _ '' _ {12} - \ cdots&A '' _ {1N} \\ 0&A '' _ {22} - \ cdots&A '' _ {2N} \\ \ vdots&\ vdots&\ ddots&\ vdots \\ 0 0&\ cdots&A '' _ {NN} \端{bmatrix} \]
- までプロセスを繰り返す(R_は、{N-1} \ \) 上三角行列、行列である\(A \)直交行列に分解される(Q_ {N-1} \ \) 、および上三角行列\(R_ { N-1} \)の製品。
MATLABの実装:
function [Q R] = QRFactorization(R)
% The function factors a matrix [A] into an orthogonal matrix [Q]
% and an upper-triangular matrix [R].
% Input variables:
% A The (square) matrix to be factored.
% Output variables:
% Q Orthogonal matrix.
% R Upper-triangular matrix.
nmatrix = size(R);
n = nmatrix(1);
I = eye(n);
Q = I;
for j = 1:n-1
c = R(:,j);
c(1:j-1) = 0;
e(1:n,1)=0;
if c(j) > 0
e(j) = 1;
else
e(j) = -1;
end
clength = sqrt(c'*c);
v = c + clength*e;
H = I - 2/(v'*v)*v*v';
Q = Q*H;
R = H*R;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> A=[ 6 -7 2 ; 4 -5 2; 1 -1 1]
A =
6 -7 2
4 -5 2
1 -1 1
>> [Q R] = qr(A)
Q =
-0.8242 0.3925 -0.4082
-0.5494 -0.7290 0.4082
-0.1374 0.5608 0.8165
R =
-7.2801 8.6537 -2.8846
0 0.3365 -0.1122
0 0 0.8165
>> [Q1 R1] = QRFactorization(A)
Q1 =
-0.8242 0.3925 -0.4082
-0.5494 -0.7290 0.4082
-0.1374 0.5608 0.8165
R1 =
-7.2801 8.6537 -2.8846
0.0000 0.3365 -0.1122
-0.0000 0.0000 0.8165
4.まとめ
このクラスは、下位行列のため、式は機能固有値によって解決することができ、マトリックスの固有値と固有ベクトルの概念を導入し、高次のマトリックスのための最大電力方法の固有値行列および逆指数法則を用いて解くことができますそして、最小固有値は固有値行列の全てを必要とし、マトリックスはQR分解、マトリックスであってもよい\(\)上三角行列に類似し、上三角行列の対角要素は、マトリックスである\(A \)固有値。