documentation का कहना है:Eigen में पंक्ति वेक्टर से कॉलम वेक्टर को कैसे परिवर्तित करें?
... Eigen में, वैक्टर सिर्फ मेट्रिसेस, या तो 1 पंक्ति या 1 स्तंभ के साथ का एक विशेष मामला है। वह मामला जहां उनके पास 1 कॉलम सबसे आम है; ऐसे वैक्टर को कॉलम-वेक्टर कहा जाता है, अक्सर विक्टर के रूप में संक्षेप में संक्षिप्त होता है। दूसरे मामले में जहां उनके पास 1 पंक्ति है, उन्हें पंक्ति-वैक्टर कहा जाता है।
हालांकि इस कार्यक्रम आउटपुट unintuitive परिणाम:
#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
यह एक बग है, या मैं पुस्तकालय को गलत तरीके से उपयोग कर रहा हूँ?
मैं विकास के लिए एक ज़ोर जोड़ा इस (गलत) उपयोग के खिलाफ सुरक्षा के लिए ईजिन की शाखा। –