第7回プログラマのための数学勉強会のノート (行列とベクトルの概要 / 行列とベクトルの応用 / 連立一次方程式)
このページはプログラマのための数学勉強会を聴講したときの個人的なノートである。
第7回プログラマのための数学勉強会(2013/10/24)の資料
http://nineties.github.io/math-seminar/7.html
第7回プログラマのための数学勉強会(2013/10/24)の動画
http://www.youtube.com/watch?v=ur8Ez9touTY
http://www.youtube.com/watch?v=r5L4_jKeCCM
http://www.youtube.com/watch?v=8KUTD0OMEW0
http://www.youtube.com/watch?v=nlG_pHWNl1M
行列とベクトルの概要 2013/11/16
http://nineties.github.io/math-seminar/7.html#/6
- 行列
- \(m×n\)型行列: 縦に\(m\)行、横に\(n\)列
- \(n\)次正方行列
- \(n×n\)型行列
- 零行列
- すべての要素が\(0\)の行列
- 単位行列
- 対角成分がすべて\(1\)、それ以外がすべて\(0\)の正方行列
- \[ \mathbf{E}_n = (\delta_{ij})_{n,n} =
\begin{pmatrix}
1 & 0 & \cdots & 0 \\
0 & 1 & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & 1 \
\end{pmatrix} \] - クロネッカーのデルタ: \( \delta_{ij} \)
- 行列の演算
- 和・差・定数倍
http://nineties.github.io/math-seminar/7.html#/11- 計算機での計算量は \( \mathcal{O}(mn) \)
http://nineties.github.io/math-seminar/7.html#/16
- 計算機での計算量は \( \mathcal{O}(mn) \)
- 積
http://nineties.github.io/math-seminar/7.html#/13- 計算機での計算量は \( \mathcal{O}(lmn) \)
http://nineties.github.io/math-seminar/7.html#/16
- 計算機での計算量は \( \mathcal{O}(lmn) \)
- 和・差・定数倍
- 結合法則・分配法則
http://nineties.github.io/math-seminar/7.html#/18 - 交換法則は一般には成立しない
- \[ \mathbf{AB} \neq \mathbf{BA} \]
- ただし、\(m×n\)型行列\(\mathbf{A}\)について \[ \mathbf{0}_{l,m}\mathbf{A} = \mathbf{0}_{l,n} \] \[ \mathbf{A}\mathbf{0}_{n,l} = \mathbf{0}_{m,l} \] \[ \mathbf{E}_m\mathbf{A} = \mathbf{A}\mathbf{E}_n = \mathbf{A} \]
- 零因子
- \[ \mathbf{AB} = \mathbf{0} \ \not\Rightarrow \mathbf{A} = \mathbf{0} \ \text{または} \ \mathbf{B} = \mathbf{0} \]
- 転置行列
- 縦と横を入れ替えたもの
- \(\mathbf{A}\)の転置行列を\( \mathbf{A}^T \) と書く
- 対称行列
- \( \mathbf{A}^T = \mathbf{A} \) を満たす行列\(\mathbf{A}\)
- 交代行列
- \( \mathbf{A}^T = -\mathbf{A} \) を満たす行列\(\mathbf{A}\)
- ベクトル (列ベクトル)
http://nineties.github.io/math-seminar/7.html#/28- \(n\)次行列: \(n×1\)型行列
- 1列なので、行ベクトルに対して列ベクトルともいう
- 行ベクトル
- \(n\)次行行列: \(1×n\)型行列
- \(\mathbb{R}^n\)
- 実数成分の\(n\)次元列ベクトルの集合
- ベクトルの内積
- \[ (\mathbf{x}, \mathbf{y}) = \sum_i x_i y_i = \mathbf{x}^T \mathbf{y} \]
- ベクトルのノルム (ユークリッドノルム)
- \[ \|\mathbf{x}\| = \sqrt{\sum_i x_i^2} = \sqrt{\mathbf{x}^T \mathbf{x}} \]
- ユークリッドノルム以外にもさまざまな定義がある
- コーシー・シュワルツの不等式
http://nineties.github.io/math-seminar/7.html#/33- \[ \|\mathbf{x}\|^2 \|\mathbf{y}\|^2 \geq (\mathbf{x}, \mathbf{y})^2 \]
- ノルムの三角不等式
http://nineties.github.io/math-seminar/7.html#/35- \[ \|\mathbf{x} + \mathbf{y}\| \leq \|\mathbf{x}\| + \|\mathbf{y}\| \]
- 小行列への分解
http://nineties.github.io/math-seminar/7.html#/36
行列とベクトルの応用 2013/11/14
http://nineties.github.io/math-seminar/7.html#/38
- 連立一次方程式
http://nineties.github.io/math-seminar/7.html#/39 - 連立一次漸化式
http://nineties.github.io/math-seminar/7.html#/40 - フィボナッチ数列の計算
http://nineties.github.io/math-seminar/7.html#/42 - 微分方程式
http://nineties.github.io/math-seminar/7.html#/44 - ベクトル値関数
http://nineties.github.io/math-seminar/7.html#/45 - 画像の識別
http://nineties.github.io/math-seminar/7.html#/46 - 波形から音源を分離
http://nineties.github.io/math-seminar/7.html#/47 - グラフ(ノード, エッジ)
http://nineties.github.io/math-seminar/7.html#/51
連立一次方程式 2013/11/15
http://nineties.github.io/math-seminar/7.html#/52
- 拡大係数行列
http://nineties.github.io/math-seminar/7.html#/57 - 連立一次方程式の表現形式のまとめ
http://nineties.github.io/math-seminar/7.html#/58 - 掃き出し法による連立一次方程式の解法
http://nineties.github.io/math-seminar/7.html#/59 - 連立一次方程式の数値的解法
http://nineties.github.io/math-seminar/7.html#/65- 直接法
- 反復法
- 直接法: ガウス消去法
http://nineties.github.io/math-seminar/7.html#/66- 前進消去
- 後退代入
- 計算量: \( \mathcal{O}(n^3) \)
http://nineties.github.io/math-seminar/7.html#/74 - ピボット選択
http://nineties.github.io/math-seminar/7.html#/75
- 最小二乗法を連立一次方程式で解く例
http://nineties.github.io/math-seminar/7.html#/77