【发布时间】:2016-01-08 07:01:02
【问题描述】:
所以我有两个矩阵,一个是 I×H,另一个是 I×I,其中 H = M*I。我想取第一个矩阵的前 M 行与第二个矩阵的第一行的点积,接下来的 M 行与第二个矩阵的下一行,等等。
有人知道在 NumPy 中执行此操作的简单方法吗?我试图避免循环。
【问题讨论】:
-
你有没有尝试过?
-
如您所写,第一个矩阵将有 I 行和 H=M * I 列。你的意思是反过来吗? (H=M * I 行和 I 列)?
-
顺序不是很重要。我的问题更多是索引问题。但是,是的,HxI dot IxI。
-
@Divakar 我尝试从原始对角矩阵生成块对角矩阵并将第二个变平。这给出了所需的结果,但有很多乘以零。我尝试使用
scipy.sparse.block_diag生成稀疏矩阵,但无法传递矩阵列表。 -
我了解您正在尝试避免循环,但可能会使用循环来实现它,如果速度很慢,请尝试删除循环。
标签: python arrays numpy linear-algebra