Eigenでベクトル

宣言の仕方

Eigenではベクトルは行列の特殊なケースとみなされている。
普通はベクトルは列ベクトルである。

typedef Matrix<float, 3, 1> Vector3f;

つまり、
$\begin{pmatrix}x\\y\\z\end{pmatrix}$
行ベクトル
$\begin{pmatrix}x&y&z\end{pmatrix}$
にしたいのならばこんなのがある。

typedef Matrix<int, 1, 2> RowVector2i;

RowVectorという型を使えばいい。

要素へのアクセス

普通に配列っぽくアクセスできる。

VectorXf v(3);
v[0]=1;

または()でアクセスする
VectorXf v(3);
v(0)=1;

参考にしたページ

TutorialMatrixVectors

サポートサイト Wikidot.com