问题标签 [strassen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - Strassen 算法证明
我一直在阅读有关矩阵乘法的 Strassen 算法。
正如 Cormen 在算法简介中提到的,该算法并不直观。但是我很想知道是否存在任何严格的算法数学证明以及算法设计的实际内容。
我尝试在 Google 和 stackoverflow 上进行搜索,但所有链接都只是比较 Strassen 的方法与标准矩阵乘法方法,或者它们详细说明了算法提出的过程。
matrix - Strassen 算法何时何地在实践中实施?
Strassen 的矩阵乘法算法何时在实际计算机上变得更有效?有没有实际实施的地方?任何参考都将受到欢迎。谢谢。
algorithm - Strassen算法的就地实现?
我设法通过索引操作实现了一个就地解决方案,用于矩阵乘法的天真的分治算法,每次重复需要 8 次递归调用。但是,在尝试实现 Strassen 算法时,我找不到就地执行它的方法。相反,我必须在使用 C 编程时为 7 个递归调用分配 19 个子矩阵。
如何就地实现 Strassen 算法?或者有可能吗?
c++ - 矩阵阻塞给出了分段错误
我正在尝试在 C++ 中实现 Strassen 算法。我想将方阵“hA”划分为 4 个相等的块。
我使用上述方法进行分区,它出现故障,如下面的输出所示。但是当我删除“if else”阶梯中的最后一个比较时,它工作正常。
为什么 'i' 有一个错误的值,甚至在循环条件之外?有没有比这种方式更方便的分区方法?
c - Strassen 算法 - 是否可以进行 pxq 矩阵乘法?
我正在尝试使用 Strassen 算法在 c 中找到一个 pxq 矩阵乘法实现。我不确定这是否可能。
在维基百科中,算法是这样写的:
但这不适用于 pxq 矩阵。这种方法是为 2x2 矩阵定义的,而不是 pxq 矩阵。为此,某种循环是必要的,但我不确定哪种循环?不可能吧?
更新:
为什么我要问这个?
我很确定 Strassen 算法是一个超快的算法(没有个人经验。只是评论)即使我必须为大型矩阵乘法(包含行数和列数)编写一些代码,然后是行数和列数每次都保持变化。所以,我需要为 pxq 矩阵写一个。所以,我想确认是否有可能......
Strassen_algorithm:http ://en.wikipedia.org/wiki/Strassen_algorithm
java - 施特拉森蛮力的失误
作为休息后的家庭作业,我们的教授要求我们找出施特拉森的算法变得比蛮力效率低的点(具体来说,在我去蛮力之前,我应该在这台机器上做多少递归?)
我在 Java 中,并且真的很难让它恢复到蛮力。我有一个跑步者课程,一个蛮力课程,一个名为 Strassen 的课程,以及一个 Strassen 本身的课程。截至目前,我只打算把 Strassen 的课放在上面。我询问用户他们想要完成多少次递归,然后我将其作为参数传递给 Strassen。这个想法是,当“深度”变得大于指定的递归次数时,它会调用蛮力方法来完成。我感觉完全迷失了,可能没有正确处理这个问题,但我们没有得到非常明确的指示,我整个星期都在尝试不同的方法,但无济于事。
c# - 如何在不额外使用内存的情况下将矩阵分成四等份?
我正在为矩阵乘法制作 Strassen 算法。该算法的基础是将矩阵 A (N * N) 划分为 A1-A4 (N / 2 * N / 2) 的四分之一。为此,我使用循环并为矩阵的每个四分之一分配内存。
有没有更简单的方法可以做到这一点,而无需额外的矩阵?(例如 A1=A [0 ... (n / 2)-1, 0 ... (n / 2)-1])?
java - java中的Strassen算法并行实现
我正在尝试以顺序和并行方式实现 Strassen 矩阵乘法算法。我希望以下代码并行运行,但我没有并行编程经验。
我在网上搜索并找到了可能的解决方案并重新排列了代码:
当我为少量数组维度(如 2、4、8、16)运行程序时,它的工作时间几乎与顺序版本相同。对于像 100、1000 这样的大尺寸,它计算结果的时间比顺序版本要长得多。我的并行实现错了吗?
python-2.7 - 如何使用numpy在python中将矩阵分成4个象限
我是 Python 新手。我正在尝试实现 Strassen 算法。在我的实现中,矩阵的大小始终是 2 的幂。那么,如何将矩阵划分为 4 个大小相等的象限?谢谢
python - 在 Python 中实现 Strassen 算法的困难
我不明白如何递归调用我的代码。到目前为止,这是我的代码:
我正在尝试减少a
to[[5,5],[6,6]]
和b
to[[5,5],[6,6]]
但出现错误:
a
并且b
是第一个 2x2 矩阵,将在 A 和 B 的第二次全矩阵除法之后形成。请有人向我解释一下。谢谢