2017-01-02 6 views
1

Eigenマトリックスの行(または列)をコピーしないでどのように並べ替えることができますか? Eigen::Mapを使用してデータをコピーせずにそれらの形状を変更することができますので、順序を変更する方法がいくつかあると仮定していますが、ドキュメントに例がないようです。固有リオーダーコピーなしの行

+1

'Eigen :: Map'は何も並べ替える必要がないので、コピーを使わずに変形することができます。これは、行または列の置換には適用されません。 – Sneftel

+1

'swap'は速いと思われます(https://eigen.tuxfamily.org/dox/AsciiQuickReference.txtを参照)。 –

答えて

2

PermutationMatrixまたはTranspositions matrixで行列を掛けることができます。 P * Aを掛けた場合、Aの行はPのインデックスに従って置換されます。製品自体は怠惰である、すなわち、必要なときにのみ評価される(しかし、より複雑な表現を評価する際に、一時的な構成が構築されているときに強い保証はない)。