void testSVD() { const Int_t nrVar = 2; const Int_t nrPnts = 4; Double_t ay[] = {2,0,2,0}; TVectorD y; y.Use(nrPnts,ay); TMatrixD A(nrPnts,nrVar); A(0,0)=1; A(0,1)=1; A(1,0)=1; A(1,1)=1; A(2,0)=1; A(2,1)=1; A(3,0)=1; A(3,1)=1; TDecompSVD svd(A); svd.Print(); Bool_t ok; const TVectorD c_svd = svd.Solve(y,ok); c_svd.Print(); cout << "decomposed " << svd.kDecomposed << endl; cout << "condition nb " << svd.GetCondition() << endl; cout << "tolerance " << svd.GetTol() << endl; cout << "singular " << svd.kSingular << endl; }