的documentation說:如何將行向量轉換爲Eigen中的列向量?
...在徵,向量的 矩陣,與是1行或1列只是一個特例。他們有1 列的情況是最常見的;這種向量被稱爲列向量,通常簡稱爲向量。在另一種情況下,他們有1 行,它們被稱爲行向量。
然而這一計劃產出直觀的結果:
#include <eigen3/Eigen/Dense>
#include <iostream>
typedef Eigen::Matrix<double, 1, Eigen::Dynamic> RowVector;
int main(int argc, char** argv)
{
RowVector row(10);
std::cout << "Rows: " << row.rows() << std::endl;
std::cout << "Columns: " << row.cols() << std::endl;
row.transposeInPlace();
std::cout << "Rows: " << row.rows() << std::endl;
std::cout << "Columns: " << row.cols() << std::endl;
}
輸出:
Rows: 1
Columns: 10
Rows: 1
Columns: 10
這是一個錯誤,還是我使用的庫不正確?
我添加了一個斷言的發展Eigen的分支,以防止這種(錯誤)使用。 – 2013-02-20 14:12:05