2014-02-12 35 views

回答

1

这应该可以解决性能问题:

MatrixXcd::Map<MatrixXcd> m1(reinterpret_cast<complex<double>*>(m1f), n1, n2); 

问题是您将Map对象分配给Matrix对象。这迫使Eigen 映射矩阵复制到由Matrix对象分配的内存中。

另外,您可能要考虑使用MatrixXcd::Map<MatrixXcd, Aligned>。这告诉Eigen m1f指向的内存已正确对齐矢量化。但是,当然你必须确保你的记忆确实符合Eigen的要求。

+0

说这个错误: – user3302427

+0

在这条线上的多个标记 \t - 预期';'前 'Load_mat' \t - 语句无法解析重载 \t功能 – user3302427

+0

MatrixXcd地址::地图 Load_mat(reinterpret_cast的<复杂 *>(输入3),W,H); – user3302427