Numpy入門 矩陣計算入門 (內積、外積)

應用篇

之前我們介紹了如何用Numpy製作矩陣,這次要來介紹如何用Numpy來計算矩陣。

矩陣的計算

加法,純量(scalar)乘法,內積,外積可以用下面的這些方式來計算。

ndarray的計算

首先我們來看看ndarray的功能。ndarray可以用+, -, *, / 來進行加,減,乘,除的計算。

import numpy as np

x = np.array([2, 4, 6])
y = np.array([1, 2, 3])

#加法
print(x + y)
# [3 6 9]

#減法
print(x - y)
#[1, 2, 3]

#乘法
print(x * y)
#[ 2  8 18]

#除法
print(x / y)
#[2. 2. 2.]

純量(scalar)乘法

當矩陣是跟“數字”而不是跟矩陣做乘法時我們會用到“*”

import numpy as np

x = np.array([2, 4, 6])
num = 7.5

print(x * num)
#[15. 30. 45.]

內積

如果是內積的話會用到np.dot。例如下面的範例代碼中我們可以看到x與y的內積為零,x與z的內積為44。

import numpy as np

x = np.array([2, 0, 6])
y = np.array([3, 5, -1])
z = np.array([1, 4, 7])

print(np.dot(x, y))
# 0

print(np.dot(x, z))
# 44

外積

最後要來介紹的是外積,外積與內積不同會因為計算的順序不同而有不同的答案。計算外積時我們會用到np.cross。這邊就來看看x與y的外積,以及y與x的內積的結果吧!

import numpy as np

x = np.array([2, 0, 6])
y = np.array([3, 5, -1])

print(np.cross(x, y))
# [-30  20  10]

print(np.cross(y, x))
# [ 30 -20 -10]

留言