我有一个维度m
的矩阵3329×3329
,其中包含许多零字段,我想计算m^9
。
在使用matrix
包(Data.Matrix
易于使用)尝试此操作后,我认为稀疏矩阵可以在内存使用方面以及可能的计算速度方面更好地表示这一点。所以我试图弄清楚如何使用hmatrix
包。我已经设法创建了一个稀疏矩阵:
module Example where
import Numeric.LinearAlgebra as LA
assocExample :: AssocMatrix
assocExample = [((0,0), 1),((3329,5),1)]
sparseExample :: GMatrix
sparseExample = LA.mkSparse assocExample
此时我的问题似乎是我有GMatrix
,但对于乘法运算符(<>)
,我需要Matrix t
。
通过查看关于hackage的hmatrix文档,我没有设法弄清楚如何在这里获得Matrix t
。
我也很快注视introduction to hmatrix,但是sparse
这个词甚至没有被提及。
我的预感是这应该很容易做到,但我错过了一些简单的事情。
答案 0 :(得分:1)
编辑:如果您这样做,请在此处发表评论:https://github.com/albertoruiz/hmatrix/issues/162(也证实了我上面的陈述)