我正在尝试为线性代数创建几个函数,但完全陷入了矩阵乘法。下面是我的工作解决方案,但是否有可能更干净的解决方案
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))]
Tags:
如果您试图提出自己的计算矩阵的方法,可能是您的循环可以工作,但更标准的“更干净”的方法是使用“numpy”模块
首先,如果您想将其用于学习目的,我只建议您从头开始创建线性代数库。否则,您应该使用numpy.linalg或类似的东西
假设您想从头开始做这件事,我建议您使用面向对象的编程方法。这意味着创建自己的矩阵类
您可以尝试类似于此博客的内容:https://towardsdatascience.com/how-to-build-a-matrix-module-from-scratch-a4f35ec28b56
相关问题 更多 >
编程相关推荐