18,010 views
この記事は最終更新から 2363日 が経過しています。
以下のなす角45度の二つのベクトルの内積を求める。
a = ( 3 , 3 )
b = ( 5 , 0 )
>>> import numpy as np >>> a = np.array([3, 3]) >>> a array([3, 3]) >>> b = np.array([5, 0]) >>> b array([5, 0])
numpyでは、ベクトルの内積を numpy.dot で求められる。
>>> np.dot(a, b) 15
検算のため、これを |a||b|cos(Θ) で求めてみる。
>>> da = np.linalg.norm(a)
>>> da
4.2426406871192848
>>> db = np.linalg.norm(b)
>>> db
5.0
>>> rad = np.pi * 45 / 180
>>> rad
0.7853981633974483
>>>
>>> da * db * np.cos(rad)
14.999999999999998
ちなみに numpy.linalg.norm はベクトル長を求めることができる。
>>> v = np.array((1,1))
>>> np.linalg.norm(v)
1.4142135623730951
行列の積も numpy.dot で求められる。
>>> a=np.array([[1,2,3],[4,5,6]])
>>> a
array([[1, 2, 3],
[4, 5, 6]])
>>> b=np.array([[1,3,5,7],[2,4,6,8],[4,5,6,7]])
>>> b
array([[1, 3, 5, 7],
[2, 4, 6, 8],
[4, 5, 6, 7]])
>>> np.dot(a,b)
array([[ 17, 26, 35, 44],
[ 38, 62, 86, 110]])
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2026-04-19: 1回 2026-04-18: 0回 2026-04-17: 0回 2026-04-16: 0回 2026-04-15: 0回 2026-04-14: 1回 2026-04-13: 0回