mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-15 07:10:37 +08:00
fabaa6915b
Derived to MatrixBase. * the optimization of eval() for Matrix now consists in a partial specialization of ei_eval, which returns a reference type for Matrix. No overriding of eval() in Matrix anymore. Consequence: careful, ei_eval is no longer guaranteed to give a plain matrix type! For that, use ei_plain_matrix_type, or the PlainMatrixType typedef. * so lots of changes to adapt to that everywhere. Hope this doesn't break (too much) MSVC compilation. * add code examples for the new image() stuff. * lower a bit the precision for floats in the unit tests as we were already doing some workarounds in inverse.cpp and we got some failed tests.
14 lines
504 B
C++
14 lines
504 B
C++
MatrixXd m(3,3);
|
|
m << 1,1,0,
|
|
1,3,2,
|
|
0,1,1;
|
|
cout << "Here is the matrix m:" << endl << m << endl;
|
|
LU<Matrix3d> lu(m);
|
|
// allocate the matrix img with the correct size to avoid reallocation
|
|
MatrixXd img(m.rows(), lu.rank());
|
|
lu.computeImage(&img);
|
|
cout << "Notice that the middle column is the sum of the two others, so the "
|
|
<< "columns are linearly dependent." << endl;
|
|
cout << "Here is a matrix whose columns have the same span but are linearly independent:"
|
|
<< endl << img << endl;
|