IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 1, 2005, 1:36:23 PM (21 years ago)
Author:
gusciora
Message:

....

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/math/psMinimize.c

    r5624 r5655  
    1010 *  @author EAM, IfA
    1111 *
    12  *  @version $Revision: 1.146 $ $Name: not supported by cvs2svn $
    13  *  @date $Date: 2005-11-30 02:00:09 $
     12 *  @version $Revision: 1.147 $ $Name: not supported by cvs2svn $
     13 *  @date $Date: 2005-12-01 23:36:23 $
    1414 *
    1515 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    17561756    }
    17571757
    1758     // does the solution in place
    1759     psGaussJordan (A, B);
    1760 
    1761     // the first nTerm entries in B correspond directly to the desired
    1762     // polynomial coefficients.  this is only true for the 1D case
    1763     for (int k = 0; k < nTerm; k++) {
    1764         myPoly->coeff[k] = B->data.F64[k];
    1765     }
     1758    // GaussJordan version
     1759    if (0) {
     1760        // does the solution in place
     1761        psGaussJordan (A, B);
     1762
     1763        // the first nTerm entries in B correspond directly to the desired
     1764        // polynomial coefficients.  this is only true for the 1D case
     1765        for (int k = 0; k < nTerm; k++) {
     1766            myPoly->coeff[k] = B->data.F64[k];
     1767        }
     1768    } else {
     1769        // LUD version of the fit
     1770        psImage *ALUD = NULL;
     1771        psVector* outPerm = NULL;
     1772        psVector* coeffs = NULL;
     1773
     1774        ALUD = psImageAlloc(nTerm, nTerm, PS_TYPE_F64);
     1775        ALUD = psMatrixLUD(ALUD, &outPerm, A);
     1776        coeffs = psMatrixLUSolve(coeffs, ALUD, B, outPerm);
     1777        for (int k = 0; k < nTerm; k++) {
     1778            myPoly->coeff[k] = coeffs->data.F64[k];
     1779        }
     1780        psFree(ALUD);
     1781        psFree(coeffs);
     1782        psFree(outPerm);
     1783    }
     1784
    17661785
    17671786    psFree(A);
Note: See TracChangeset for help on using the changeset viewer.