【发布时间】:2020-04-30 16:22:35
【问题描述】:
置换矩阵 A 和 B 是方阵,每行仅包含一个 1。所有行都是唯一的。 我已经添加了我的第一次尝试作为答案。我希望有人有更快的解决方案。
def permmult(a, b):
"""Multiply two permutation matrices.
a,b: lists of positive integers and zero."""
c = []
for row in a:
c.append(b[-row])
return c
【问题讨论】:
-
你觉得能做到多快?
-
您能否提供一个示例输入和输出。您最初声明 A 和 B 是置换矩阵(仅包含 1 和 0)与您在代码中对变量
a,b的评论相矛盾。除非您使用 numpy 并且忘记告诉我们,否则代码假定有两个列表(不是矩阵)。此外,如果 a 和 b 仅包含 1 和 0,则生成的 c 将是 b 的第一个和最后一个元素的组合。
标签: python python-3.x binary permutation matrix-multiplication