arrays - 检查方阵是否满秩的最有效方法

标签 arrays algorithm matrix rank

我目前正在处理一个问题,我必须定期检查大量 (1000+) 8x8 方阵以查看它们是否满秩。

我实际上对排名不感兴趣,只关心它是否是最大值。找出最有效的算法是什么?

--编辑-- 有关矩阵的更多信息:不幸的是,它们是任意的;既不对称也不稀疏。不仅如此,还有一些系数是双曲线函数的评估值,因此通常是非常大的数。问题的符号版本已经得到处理,尽量简化行和列(并尝试用 tanh 替换尽可能多的 sinh 和 cosh。)

最佳答案

使用Gaussian elimination将矩阵转换为三角矩阵。如果在此过程中任何对角线元素变为0,则矩阵的秩较小。

因为你有这么多独立的矩阵,你可以很容易地进行并行计算(简单 = 线程之间的最小同步)。

关于arrays - 检查方阵是否满秩的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072080/

相关文章:

javascript - 在不同数字的数组中查找平均值

c - 打印字符串中偶数和奇数字符的程序

java - 关于调查 "The Effect of Hardware Variances on the Performance of the Merge Sort Algorithm"的初步研究方法论的评论

R - 如何将 2 个成对向量组合成矩阵

c - 如何在 C 中 memcpy 二维数组的一部分?

ruby - ruby 之和为N的K个数的可能方程的数量

arrays - 如何从蛮力算法转向智能算法?

使用两个因子重新排列 R 中的矩阵

matlab - 矩阵 "Zigzag"重新排序

javascript - 我是否需要添加属性才能获得所需的输出?