python矩陣相乘函數(shù),python中相乘函數(shù)

python矩陣乘法是什么?

python實(shí)現(xiàn)矩陣乘法的方法

在仙居等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),仙居網(wǎng)站建設(shè)費(fèi)用合理。

def matrixMul(A, B):

res = [[0] * len(B[0]) for i in range(len(A))]

for i in range(len(A)):

for j in range(len(B[0])):

for k in range(len(B)):

res[i][j] += A[i][k] * B[k][j]

return res

def matrixMul2(A, B):

return [[sum(a * b for a, b in zip(a, b)) for b in zip(*B)] for a in A]

a = [[1,2], [3,4], [5,6], [7,8]]

b = [[1,2,3,4], [5,6,7,8]]

print matrixMul(a,b)

print matrixMul(b,a)

乘積形式

除了上述的矩陣乘法以外,還有其他一些特殊的“乘積”形式被定義在矩陣上,值得注意的是,當(dāng)提及“矩陣相乘”或者“矩陣乘法”的時候,并不是指代這些特殊的乘積形式,而是定義中所描述的矩陣乘法。在描述這些特殊乘積時,使用這些運(yùn)算的專用名稱和符號來避免表述歧義。

python實(shí)現(xiàn)矩陣乘法的方法

python實(shí)現(xiàn)矩陣乘法的方法

本文實(shí)例講述了python實(shí)現(xiàn)矩陣乘法的方法。分享給大家供大家參考。

具體實(shí)現(xiàn)方法如下:

def matrixMul(A, B):

res = [[0] * len(B[0]) for i in range(len(A))]

for i in range(len(A)):

for j in range(len(B[0])):

for k in range(len(B)):

res[i][j] += A[i][k] * B[k][j]

return res

def matrixMul2(A, B):

return [[sum(a * b for a, b in zip(a, b)) for b in zip(*B)] for a in A]

a = [[1,2], [3,4], [5,6], [7,8]]

b = [[1,2,3,4], [5,6,7,8]]

print matrixMul(a,b)

print matrixMul(b,a)

print "-"*90

print matrixMul2(a,b)

print matrixMul2(b,a)

print "-"*90

from numpy import dot

print map(list,dot(a,b))

print map(list,dot(b,a))

#Out:

#[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]]

#[[50, 60], [114, 140]]

#------------------------------------------------------------------------

#[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]]

#[[50, 60], [114, 140]]

#------------------------------------------------------------------------

#[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]]

#[[50, 60], [114, 140]]

希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。

在python3里怎么實(shí)現(xiàn)兩個矩陣相乘

def mmult(a,b):

zip_b = zip(*b)

return [[sum(ele_a*ele_b for ele_a, ele_b in zip(row_a, col_b))

for col_b in zip_b] for row_a in a]

x = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

y = [[1,2],[1,2],[3,4]]

print(mmult(x,y))

或者可以直接用numpy

import numpy as np # I want to check my solution with numpy

mx = np.matrix(x)

my = np.matrix(y)

print(mx * my)

網(wǎng)站標(biāo)題:python矩陣相乘函數(shù),python中相乘函數(shù)
URL分享:http://muchs.cn/article18/hcicdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、定制網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站排名、關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)