【发布时间】:2020-11-21 02:15:24
【问题描述】:
我需要在 Julia 中将两个布尔矩阵相乘。
简单地执行A*A 或A^2 会返回一个Int64 矩阵。
有没有办法有效地乘法布尔矩阵?
【问题讨论】:
-
你想要元素明智的乘法吗?布尔矩阵的矩阵乘法应该返回
Int的矩阵。 -
我需要布尔矩阵乘法,如此处所述en.wikipedia.org/wiki/Boolean_matrix。 IE。
AB[i,j] = any([A[i,k] & B[k,j] for k in 1:N])其中 N 是被相乘的索引的大小。 -
Julia 没有内置函数(这不是标准)。也就是说,您基本上可以在您刚刚编写的内容周围放置 2 个 for 循环,您将获得一个有效的方法。 (特别是如果您使用
LoopVectorization进行循环)。
标签: boolean julia matrix-multiplication