「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
スカラ、ベクトル、行列 †
スカラ †
数値
ベクトル †
ベクトルは、
- スカラの組合せ。
- 大きさ・向きを持つ。
- 矢印で表される。
- ある種の演算ができる。
行列 †
行列は、
- ベクトルの変換
- 行列とベクトルの積
- 行列と行列のドット積、アダマール積
行列で連立方程式を解く。 †
行列は連立方程式を扱うようになって発達した。
行基本変形 †
連立方程式の加減法を行列の行基本変形で計算できる。
- 行基本変形
- 二つの行を入れ替える。
- ある行を 0 でない定数倍する。
- ある行に、他のある行の定数倍を加える。
- 列基本変形
- 二つの列を入れ替える。
- ある列を0でない定数倍する。
- ある列に、他のある列の定数倍を加える。
逆行列 †
連立方程式を逆行列で計算できる。
- 逆行列は、当該行列とドット積で計算すると、単位行列(I)が得られる様な行列。
- 行列Aの逆行列はA^-1と書き、インバースと読み、A^-1A = AA^-1 = I(単位行列)となる様な行列。
- 逆行列の求め方
- 行基本変形は行列のドット積で計算でき、変形の行列をドット積で纏めると逆行列になる。
- 掃き出し法の拡大行列(?)の左側に対角線に1が並ぶように行基本変形すると右側が逆行列になる。
- 2行2列の行列の逆行列なら公式で計算できる。
- 3行3列の行列の逆行列なら掃き出し法の拡大行列で計算できる。
- 3行3列以上の行列の逆行列なら
- 掃き出し法の拡大行列で計算できる。
- 行列式の余因子を用いて計算することもできる。
- 逆行列が存在しない場合がある。
これは、≒ 連立方程式の解が無い場合で、2以上のベクトル(=行、横ベクトル)が並行で面積がゼロの場合
- 交点がなくて並行の場合(2つのベクトルが「平行」)
- 交点があって並行の場合(2つのベクトルが「同じ」か「長さが異なるダケ≒同じ」)
行列式 †
行列式によって連立方程式の解の有無を判別できる。
- 行列式とは
- 一次方程式の可解性を判定する指標
- 正方行列で列をベクトルに見立てる。
- n個のベクトルからなる面積・体積を考える。
- 行列式の特性
- 1つでも平行なベクトル、同じベクトルがあれば、面積・体積はゼロで解は無い。
- 1つのベクトルが*nされれば、行列式(≒面積・体積)全体がn倍される。
- 1つのベクトルが+wされれば、行列式(≒面積・体積)の足し算に展開される。
- ベクトルを入れ替えると行列式はマイナスになる(が、コレは面積・体積の性質ではない。
入れ替え前と後のベクトルを足し算すると2つの同じベクトルがある行列式(面積・体積=0)になるので。
- たすき掛けの計算方法は3行3列の行列式までしか使えない。
- 3行3列以上の行列式は余因子展開でn-1行n-1列の行列式の計算に変換。
- この計算は、体積の計算を面積✕高さに変換する的な話らしい。
- この際、「行列式の特性(4)」を使用するので符号が切り替わる。
固有値分解 †
- ある正方行列Aを直交行列と対角行列の積に分解する計算
- 行列の特徴が見えやすくなり、A^nの計算がラク。
- ゼロに近い固有値は行列全体に与える影響が小さいため、
この固有値を無視することで、高精度で近似計算できる。
固有値 †
λ
λは行列ではなくスカラ
固有ベクトル †
→
v ≠ 0
- λ毎にある。
- 「固有ベクトルの内の一つ」というのは、ある特定の比率になっている全ベクトルの一つの意味。
計算方法 †
- 直交行列:固有ベクトルを並べたもの。
𝑉 =┌→ → ┐
└v1 v2 ...┘
- A = 𝑉𝛬𝑉^-1
- A𝑉 = 𝑉𝛬
- A = A𝑉𝑉^-1 = 𝑉𝛬𝑉^-1
- 𝛬 = 𝑉^-1𝑉𝛬 = 𝑉^-1A𝑉
- A^n = 𝑉 𝛬^n 𝑉^-1
・AA = (𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1) = 𝑉𝛬(𝑉^-1𝑉)𝛬𝑉^-1 = 𝑉 𝛬^2 𝑉^-1
・AAA = (𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1) = 𝑉𝛬(𝑉^-1𝑉)𝛬(𝑉^-1𝑉)𝛬𝑉^-1 = 𝑉 𝛬^3 𝑉^-1
- 𝛬^n = 𝑉^-1 A^n 𝑉𝛬
・𝛬𝛬 = (𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬) = 𝑉^-1(𝑉𝛬𝑉^-1)𝑉𝛬 = 𝑉^-1 A 𝑉𝛬
・𝛬𝛬𝛬 = (𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬) = 𝑉^-1(𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1)𝑉𝛬 = 𝑉^-1 A^2 𝑉𝛬
特異値分解 †
- あるm行n列の長方行列を直交行列と対角行列の積に分解する計算
- 特異値分解では、Mが長方行列だが
𝑀^Tを掛けて𝑀𝑀^Tと正方行列化することで似たように処理する。
→ →
𝑀v = σu
→ →
𝑀^Tu = σv
- 特異値分解の利用例、白黒画像の
- 圧縮などに利用できる。
- 特異値が似ていれば分類できる可能性がある。
特異値 †
σ
特異ベクトル †
- それぞれ、
- 直交する。
- 単位ベクトル
- 大きさを変えないため。
- UV直交行列を単位行列にすると転置すると逆行列になる。
単位ベクトル †
以下の計算から各要素の二乗の合計の平方根になる。
┌x┐ ┌cx┐
c│y│=│cy│
└z┘ └cz┘
(cx)^2+(cy)^2+(cz)^2 = 1
c^2 * (x^2 + y^2 + z^2) = 1
c = 1 / √(x^2 + y^2 + z^2)
計算方法 †
- 左特異ベクトルは𝑀𝑀^T固有値分解の直交行列(転置で逆行列)
𝑈=┌→ → ┐
└u1 u2 ...┘
- 右特異ベクトルは𝑀^T𝑀の固有値分解の直交行列(転置で逆行列)
𝑉=┌→ → ┐
└v1 v2 ...┘
- 𝑀 = 𝑈𝑆𝑉^T
- 𝑀𝑉 = 𝑈𝑆𝑉^T𝑉 = 𝑈𝑆
- 𝑀^T = 𝑉𝑆^T𝑈^T
- 𝑀^T𝑈 = 𝑉𝑆^T𝑈^T𝑈 = 𝑉𝑆^T
- 𝑀𝑀^T = (𝑈𝑆𝑉^T)(𝑉𝑆^T𝑈^T) = 𝑈𝑆(𝑉^T𝑉)𝑆^T𝑈^T = 𝑈 (𝑆𝑆^T) 𝑈^T
- 𝑀^T𝑀 = (𝑉𝑆^T𝑈^T)(𝑈𝑆𝑉^T) = 𝑉𝑆^T(𝑈^T𝑈)𝑆𝑉^T = 𝑉 (𝑆^T𝑆) 𝑉^T
参考 †