私は、固有のチュートリアルを閲覧している)H.transposeのような乗算最適化(移調持っていることが 「注意は言った:BLASユーザーはパフォーマンスの心配のために、Cのような表情。 noalias() - = 2 * a.adjoint()* b;は完全に最適化され、単一のgemmのような関数呼び出しを引き起こします。は固有の自己 <a href="https://eigen.tuxfamily.org/dox-devel/group__TutorialMatrixArithmetic.html" rel="nofollow">https://eigen.tuxfamily.org/dox-devel/group__TutorialMatrixArithmetic.html</a></p> <p>で* H
しかし、H.transpose()* Hのような計算は、結果が対称行列であるため、通常のA * Bと同じ半分の時間で済むはずですが、テストではH.transpose()* H spend H.transpose()* B.と同じ時間は、opencvのような固有の最適化を持っています。同様の機能を持っています。
私はベクトル化を中断します対称の最適化を知って、私はちょうど固有の
これは間違いなく私が欲しいものですが、私は正しいテストをしましたが、私のテストでは思っています Z.sefladjointView().rankUpdate(H); mean Z + = H * H ' 私は正しいですか? –
右、H '* Hが必要な場合は、 '.rankUpdate(H.adjoint());'を呼び出します。 – ggael
もう一度ご迷惑をおかけして申し訳ありません。私はH * A * H 'を計算する問題に遭遇しました。これはA = A'なので、それを加速する方法はありますか? –