Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

6,511 views

Published on

東工大ロボット技術研究会第二回rogyゼミで発表した内容です。
線形代数は学んで損はないのでぜひやりましょう。

Published in: Technology
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2F4cEJi ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2F4cEJi ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 今更ですがこの資料割りと間違いありますので注意してください。重複固有値のくだりとか。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. @rejell55 (線形代数は人生を豊かにする)
  2. 2. 線形代数の応用分野 制御工学 機械工学 電気回路 CG・画像処理 数値計算 信号処理 量子力学 幾何学 etc…
  3. 3. 本日の内容一覧  線形代数学について  連立1次方程式の数値解法  連立1次方程式と流体シミュレーション  固有値・固有ベクトル  微分方程式と固有値  固有値と解の安定性
  4. 4. 線形代数学とは? もともとは, 連立1次方程式の解法に関する学問分野. この考えを拡張すると, 連立1次方程式を線形変換と捉えた, 線形な変換の理論とも言える. 𝑋 𝑦 = 𝑇𝑥 𝑌 𝑦 𝑥 𝑇: 𝑋 → 𝑌 𝑇: 𝑋 ∋ 𝑥 ⟼ 𝑇𝑥 ∈ 𝑌
  5. 5. 連立1次方程式 𝑦1 = 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥 𝑛 𝑦2 = 𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥 𝑛 ⋮ 𝑦 𝑚 = 𝑎 𝑚1 𝑥1 + 𝑎 𝑚2 𝑥2 + ⋯ + 𝑎 𝑚𝑛 𝑥 𝑛 のような, 連立1次方程式を解きたい場面は あらゆる分野で登場する. 連立1次方程式の解について学ぼう!
  6. 6. 連立1次方程式 𝑦1 = 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥 𝑛 𝑦2 = 𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥 𝑛 ⋮ 𝑦 𝑚 = 𝑎 𝑚1 𝑥1 + 𝑎 𝑚2 𝑥2 + ⋯ + 𝑎 𝑚𝑛 𝑥 𝑛 という問題を解きたい! 𝑦1 𝑦 = ⋮ は既知 𝑦𝑚 𝑥1 𝑥 = ⋮ は未知 𝑥𝑛 𝑦 = 𝐴𝑥と書き換えると, 係数行列𝐴に逆行列があれば, 𝑥 = 𝐴−1 𝑦が解! この連立方程式はどうやって解くべきか?
  7. 7. 連立1次方程式の解法  掃き出し法  クラメールの公式  LU分解  SOR法  共役勾配法  etc…
  8. 8. 連立1次方程式の解法(直接法)  掃き出し法  クラメールの公式  LU分解 𝐴 = 𝐿𝑈と分解する. 𝑦 = 𝐴𝑥 = 𝐿𝑈𝑥 𝑙11 𝑙21 𝑙22 𝐿= ⋮ ⋮ ⋱ 𝑙 𝑛1 𝑙 𝑛2 ⋯ 𝑙 𝑛𝑛 𝑢11 𝑈= 𝑢12 𝑢22 ⋯ ⋯ ⋱ 𝑢1𝑛 𝑢2𝑛 ⋮ 𝑢 𝑛𝑛
  9. 9. LU分解の続き 𝑈𝑥 = 𝑏とおくと, 𝑦 = 𝐿𝑈𝑥 = 𝐿𝑏という 新しい連立方程式に変形できる. 𝑦1 𝑙11 𝑦2 𝑙 = 21 ⋮ ⋮ 𝑦𝑛 𝑙 𝑛1 𝑙22 ⋮ 𝑙 𝑛2 ⋱ ⋯ 𝑙 𝑛𝑛 𝑏1 𝑏2 ⋮ 𝑏𝑛 上から順番に計算すれば簡単に𝑏が求まる! 同様に𝑈𝑥 = 𝑏を求めてやればよい(こちらは下から順番に). 𝑢11 𝑏1 𝑏2 = ⋮ 𝑏𝑛 𝑢12 𝑢22 ⋯ ⋯ ⋱ 𝑢1𝑛 𝑢2𝑛 ⋮ 𝑢 𝑛𝑛 𝑥1 𝑥2 ⋮ 𝑥𝑛
  10. 10. 微分方程式の数値解法 𝑑𝑦 𝑑𝑥 = 𝑓(𝑥)という微分方程式を数値的に解くには? 差分化 𝑑𝑦 𝑑𝑥 𝑦 𝑥+Δ𝑥 −𝑦(𝑥) より, Δ𝑥 Δ𝑥→0 = lim 𝑓 𝑥 ≈ 𝑦 𝑥+Δ𝑥 −𝑦(𝑥) と考えれば, Δ𝑥 𝑦 𝑥 = 𝑦 𝑥 + Δ𝑥 − 𝑓 𝑥 Δ𝑥で近似的に計算できる. 前進差分 𝑦 𝑥 + Δ𝑥 − 𝑦(𝑥) 𝑦 𝑖+1 − 𝑦 𝑖 = Δ𝑥 Δ𝑥 後退差分 𝑦 𝑥 − 𝑦(𝑥 − Δ𝑥) 𝑦 𝑖 − 𝑦 𝑖−1 = Δ𝑥 Δ𝑥 前進差分と後退差分の平均→中心差分 𝑦 𝑥 + Δ𝑥 − 𝑦(𝑥 − Δ𝑥) 𝑦 𝑖+1 − 𝑦 𝑖−1 = 2Δ𝑥 2Δ𝑥
  11. 11. 非圧縮性流れのシミュレーションについて 2次元非圧縮性流体におけるNavier – Stokes方程式 及び連続の式 𝜕𝑢 𝜕𝑣 + =0 𝜕𝑥 𝜕𝑦 𝜕𝑢 𝜕𝑢 𝜕𝑢 𝜕𝑝 1 + 𝑢 + 𝑣 =− + 𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑥 𝑅𝑒 𝜕𝑣 𝜕𝑣 𝜕𝑣 𝜕𝑝 1 + 𝑢 + 𝑣 =− + 𝜕𝑡 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝑅𝑒 𝜕2 𝑢 + 𝜕𝑥 2 𝜕2 𝑣 + 𝜕𝑥 2 𝜕2 𝑢 𝜕𝑦 2 𝜕2 𝑣 𝜕𝑦 2 SMAC法によって解く 1. 𝑢, 𝑣の暫定値𝑢∗ , 𝑣 ∗を求める(Burgers方程式) 2. 暫定値𝑢∗ , 𝑣 ∗ を用いて圧力の修正量𝛿𝑝を求める(Poisson方程式) 3. 𝛿𝑝を現ステップの圧力値に足して次ステップの圧力値とする 4.暫定値𝑢∗ , 𝑣 ∗ を, 𝛿𝑝を用いて修正する
  12. 12. ポアソン方程式の数値解法 ポアソン方程式 𝜕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 𝑠 𝑖,𝑗
  13. 13. ポアソン方程式の数値解法 (𝑝 𝑖−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 とおく.
  14. 14. ポアソン方程式の数値解法 𝑝 𝑖−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
  15. 15. 流体シミュレーションの結果 流入境界 約35[s]後の渦度プロット 流出境界
  16. 16. 固有値と固有ベクトル 𝐴𝑥 = 𝜆𝑥を満たすような定数𝜆を固有値, ベクトル𝑥を固有ベクトルと呼ぶ. 行列𝐴を用いて表される変換を施しても, 方向が変わらないベクトルが固有ベクトル.
  17. 17. 対角化 行列𝐴を, 𝑃−1 𝐴𝑃 = diag(𝜆1 , 𝜆2 , … , 𝜆 𝑛 )のようにして 対角行列へ変換できるとき, 行列𝐴は対角化可能である. 𝑃 = [ 𝑝1 𝑝2 ⋯ 𝑝 𝑛 ]とすると, 𝐴𝑃 = 𝐴𝑝1 𝐴𝑝2 ⋯ 𝐴𝑝 𝑛 , 𝑃 × diag 𝜆1 , 𝜆2 , … , 𝜆 𝑛 = 𝜆1 𝑝1 𝜆2 𝑝2 ⋯ 𝜆 𝑛 𝑝 𝑛 となる. 𝐴𝑝1 𝐴𝑝2 ⋯ 𝐴𝑝 𝑛 = 𝜆1 𝑝1 𝜆2 𝑝2 ⋯ 𝜆 𝑛 𝑝 𝑛 であることから, 𝑝 𝑖 は固有ベクトル, 𝜆 𝑖 は固有値であるといえる. 固有値・固有ベクトルを用いて, 行列を対角化できる. (固有値が重複しているとダメ)
  18. 18. 微分方程式と固有値 まずは普通の微分方程式 𝑑𝑥 = 𝑎𝑥 𝑑𝑡 を考える. 解は𝑥(𝑡) = 𝑒 𝑎𝑡 𝑥(0)となる.
  19. 19. 微分方程式と固有値 連立微分方程式 𝑥1 𝑎11 𝑑 𝑥2 = 𝑑𝑡 ⋮ 𝑥𝑛 𝑎22 解は 𝑥1 𝑒 𝑎11 𝑡 𝑥2 ⋮ = 𝑥𝑛 𝑒 𝑎22 𝑡 ⋱ ⋱ 𝑎 𝑛𝑛 𝑥1 𝑥1 𝑥2 𝑥2 ⋮ = 𝐴 ⋮ 𝑥𝑛 𝑥𝑛 𝑥(0) = 𝑒 𝑒 𝑎 𝑛𝑛 𝑡 𝐴𝑡 𝑥(0)
  20. 20. 微分方程式と固有値 連立微分方程式 𝑥1 𝑥1 𝑥2 𝑑 𝑥2 = 𝐴 ⋮ を解くには? 𝑑𝑡 ⋮ 𝑥𝑛 𝑥𝑛 座標変換𝑥 = 𝑇𝑧を行う. (𝑇は固有ベクトルを並べた行列) 𝑑 𝑇𝑧 = 𝐴𝑥 = 𝐴𝑇𝑧 𝑑𝑡 𝑑 つまり, 𝑑𝑡 𝑧 = 𝑇 −1 𝐴𝑇𝑧 = diag 𝜆1 , 𝜆2 , … , 𝜆 𝑛 𝑧となる. −1 この解は𝑧 = 𝑒 𝑇 𝐴𝑇𝑡 𝑧(0)である. −1 𝑇 −1 𝑥 = 𝑒 𝑇 𝐴𝑇𝑡 𝑇 −1 𝑥(0)なので, 𝑇 −1 𝐴𝑇𝑡 −1 𝑥 = 𝑇𝑒 𝑇 𝑥(0) である.
  21. 21. 固有値と応答 𝑥(𝑡) = 𝑒 𝑎𝑡 𝑥(0)の特性について考えよう. (𝑎は複素数) 𝑎 = 𝛼 + 𝑗𝛽とする. 𝑥 𝑡 = 𝑒 𝛼𝑡 𝑒 𝑗𝛽𝑡 𝑥 0 = 𝑥(0)𝑒 𝛼𝑡 (cos 𝛽𝑡 + 𝑗 sin 𝛽𝑡) 実部のみを考えて 𝑥 𝑡 = 𝑥(0)𝑒 𝛼𝑡 cos 𝛽𝑡 𝑎の実部は収束・発散性, 虚部は振動性に影響する.
  22. 22. 固有値とモード 座標変換𝑥 = 𝑇𝑧を利用してみよう. 𝒙 𝑡 = 𝑒 𝐴𝑡 𝑒 𝜆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 それぞれの固有値ごとの特性を調べれば, 運動の様子が想像できる! →モード展開
  23. 23. まとめ 線形代数は連立1次方程式だけでなく, 線形な変換の理論でもある. 対象を考えるとき, 新たな視点で見ることで 新たな発見が得られるかもしれない! 何か物事を考えるときに, 線形代数はきっと 非常に便利なツールとして使えるはず! 線形代数はあなたを 裏切らない!
  24. 24. 線形代数とともに あらんことを…

×