我正在优化代码,这些代码严重依赖于定制的Matrix库(它不会被排除在项目之外,因为它无处不在.这不是很好,但这是事实……)许多计算是用10-的矩阵完成的20行和列,许多计算包括二次形式
C = A*B*A'
我意识到A经常是稀疏的,我想利用这个事实.所以我正在寻找一种能够处理这种情况的算法.数值稳定性很重要.有什么我可以使用的吗?
(我没有写我们的图书馆所以我不知道是否有任何陷阱我应该考虑到?)
由于“我们的”简单O(n ^ 3)乘法在目标平台上的执行速度比本征3快,因为我需要数值稳定性且矩阵不是很大,我猜Strassen的算法以及Coppersmith-Winograd算法都不是我正在寻找什么.相反,它只是二次形式乘法,让我可以轻松地检查A中的零.
谢谢你的任何建议!