@rejell55 (線形代数は人生を豊かにする)
線形代数の応用分野
制御工学
機械工学
電気回路
CG・画像処理
数値計算
信号処理

量子力学
幾何学

etc…
本日の内容一覧
 線形代数学について
 連立1次方程式の数値解法
 連立1次方程式と流体シミュレーション

 固有値・固有ベクトル
 微分方程式と固有値
 固有値と解の安定性
線形代数学とは?
もともとは, 連立1次方程式の解法に関する学問分野.
この考えを拡張すると, 連立1次方程式を線形変換と捉えた,
線形な変換の理論とも言える.

𝑋

𝑦 = 𝑇𝑥

𝑌
𝑦

𝑥

𝑇: 𝑋 → 𝑌
𝑇: 𝑋 ∋ 𝑥 ⟼ 𝑇𝑥 ∈ 𝑌
連立1次方程式
𝑦1 = 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥 𝑛
𝑦2 = 𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥 𝑛
⋮
𝑦 𝑚 = 𝑎 𝑚1 𝑥1 + 𝑎 𝑚2 𝑥2 + ⋯ + 𝑎 𝑚𝑛 𝑥 𝑛
のような, 連立1次方程式を解きたい場面は
あらゆる分野で登場する.

連立1次方程式の解について学ぼう!
連立1次方程式
𝑦1 = 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥 𝑛
𝑦2 = 𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥 𝑛
⋮
𝑦 𝑚 = 𝑎 𝑚1 𝑥1 + 𝑎 𝑚2 𝑥2 + ⋯ + 𝑎 𝑚𝑛 𝑥 𝑛
という問題を解きたい!

𝑦1
𝑦 = ⋮ は既知
𝑦𝑚
𝑥1
𝑥 = ⋮ は未知
𝑥𝑛

𝑦 = 𝐴𝑥と書き換えると, 係数行列𝐴に逆行列があれば,
𝑥 = 𝐴−1 𝑦が解!
この連立方程式はどうやって解くべきか?
連立1次方程式の解法
 掃き出し法
 クラメールの公式
 LU分解

 SOR法
 共役勾配法
 etc…
連立1次方程式の解法(直接法)
 掃き出し法
 クラメールの公式
 LU分解
𝐴 = 𝐿𝑈と分解する.
𝑦 = 𝐴𝑥 = 𝐿𝑈𝑥
𝑙11
𝑙21 𝑙22
𝐿=
⋮
⋮
⋱
𝑙 𝑛1 𝑙 𝑛2 ⋯ 𝑙 𝑛𝑛

𝑢11
𝑈=

𝑢12
𝑢22

⋯
⋯
⋱

𝑢1𝑛
𝑢2𝑛
⋮
𝑢 𝑛𝑛
LU分解の続き
𝑈𝑥 = 𝑏とおくと, 𝑦 = 𝐿𝑈𝑥 = 𝐿𝑏という
新しい連立方程式に変形できる.
𝑦1
𝑙11
𝑦2
𝑙
= 21
⋮
⋮
𝑦𝑛
𝑙 𝑛1

𝑙22
⋮
𝑙 𝑛2

⋱
⋯

𝑙 𝑛𝑛

𝑏1
𝑏2
⋮
𝑏𝑛

上から順番に計算すれば簡単に𝑏が求まる!
同様に𝑈𝑥 = 𝑏を求めてやればよい(こちらは下から順番に).
𝑢11
𝑏1
𝑏2
=
⋮
𝑏𝑛

𝑢12
𝑢22

⋯
⋯
⋱

𝑢1𝑛
𝑢2𝑛
⋮
𝑢 𝑛𝑛

𝑥1
𝑥2
⋮
𝑥𝑛
微分方程式の数値解法
𝑑𝑦
𝑑𝑥

= 𝑓(𝑥)という微分方程式を数値的に解くには?
差分化

𝑑𝑦
𝑑𝑥

𝑦 𝑥+Δ𝑥 −𝑦(𝑥)
より,
Δ𝑥
Δ𝑥→0

= lim

𝑓 𝑥 ≈

𝑦 𝑥+Δ𝑥 −𝑦(𝑥)
と考えれば,
Δ𝑥

𝑦 𝑥 = 𝑦 𝑥 + Δ𝑥 − 𝑓 𝑥 Δ𝑥で近似的に計算できる.

前進差分
𝑦 𝑥 + Δ𝑥 − 𝑦(𝑥)
𝑦 𝑖+1 − 𝑦 𝑖
=
Δ𝑥
Δ𝑥

後退差分
𝑦 𝑥 − 𝑦(𝑥 − Δ𝑥)
𝑦 𝑖 − 𝑦 𝑖−1
=
Δ𝑥
Δ𝑥

前進差分と後退差分の平均→中心差分
𝑦 𝑥 + Δ𝑥 − 𝑦(𝑥 − Δ𝑥)
𝑦 𝑖+1 − 𝑦 𝑖−1
=
2Δ𝑥
2Δ𝑥
非圧縮性流れのシミュレーションについて
2次元非圧縮性流体におけるNavier – Stokes方程式
及び連続の式
𝜕𝑢
𝜕𝑣
+
=0
𝜕𝑥
𝜕𝑦
𝜕𝑢
𝜕𝑢
𝜕𝑢
𝜕𝑝
1
+ 𝑢
+ 𝑣
=−
+
𝜕𝑡
𝜕𝑥
𝜕𝑦
𝜕𝑥
𝑅𝑒
𝜕𝑣
𝜕𝑣
𝜕𝑣
𝜕𝑝
1
+ 𝑢
+ 𝑣
=−
+
𝜕𝑡
𝜕𝑥
𝜕𝑦
𝜕𝑦
𝑅𝑒

𝜕2 𝑢
+
𝜕𝑥 2
𝜕2 𝑣
+
𝜕𝑥 2

𝜕2 𝑢
𝜕𝑦 2
𝜕2 𝑣
𝜕𝑦 2

SMAC法によって解く
1. 𝑢, 𝑣の暫定値𝑢∗ , 𝑣 ∗を求める(Burgers方程式)
2. 暫定値𝑢∗ , 𝑣 ∗ を用いて圧力の修正量𝛿𝑝を求める(Poisson方程式)
3. 𝛿𝑝を現ステップの圧力値に足して次ステップの圧力値とする
4.暫定値𝑢∗ , 𝑣 ∗ を, 𝛿𝑝を用いて修正する
ポアソン方程式の数値解法
ポアソン方程式
𝜕2
𝜕2
2 𝑝(𝑥, 𝑦) + 𝜕𝑦 2 𝑝(𝑥, 𝑦) = 𝑠(𝑥, 𝑦)
𝜕𝑥

1,1
1,2

2,1
2,2

…
…

m,1
m,2

⋮

⋮

i,j

⋮

1,n

2,n

…

m,n

差分化(中心差分)
𝑝 𝑖−1,𝑗 − 2𝑝 𝑖,𝑗 + 𝑝 𝑖+1,𝑗
𝑝 𝑖,𝑗−1 − 2𝑝 𝑖,𝑗 + 𝑝 𝑖,𝑗+1
+
= 𝑠 𝑖,𝑗
2
2
Δ𝑥
Δ𝑦
∆𝑥 = ∆𝑦 = ℎとすると,

(𝑝 𝑖−1,𝑗 − 2𝑝 𝑖,𝑗 + 𝑝 𝑖+1,𝑗 ) + (𝑝 𝑖,𝑗−1 − 2𝑝 𝑖,𝑗 + 𝑝 𝑖,𝑗+1 ) = ℎ2 𝑠 𝑖,𝑗
ポアソン方程式の数値解法
(𝑝 𝑖−1,𝑗 − 2𝑝 𝑖,𝑗 + 𝑝 𝑖+1,𝑗 ) + (𝑝 𝑖,𝑗−1 − 2𝑝 𝑖,𝑗 + 𝑝 𝑖,𝑗+1 ) = ℎ2 𝑠 𝑖,𝑗
簡単のため, 4×4の領域で考える
1,1 2,1 3,1 4,1
1,2 2,2 3,2 4,2
1,3 2,3 3,3 4,3
1,4 2,4 3,4 4,4
𝑇

𝑇

𝑝 𝑖,1 = 𝑝1,1 𝑝2,1 𝑝3,1 𝑝4,1 とし, 𝑝 = 𝑝 𝑖,1 𝑝 𝑖,2 𝑝 𝑖,3 𝑝 𝑖,4 とおく.
𝑠 𝑖,1 =

𝑇

2

𝑠1,1 𝑠2,1 𝑠3,1 𝑠4,1 とし, ℎ 𝑠 = ℎ

2

𝑇

𝑠 𝑖,1 𝑠 𝑖,2 𝑠 𝑖,3 𝑠 𝑖,4 とおく.
ポアソン方程式の数値解法
𝑝 𝑖−1,𝑗 + 𝑝 𝑖+1,𝑗 + 𝑝 𝑖,𝑗−1 + 𝑝 𝑖,𝑗+1 − 4𝑝 𝑖,𝑗 = ℎ2 𝑠 𝑖,𝑗
𝑝 = 𝑝 𝑖,1 𝑝 𝑖,2 𝑝 𝑖,3 𝑝 𝑖,4

𝑇

ℎ2

𝑠=

ℎ2

𝑠 𝑖,1 𝑠 𝑖,2 𝑠 𝑖,3 𝑠 𝑖,4

𝑇

𝐴𝑝 = ℎ2 𝑠の形とすると, 連立1次方程式となる.
1
1

1
1

1

1

1
1

−4 1
1 −4

𝐴=
1

1

1

1
1
1
1

1

−4 1
1 −4

1

1
1

1

1
1

1
1
流体シミュレーションの結果

流入境界

約35[s]後の渦度プロット

流出境界
固有値と固有ベクトル
𝐴𝑥 = 𝜆𝑥を満たすような定数𝜆を固有値,
ベクトル𝑥を固有ベクトルと呼ぶ.

行列𝐴を用いて表される変換を施しても,
方向が変わらないベクトルが固有ベクトル.
対角化
行列𝐴を, 𝑃−1 𝐴𝑃 = diag(𝜆1 , 𝜆2 , … , 𝜆 𝑛 )のようにして
対角行列へ変換できるとき, 行列𝐴は対角化可能である.

𝑃 = [ 𝑝1 𝑝2 ⋯ 𝑝 𝑛 ]とすると,
𝐴𝑃 = 𝐴𝑝1 𝐴𝑝2 ⋯ 𝐴𝑝 𝑛 ,
𝑃 × diag 𝜆1 , 𝜆2 , … , 𝜆 𝑛 = 𝜆1 𝑝1 𝜆2 𝑝2 ⋯ 𝜆 𝑛 𝑝 𝑛 となる.
𝐴𝑝1 𝐴𝑝2 ⋯ 𝐴𝑝 𝑛 = 𝜆1 𝑝1 𝜆2 𝑝2 ⋯ 𝜆 𝑛 𝑝 𝑛 であることから,
𝑝 𝑖 は固有ベクトル, 𝜆 𝑖 は固有値であるといえる.
固有値・固有ベクトルを用いて, 行列を対角化できる.
(固有値が重複しているとダメ)
微分方程式と固有値
まずは普通の微分方程式
𝑑𝑥
= 𝑎𝑥
𝑑𝑡
を考える.

解は𝑥(𝑡) = 𝑒 𝑎𝑡 𝑥(0)となる.
微分方程式と固有値
連立微分方程式
𝑥1
𝑎11
𝑑 𝑥2
=
𝑑𝑡 ⋮
𝑥𝑛

𝑎22

解は
𝑥1
𝑒 𝑎11 𝑡
𝑥2
⋮ =
𝑥𝑛

𝑒 𝑎22 𝑡

⋱

⋱

𝑎 𝑛𝑛

𝑥1
𝑥1
𝑥2
𝑥2
⋮ = 𝐴 ⋮
𝑥𝑛
𝑥𝑛

𝑥(0) = 𝑒
𝑒 𝑎 𝑛𝑛 𝑡

𝐴𝑡

𝑥(0)
微分方程式と固有値
連立微分方程式
𝑥1
𝑥1
𝑥2
𝑑 𝑥2
= 𝐴 ⋮ を解くには?
𝑑𝑡 ⋮
𝑥𝑛
𝑥𝑛
座標変換𝑥 = 𝑇𝑧を行う. (𝑇は固有ベクトルを並べた行列)
𝑑
𝑇𝑧 = 𝐴𝑥 = 𝐴𝑇𝑧
𝑑𝑡
𝑑
つまり, 𝑑𝑡 𝑧 = 𝑇 −1 𝐴𝑇𝑧 = diag 𝜆1 , 𝜆2 , … , 𝜆 𝑛 𝑧となる.
−1

この解は𝑧 = 𝑒 𝑇 𝐴𝑇𝑡 𝑧(0)である.
−1
𝑇 −1 𝑥 = 𝑒 𝑇 𝐴𝑇𝑡 𝑇 −1 𝑥(0)なので,
𝑇 −1 𝐴𝑇𝑡 −1
𝑥 = 𝑇𝑒
𝑇 𝑥(0) である.
固有値と応答

𝑥(𝑡) = 𝑒 𝑎𝑡 𝑥(0)の特性について考えよう.
(𝑎は複素数)
𝑎 = 𝛼 + 𝑗𝛽とする.
𝑥 𝑡 = 𝑒 𝛼𝑡 𝑒 𝑗𝛽𝑡 𝑥 0 = 𝑥(0)𝑒 𝛼𝑡 (cos 𝛽𝑡 + 𝑗 sin 𝛽𝑡)
実部のみを考えて
𝑥 𝑡 = 𝑥(0)𝑒 𝛼𝑡 cos 𝛽𝑡

𝑎の実部は収束・発散性, 虚部は振動性に影響する.
固有値とモード
座標変換𝑥 = 𝑇𝑧を利用してみよう.
𝒙 𝑡 = 𝑒

𝐴𝑡

𝑒 𝜆1
𝒙 0 = 𝑇 0
⋮
0

= 𝒗1
= 𝒗1 𝑒 𝜆1

0
𝑒 𝜆2
⋮
0

0
0
⋱
⋯

0
0 𝑇 −1 𝒙 0
⋮
𝑒 𝜆𝑛
𝑒 𝜆1
0
0
0
𝑒 𝜆2 0
0 𝒛 0
𝒗2 ⋯ 𝒗 𝑛 0
⋮
⋮
⋱
⋮
0
0 ⋯ 𝑒 𝜆𝑛
𝑧1 0 + 𝒗2 𝑒 𝜆2 𝑧2 0 + ⋯ + 𝒗 𝑛 𝑒 𝜆 𝑛 𝑧 𝑛 0

それぞれの固有値ごとの特性を調べれば,
運動の様子が想像できる!
→モード展開
まとめ
線形代数は連立1次方程式だけでなく,
線形な変換の理論でもある.
対象を考えるとき, 新たな視点で見ることで
新たな発見が得られるかもしれない!
何か物事を考えるときに, 線形代数はきっと
非常に便利なツールとして使えるはず!
線形代数はあなたを
裏切らない!
線形代数とともに
あらんことを…

人生を豊かにする線形代数学