我在Eigen中使用稀疏矩阵,并且观察到以下行为:
我有以下具有稀疏矩阵列的稀疏矩阵
A [1,766,548 x 3,079,008]
,其中包含105,808,194
个非零元素和
B [3,079,008 x 1,766,548]
和9,476,108
个非零元素
我计算点积AxB
大约需要8秒钟。
当我想计算transpose(Β) x transpose(A)
时,计算成本似乎增加了很多。实际上,这大约需要2500秒。
请注意,我从文件中加载了转置表,并且不使用Eigen转置它们。
我没想到这两种方法具有完全相同的计算成本,但是我并不真正理解执行时间上的差异,因为在这两种方法中,两种矩阵都具有完全相同数量的非零元素。
我正在使用g ++ 7.4和Eigen 3.3.7