mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* big rework of Inverse.h:
- remove all invertibility checking, will be redundant with LU - general case: adapt to matrix storage order for better perf - size 4 case: handle corner cases without falling back to gen case. - rationalize with selectors instead of compile time if - add C-style computeInverse() * update inverse test. * in snippets, default cout precision to 3 decimal places * add some cmake module from kdelibs to support btl with cmake 2.4
This commit is contained in:
5
doc/snippets/MatrixBase_computeInverse.cpp
Normal file
5
doc/snippets/MatrixBase_computeInverse.cpp
Normal file
@@ -0,0 +1,5 @@
|
||||
Matrix3d m = Matrix3d::random();
|
||||
cout << "Here is the matrix m:" << endl << m << endl;
|
||||
Matrix3d inv;
|
||||
m.computeInverse(&inv);
|
||||
cout << "Its inverse is:" << endl << inv << endl;
|
||||
@@ -1,7 +1,3 @@
|
||||
Matrix2d m = Matrix2d::random();
|
||||
Matrix3d m = Matrix3d::random();
|
||||
cout << "Here is the matrix m:" << endl << m << endl;
|
||||
Matrix2d::InverseType m_inv = m.inverse();
|
||||
if(m_inv.exists())
|
||||
cout << "m is invertible, and its inverse is:" << endl << m_inv << endl;
|
||||
else
|
||||
cout << "m is not invertible." << endl;
|
||||
cout << "Its inverse is:" << endl << m.inverse() << endl;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
Matrix4d m = Matrix4d::zero();
|
||||
m.part<Eigen::Upper>().setOnes();
|
||||
cout << "Here is the matrix m:" << endl << m << endl;
|
||||
cout << "We know for sure that it is invertible." << endl;
|
||||
cout << "Here is its inverse:" << m.quickInverse() << endl;
|
||||
@@ -1,10 +1,13 @@
|
||||
#include <Eigen/Core>
|
||||
#include <Eigen/Array>
|
||||
#include <Eigen/LU>
|
||||
|
||||
USING_PART_OF_NAMESPACE_EIGEN
|
||||
using namespace std;
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
${snippet_source_code}
|
||||
return 0;
|
||||
cout.precision(3);
|
||||
${snippet_source_code}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user