【发布时间】:2010-11-27 04:50:06
【问题描述】:
我正在用 C# 实现 Goldenthal et.al 的不可扩展布料算法的实验性实现。
首先我使用 Math.NET Iridium 来组装和求解矩阵,但很快将其替换为 dnAnalytics,因为后者允许我重用矩阵,几乎消除了进一步的内存分配,这对实时性能很重要(小布)或一般的迭代求解。
问题在于 dnAnalytics 中的求解器(主要关注的是 LU 和 Bi-CG)仍在幕后分配矩阵和向量,而不是重用过去的分配。
=> 是否有任何稀疏线性代数库可以开箱即用地重用内存,还是我必须自己重写代码?
【问题讨论】:
-
你有什么新发现吗?请告诉我们!
-
很遗憾,没有。我没有在 .NET 中找到任何其他免费的求解器包(尽管有一些商业化且昂贵的 [如 MKL],但我不会投资我不会使用那么多的库)。我目前正在研究自己的求解器和稀疏矩阵存储,每次运行不会分配任何内存。
标签: c# performance memory linear-algebra sparse-matrix