概要
- 2017年度現在最強のC++行列演算
- Eigenの行列は絶っっ対にautoでサボってはいけない!!!とてもたいへんなことになる
注意
- 行列要素を指すポインタは作るべきではない。MatrixXd::data()はダイナミックにポインタがぴょんぴょんする。
- リサイズしたら、その行列は非初期化状態となる。ポインタが移動する可能性があるため。
- コンサバリサイズしたら,リサイズした後に0を埋めないと初期化忘れになる
Jc.conservativeResize(Jc.rows()+6, Jc.cols());
Jc.block(0, 0, 6, Jc.cols()) = MatrixXd::Zero(6, Jc.cols());
eigen Affine3d affine = AngleAxisd( M_PI / 2.0 , Vector3d( 0, 1, 0 ) ); のように書くとダメだということ。 Affine3d affine; affine = AngleAxisd( M_PI / 2.0 , Vector3d( 0, 1, 0 ) ); というように書かないとだめっぽい!
a.dot(b); // a ・ b a.cross(b); // a x b
疎行列
- coeffref, insertのあとにはpruneしましょう
- Eigenの粗行列マニピュレーションの例 http://nanan.hatenablog.jp/entry/2013/12/15/152856