00001 #include <TooN/SVD.h>
00002 #include <TooN/helpers.h>
00003 using namespace TooN;
00004 using namespace std;
00005
00006 int main()
00007 {
00008 Matrix<3, 4> m = Zeros;
00009 m[0] = makeVector(1, 2, 3, 4);
00010 m[1] = makeVector(1, 1, 1, 1);
00011 m[2] = makeVector(3, 2, 6, 7);
00012
00013 cout << m << endl;
00014
00015 SVD<-1, -1> svdm(m);
00016
00017 Matrix<3,4> temp =diagmult(svdm.get_diagonal(), svdm.get_VT());
00018
00019 cout << svdm.get_U() * temp << endl;
00020
00021 Matrix<4,3> m2 = m.T();
00022 SVD<-1,-1> svdm2(m2);
00023
00024 cout << svdm2.get_U() * diagmult(svdm2.get_diagonal(), svdm2.get_VT()) << endl;
00025
00026
00027
00028
00029
00030 }