00001 #include <cstdlib> 00002 #include <cmath> 00003 #include <iostream> 00004 #include <TooN/TooN.h> 00005 #include <TooN/LU.h> 00006 00007 using namespace TooN; 00008 using namespace std; 00009 00010 00011 int main() 00012 { 00013 Matrix<-1,5,float> m(5,5); 00014 00015 for(int i=0; i< m.num_rows(); i++) 00016 for(int j=0; j< m.num_rows(); j++) 00017 m[i][j] = drand48(); 00018 00019 00020 LU<-1,float> mlu(m); 00021 Matrix<5,5,float> a = m*mlu.get_inverse(); 00022 00023 for(int i=0; i< m.num_rows(); i++) 00024 for(int j=0; j< m.num_rows(); j++) 00025 { 00026 if(round(a[i][j]) < 1e-10) 00027 a[i][j] = 0; 00028 } 00029 00030 cout << a; 00031 00032 00033 00034 }