<p>我正在尝试为线性代数创建几个函数,但完全陷入了矩阵乘法。下面是我的工作解决方案,但是否有可能更干净的解决方案</p>
<pre><code>def matrix_multiplication(a, b):
# Transpose matrix b
bT = list(zip(*b))
# Multiply the two
return [[sum([a[ai][j] * bT[bTi][j] for j in range(len(a[ai]))]) for bTi in range(len(bT))] for ai in range(len(a))]
</code></pre>
<p>如果您试图提出自己的计算矩阵的方法,可能是您的循环可以工作,但更标准的“更干净”的方法是使用“numpy”模块</p>
<pre><code>import numpy as np
A = np.array([[1,2,3],[2,3,4],[3,4,5]])
b = np.array([[1,-1,1]])
#Transposing
b = np.transpose(b)
c = np.matmult(A,b)
</code></pre>