IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 17, 2005, 12:17:29 PM (22 years ago)
Author:
desonia
Message:

changed psMatrixLUD to create the perm parameter according to the machine
size of 'size_t', which is used by GSL.

File:
1 edited

Legend:

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

    r3000 r3026  
    99 *  @author GLG, MHPCC
    1010 *
    11  *  @version $Revision: 1.99 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2005-01-14 23:27:56 $
     11 *  @version $Revision: 1.100 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2005-01-17 22:17:29 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    294294        This can not be implemented until SDR states what order spline should be
    295295        created.
    296      
     296
    297297        Should we error if mySPline is not NULL?
    298298    */
     
    616616    psS32 p;
    617617    psVector *beta = psVectorAlloc(numParams, PS_TYPE_F64);
    618     psVector *perm = psVectorAlloc(numParams, PS_TYPE_F64);
     618    psVector *perm = NULL;
    619619
    620620    psVector *paramDeltasF64 = psVectorAlloc(numParams, PS_TYPE_F64);
     
    738738        // XXX: How do we know if these functions were successful?
    739739        //
    740         aOut = psMatrixLUD(aOut, perm, A);
     740        aOut = psMatrixLUD(aOut, &perm, A);
    741741        paramDeltasF64 = psMatrixLUSolve(paramDeltasF64, aOut, beta, perm);
    742742
     
    936936    coeffs = psVectorAlloc(polyOrder, PS_TYPE_F64);
    937937    X = psVectorAlloc(x->n, PS_TYPE_F64);
    938     outPerm = psVectorAlloc(polyOrder, PS_TYPE_F64);
    939938    xSums = psVectorAlloc(1 + 2 * polyOrder, PS_TYPE_F64);
    940939
     
    943942        B->data.F64[i] = 0.0;
    944943        coeffs->data.F64[i] = 0.0;
    945         outPerm->data.F64[i] = 0.0;
    946944        for (j = 0; j < polyOrder; j++) {
    947945            A->data.F64[i][j] = 0.0;
     
    987985
    988986    // XXX: How do we know if these routines were successful?
    989     ALUD = psMatrixLUD(ALUD, outPerm, A);
     987    ALUD = psMatrixLUD(ALUD, &outPerm, A);
    990988    coeffs = psMatrixLUSolve(coeffs, ALUD, B, outPerm);
    991989
     
    11391137Algorithm:
    11401138 
    1141 XXX completely ad hoc: 
     1139XXX completely ad hoc:
    11421140start with the user-supplied starting parameter and
    11431141call that b.  Calculate a/c as a fractional amount smaller/larger than b.
    11441142Repeat this process until a local minimum is found.
    11451143 
    1146 XXX: 
    1147 new algorithm: 
     1144XXX:
     1145new algorithm:
    11481146start at x=0, expand in one direction until the function
    11491147decreases.  Then you have two points in the bracket.  Keep going until it
     
    11511149direction.
    11521150 
    1153 XXX: 
     1151XXX:
    11541152This is F32 only.
    11551153 
    1156 XXX: 
     1154XXX:
    11571155output bracket vector should be an input as well.
    11581156*****************************************************************************/
Note: See TracChangeset for help on using the changeset viewer.