スカラーとは
通常の数字のこと。アルファベットなどの文字も含む。
スカラーの実装
# スカラーの例 a = 1 b = 1.2 c = -0.25 d = 1.2e5 # 1.2×10の 5 乗。つまり 120000
ベクトルとは
ベクトルとは、スカラーを直線上に並べたもの。ここでは、アルファベットのアルファベットの小文字に矢印をのせたものでベクトルを表します。
ベクトルの実装
ベクトルはNumPy
の 1 次元配列を用いて表すことができます。
# ベクトルを NumPy の 1 次元配列で表す import numpy as np a = np.array([1, 2, 3]) print(a)
出力結果
[1 2 3]
行列とは
行列とはスカラーを格子状に並べたものです。
水平方向を行、垂直方向を列といいます。
は
の行列ですが、行列の要素を変数で表す際の添字の数は 2 つです。
行列の実装
Numpy を用いて行列を実装します。
import numpy as np # 2 × 3 の行列 a = np.array([[1,2,3], [4,5,6]]) print(a) # 3 × 2 の行列 b = np.array([[0.19, 0.12],[-1.1, 0.79],[0.14, -1.9]]) print(b)
出力結果
[[1 2 3]
[4 5 6]]
[[ 0.19 0.12]
[-1.1 0.79]
[ 0.14 -1.9 ]]
テンソルとは
テンソルはスカラーを複数の次元に並べたものです。スカラー、ベクトル、行列を含みます。
各要素に着く添字の数を、そのテンソルの階数といいます。スカラーには数字がありませんので、0 階のテンソル、ベクトルは 1 階のテンソル、行列は 2 階のテンソルです。3 階のテンソル、4 階のテンソルというふうに、より高次元になっていきます。
テンソルの実装
NumPy の多次元配列を用いて表現できます。
import numpy as np a = np.array([[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]], [[1, 2 ,3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]]) print(a)
出力結果
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]]
参考文献
- 我妻幸長『Python で動かして学ぶ! 数学の教科書』
- はてなブログMarkdownでTex数式を書くコツとチートシート - ari23の研究ノート
- LaTeX入門 - 数式コマンドリファレンス