ベクトル(vector)の基本ルール整理
前書き
- ルールと共にpythonとjuliaのコードを添えていきます
import numpy as np
# あとで書く
ベクトルについて
スカラー(scalar)
- 大きさだけしか持たない数
ベクトル(vector)
ノルム(norm)
- ベクトルの大きさを指す
- 表し方:$|\vec a|, |\Bbb a|$
単位ベクトル(unit vector)
- 大きさが $1$ のベクトル
- 表し方:$e$ で表すことが多い?
- つまるところ $|e| = 1$ となります
逆ベクトル(inverse vector)
- 大きさが等しく向きが反対のベクトル
- 表し方:$- \Bbb a$
- つまるところ $\Bbb a + (- \Bbb a) = 0$ となります
ゼロベクトル(zero vector / null vector)
- 大きさが $0$ のベクトル
- 表し方:$0$
- $a + 0 = a$ あるベクトルにゼロベクトルを足しても変化しない
ベクトルの計算ルール
- 基本的に『スカラーと同様に扱って良い』という事が結論となります
- しかし「ベクトル同士の掛け算」だけは異なり注意する必要があります
同じ次元のベクトル同士の足し算は同じ位置にある成分同士の足し算となる
$$ \Bbb a + \Bbb b = \begin{pmatrix} \Bbb a_1 + \Bbb b_1 & \Bbb a_2 + \Bbb b_2 & \dots & \Bbb a_n + \Bbb b_n \end{pmatrix} $$
a = np.array([[1,2,3]]) b = np.array([[4,5,6]]) a + b # array([[5, 7, 9]])
同じ次元のベクトルの足し算において交換法則、結合法則が成り立つ
$$ \Bbb a + \Bbb b = \Bbb b + \Bbb a $$
$$ (\Bbb a + \Bbb b) + \Bbb c = \Bbb a + (\Bbb b + \Bbb c) $$
ベクトルをスカラー倍することは可能ですべての成分をスカラー倍したベクトルとなる。割り算は『スカラー分の1』を掛け算すると考える
$$ pa = \begin{pmatrix} pa_1 & pa_2 & \dots & pa_n \end{pmatrix} $$
$$ a / p = a \dfrac{1}{p} = \begin{pmatrix} \dfrac{1}{p} a_1 & \dfrac{1}{p} a_2 & \dots & \dfrac{1}{p} a_n \end{pmatrix} $$
ベクトルの和とスカラー倍の計算については分配法則が成り立つ。また、スカラー倍が複数箇所ある場合においては結合法則が成り立つ
$$ (p + q)a = pa + qa $$
$$ p(a + b) = pa + pb $$
$$ (pq)a = p(qa) $$
ベクトルの1倍、−1倍、0倍もスカラーと同様の扱い
$$ 1a = a $$
$$ (-1)a = -a $$
$$ 0a = 0 $$
ベクトル同士の掛け算に類するものとして、内積および外積があり、統計学と機械学習では高密度に記述するために内積が用いられる
$$ ab \tag{存在しない} $$
$$ a \cdot b \tag{内 積} $$
$$ a \times b \tag{外 積} $$
計算ルールが成り立つことの証明
- 追記していく