我正在寻找一个对大型稀疏矩阵执行矩阵运算的库,而不会牺牲数值稳定性。矩阵将是1000+乘1000+,矩阵的值将在0到1000之间。我将执行索引计算算法(en.wikipedia.org/wiki/Index_calculus_algorithm),因此我将生成(稀疏)行向量矩阵连续。当我开发每一行时,我将需要测试线性独立性。一旦我用所需数量的线性独立向量填充矩阵,我就需要将矩阵转换为缩减行梯形。
现在的问题是我的实现使用高斯消元法来确定线性独立性(一旦找到所有行向量,确保行梯形形式)。但是,考虑到矩阵的密度和大小,这意味着每个新行中的条目随着时间的推移变得呈指数级增大,因为必须找到前导条目的1cm才能执行取消。找到矩阵的简化形式进一步加剧了这个问题。
所以我的问题是,是否有算法,或者更好的实现,可以测试线性独立性并解决减少的行梯形形式,同时保持条目尽可能小?线性独立性的有效测试尤为重要,因为在索引计算算法中,它的执行时间最多。
提前致谢!
答案 0 :(得分:0)
通常,如果您使用大型矩阵,人们会使用LAPACK:此库包含所有基本矩阵例程,并支持许多不同的矩阵类型(稀疏,...)。您可以使用此库来实现您的算法,我认为它会帮助您