我想要自我转置的多个矩阵。矩阵的大小约为X [8,100]。
现在看起来" MatrixXf h = X * X.transpose()"
a)是否可以使用明确的事实使用更快的乘法:
b)另外我可以生成X矩阵作为转置并使用X.transpose()* X,我应该更喜欢我的尺寸?
c)有关此类矩阵更快倍增的任何提示。
感谢。
答案 0 :(得分:1)
(a)你的矩阵太小而无法利用结果的对称性,因为如果这样做,那么你将失去矢量化。所以你无能为力。
(b)对于该示例,默认列存储应该没问题。
(c)确保在优化ON的情况下进行编译,启用了SSE2(这是64位系统的默认设置),对于这样的大小,devel分支至少快两倍,并且您可以通过启用获得额外的加速AVX。