矩陣相乘的實現 python

2021-09-13 17:52:57 字數 795 閱讀 4245

import numpy as np

def matrix_multi(m1,m2):

# 首先建立乙個值都是0的矩陣,矩陣形狀是矩陣1的行數和矩陣2的列數組成

results = np.zeros((m1.shape[0],m2.shape[1]))

# 判斷矩陣1的列和矩陣2的行數是否相同,如果不相同,則兩個矩陣無法相乘,就直接返回

if m1.shape[1] != m2.shape[0]:

return

# 首先遍歷矩陣1的行

for i in range(m1.shape[0]):

# 這是遍歷矩陣2的列

for j in range(m2.shape[1]):

sum = 0

# 這裡遍歷矩陣1的列 和遍歷矩陣2的行都可以,因為他們是相同的

for k in range(m2.shape[0]):

# 把對應位置相乘並相加後得到的值放入指定位置

sum += (m1[i][k] * m2[k][j])

results[i][j] = sum

return results

m1 = np.array([[1,2],[3,4],[4,5]]) # 3x2

m2 = np.array([[2],[5]]) # 2x1

print(matrix_multi(m1,m2))

# 結果是: 3行 1列

# [[12.]

[26.]

[33.]]

Java實現矩陣相乘

首先我們要知道二維陣列就是類似於我們線性代數中的矩陣,矩陣的乘法運算大概是這樣 滿足條件,第乙個矩陣的列數等於第二個矩陣的行數 由兩個矩陣相乘的矩陣的每乙個元素是由第乙個矩陣每一行元素分別乘上第二個矩陣的列 對應的元素在相加 當矩陣a的列數等於矩陣b的行數時,a與b可以相乘。矩陣c的行數等於矩陣a的...

MPI實現矩陣相乘

配置mpi 配置目錄,即載入include和lib庫 載入依賴項 3.編譯 根據程式設計員的習俗先從乙個helloworld開始 include mpi.h include int main int argc,char ar 4.mpi 矩陣相乘 接下來便開始我們的主題 實際的思想是使用0程序將矩陣...

矩陣相乘 高效實現方法

假如有兩個矩陣m,n相乘,q m x n,m是m1 x n1矩陣,n是 m2 x n2。只有當n1 m2時,才可以進行兩個矩陣的相乘。一般的做法是 1 我們用兩個二維陣列分別存放 m 和 n 然後再用乙個二維陣列 存放 q。實現 q m x n的演算法如下 下標從1開始 for i 1 i m1 i...