Python中的几种矩阵乘法【转】
一. np.dot()
1.同线性代数中矩阵乘法的定义。np.dot(A, B)表示:
- 对二维矩阵,计算真正意义上的矩阵乘积。
- 对于一维矩阵,计算两者的内积。
2.代码
【code】
import numpy as np # 2-D array: 2 x 3 two_dim_matrix_one = np.array([[1, 2, 3], [4, 5, 6]]) # 2-D array: 3 x 2 two_dim_matrix_two = np.array([[1, 2], [3, 4], [5, 6]]) two_multi_res = np.dot(two_dim_matrix_one, two_dim_matrix_two) print('two_multi_res: %s' %(two_multi_res)) # 1-D array one_dim_vec_one = np.array([1, 2, 3]) one_dim_vec_two = np.array([4, 5, 6]) one_result_res = np.dot(one_dim_vec_one, one_dim_vec_two) print('one_result_res: %s' %(one_result_res))
【result】
two_multi_res: [[22 28] [49 64]] one_result_res: 32
二. np.multiply()或 *
1.在Python中,实现对应元素相乘(element-wise product),有2种方式,
- 一个是np.multiply()
- 另外一个是 *
2.代码
【code】
import numpy as np # 2-D array: 2 x 3 two_dim_matrix_one = np.array([[1, 2, 3], [4, 5, 6]]) another_two_dim_matrix_one = np.array([[7, 8, 9], [4, 7, 1]]) # 对应元素相乘 element-wise product element_wise = two_dim_matrix_one * another_two_dim_matrix_one print('element wise product: %s' %(element_wise)) # 对应元素相乘 element-wise product element_wise_2 = np.multiply(two_dim_matrix_one, another_two_dim_matrix_one) print('element wise product: %s' % (element_wise_2))
【result】
element wise product: [[ 7 16 27] [16 35 6]] element wise product: [[ 7 16 27] [16 35 6]]
--------------------------------------
参考链接:
- http://blog.csdn.net/u012609509/article/details/70230204
- https://blog.csdn.net/benniaofei18/article/details/84348702?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-84348702-blog-106025871.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.2&utm_relevant_index=4