1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#include "Svd.h"
#include "Matrix.h"
#include "Vector.h"
int main()
{
typedef PsimagLite::Matrix<double> MatrixType;
MatrixType a(4, 2);
a(0, 0) = 2;
a(0, 1) = 4;
a(1, 0) = 1;
a(1, 1) = 3;
std::cout << "A\n";
std::cout << a;
MatrixType m(a);
PsimagLite::Vector<double>::Type s;
MatrixType vt;
PsimagLite::Svd<double> svd;
svd('A', a, s, vt);
std::cout << "U\n";
std::cout << a;
std::cout << "S\n";
std::cout << s;
std::cout << "\n\nFallback\n";
PsimagLite::Svd<double> svdFallback("gesvd");
svdFallback('A', m, s, vt);
std::cout << "U\n";
std::cout << m;
std::cout << "S\n";
std::cout << s;
}
|