1. Home
  2. プログラマーのための線形代数
  3. ベクトルの演算
  4. ベクトルの割り算

ベクトルの割り算

線形代数においてベクトルの割り算は基本的な演算の一つです。このページではベクトルの割り算について以下のことを解説します。

当ページでわかること

  • ベクトルの割り算とは何か
  • ベクトルの割り算のやり方
  • Pythonでベクトルの割り算

ベクトルの割り算とは

ベクトルとは」では、プログラマーにとってベクトルはデータであり数値のリストであるということを解説しました。物理学や数学ではベクトルは「長さと向きをもつ矢印」であると考えますが、データサイエンスにおいては単なるデータです。

これ以上でも以下でもありません。

そのため物理学や数学では、ベクトルの割り算は 2 つの矢印から新しい別の矢印を作るものですが、私たちプログラマーは基本的にそのように幾何学的に考えることはありません。

プログラマーにとってベクトルの割り算とは、「機械学習のためのデータの準備などの何らかの目的で、同じサイズのベクトル(データ)同士で割り算を行って、同じサイズの新しいベクトル(データ)を作る手段」に過ぎないのです。

ベクトルの割り算のイメージ

以上がプログラマーにとってのベクトルの割り算です。

ベクトルの割り算のやり方

ベクトルの割り算は非常に簡単です。以下の 2 つのベクトル \(a\) と \(b\) を割り算すると、それぞれ同じ場所の要素同士で演算を行います。

\[\begin{eqnarray}
a&=&
\begin{pmatrix}
a_1 & a_2 & a_3
\end{pmatrix}\\
b&=&
\begin{pmatrix}
b_1 & b_2 & b_3
\end{pmatrix}\\
a \div b&=&
\begin{pmatrix}a_1 \div b_1 & a_2 \div b_2 & a_3 \div b_3\end{pmatrix}
\end{eqnarray}\]

たとえば、次のようになります。

\[\begin{eqnarray}
a&=&
\begin{pmatrix}
1 & 2 & 3
\end{pmatrix}\\
b&=&
\begin{pmatrix}
1 & 2 & 3
\end{pmatrix}\\
a \div b&=&
\begin{pmatrix}
1 & 1 & 1
\end{pmatrix}
\end{eqnarray}\]

なおベクトルの割り算はお互いの要素の数が同じである場合のみ可能です。お互いのベクトルの要素の数が異なる場合は割り算はできません。

Pythonでベクトルの割り算

Python では NumPy で作成した配列同士を / 演算子で繋ぐことでベクトルの割り算ができます。以下のコードをご覧ください。

In [1]:
# NumPy のインポート
import numpy as np

# 1つ目のベクトルの定義
a = np.array([1, 2, 3])
print(a)
[1 2 3]
In [2]:
# 2つ目のベクトルの定義
b = np.array([0.1, 0.2, 0.3])
print(b)
[0.1 0.2 0.3]
In [3]:
# ベクトルの掛け算
c = a / b
print(c)
[10. 10. 10.]