Commit b5f17c4f authored by Jesse Mapel's avatar Jesse Mapel
Browse files

Added sparse unit test for LeastSquares

parent 9edee0e4
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -29,5 +29,15 @@ Number of Knowns = 7
  tre = 1.88318		1.88318
  x =   1.65888		1.65888
  y =   1.43458		1.43458
---
*** TEST 4:  SAME 3 POINTS, SPARSE ***
3, 2
Number of Knowns = 3
        SPARSE
  one = 3.08
  two = 0.94
  tre = 1.9
  x =   1.66
  y =   1.42

**ERROR** No solution available because no input data was provided.
+21 −0
Original line number Diff line number Diff line
@@ -117,6 +117,27 @@ int main() {
    cerr << "  tre = " << evalSVD3 << "\t\t" << evalQRD3 << endl;
    cerr << "  x =   " << xcoefSVD << "\t\t" << xcoefQRD << endl;
    cerr << "  y =   " << ycoefSVD << "\t\t" << ycoefQRD << endl ;
    cerr << "---" << endl;

    cerr << "*** TEST 4:  SAME 3 POINTS, SPARSE ***" << endl;
    Isis::LeastSquares sparse(b, true, 3, 2, false);
    sparse.AddKnown(one, 3.0);
    sparse.AddKnown(two, 1.0);
    sparse.AddKnown(tre, 2.0);
    int sparseKnowns = sparse.Knowns();;
    sparse.Solve(Isis::LeastSquares::SPARSE);
    double evalSPARSE1 = sparse.Evaluate(one);
    double evalSPARSE2 = sparse.Evaluate(two);
    double evalSPARSE3 = sparse.Evaluate(tre);
    double xcoefSPARSE = b.Coefficient(0);
    double ycoefSPARSE = b.Coefficient(1);
    cerr << "Number of Knowns = " << sparseKnowns << endl;
    cerr << "        SPARSE" << endl;
    cerr << "  one = " << evalSPARSE1 << endl;
    cerr << "  two = " << evalSPARSE2 << endl;
    cerr << "  tre = " << evalSPARSE3 << endl;
    cerr << "  x =   " << xcoefSPARSE << endl;
    cerr << "  y =   " << ycoefSPARSE << endl ;
  }
  catch(Isis::IException &e) {
    e.print();