numpy 向量 矩陣的乘法

2021-09-17 08:55:05 字數 1805 閱讀 2280

import numpy as np
一維向量與一維向量

#------------一維向量與一維向量------------------#

vec1 = np.array([1

,2,3

])vec2 = np.array([4

,5,6

])# np.inner() 對應位置的元素相乘相加求和

res_inner1 = np.inner(vec1, vec2)

# 32

# * 對應位置的元素相乘 成為新矩陣該位置的元素

res_star1 = vec1 * vec2 # [4,10,8]

# np.dot() 對兩個一維向量相當於 np.inner()

res_dot1 = np.dot(vec1, vec2)

# 32

res_mult1 = np.dot(vec1, vec2.t)

# 32

res_mult11 = np.dot(vec1.t, vec2)

# 32

二維矩陣與一維向量

#-----------二維矩陣與一維向量--------------#

x2 = np.array([[

1,2,

3],[

4,5,

6],[

7,8,

9]])

theta_x2 = np.array([10

,100

,1000])

# np.inner() 每一行的對應元素與向量相乘求和 最後結果為x2各行向量與theta_x2點積結果 組成的行向量

res_inner2 = np.inner(x2, theta_x2)

# [3210, 6540, 9870]

# * 對應位置的元素相乘 成為新矩陣該位置的元素

res_star2 = x2 * theta_x2 # [10 200 3000]

# [40 500 6000]

# [70 800 9000]

# np.dot() 相當於np.inner()

res_dot2 = np.dot(x2, theta_x2)

# [3210, 6540, 9870]

二維矩陣與二維矩陣

#------------二維矩陣與二維矩陣--------------------#

x3 = np.array([[

1,3,

5],[

2,4,

6],[

9,9,

9]])

theta_x3 = np.array([[

1,1,

1],[

10,10,

10],[

100,

100,

100]])

# np.inner() 沒懂

res_inner3 = np.inner(x3, theta_x3)

# [9 90 900]

# [12 120 1200]

# [27 270 2700]

# * 對應位置的元素相乘 成為新矩陣該位置的元素

res_star3 = x3 * theta_x3

# np.dot() 矩陣乘法

res_dot3 = np.dot(x3, theta_x3)

# [531 531 531]

# [642 642 642]

# [999 999 999]

Numpy 中的矩陣向量乘法

元素乘法 np.multiply a,b 矩陣乘法 np.dot a,b 或 np.matmul a,b 或 a.dot b 唯獨注意 在 np.array 中過載為元素乘法,在 np.matrix 中過載為矩陣乘法 對於np.array物件 a array 1,2 3,4 array中對應元素乘法...

NumPy 矩陣乘法

numpy 支援的幾類矩陣乘法也很重要。你已看過了一些元素級乘法。你可以使用multiply函式或 運算子來實現。回顧一下,它看起來是這樣的 m np.array 1,2,3 4,5,6 m 顯示以下結果 array 1,2,3 4,5,6 n m 0.25 n 顯示以下結果 array 0.25,...

Numpy中的矩陣乘法

對於numpy.array multiply 意思是對應位置的元素相乘 如果希望對array物件進行嚴格的矩陣乘法,必須使用numpy.dot 或者numpy.matmul 函式,這兩者是等效的 對於matrix物件上情況是相反的,必須使用np.multiply 函式。因為 過載矩陣運算規則只限於m...