兩個向量的交叉積
Numpy 為計算向量交叉產品提供了 cross
功能。向量 [1, 0, 0]
和 [0, 1, 0]
的叉積是 [0, 0, 1]
。Numpy 告訴我們:
>>> a = np.array([1, 0, 0])
>>> b = np.array([0, 1, 0])
>>> np.cross(a, b)
array([0, 0, 1])
正如所料。
雖然交叉產品通常僅針對三維向量定義。但是,Numpy 函式的任何一個引數都可以是兩個元素向量。如果向量 c
作為 [c1, c2]
給出,則 Numpy 將零賦值給第三維:[c1, c2, 0]
。所以,
>>> c = np.array([0, 2])
>>> np.cross(a, c)
array([0, 0, 2])
與作為 Numpy 函式和 ndarray
方法同時存在的 dot
不同 ,cross
僅作為獨立函式存在:
>>> a.cross(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'cross'