IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Opened 22 years ago

Closed 22 years ago

Last modified 22 years ago

#84 closed defect (fixed)

psMinimizeChi2() arguments

Reported by: gusciora@… Owned by: eugene
Priority: high Milestone:
Component: PSLib SDRS Version: unspecified
Severity: normal Keywords: IPP-doc
Cc:

Description

The psMinimizeChi2() function minimizes a user-supplied function f() over a
set of M data points. The function f() requires as input a vector specifying
the parameters of whatever function it performs; it also requires as input a
vector which contains the (possibly multi-dimensional) data-point it
operates on. Let's say that data vector has N elements.

The argument "domain" to psMinimizeChi2() must be of type psMatrix, since it
will hold M N-element vectors. Currently, "domain" is of type psVector.

As far as I can tell, the arguments "data" and "errors" are correctly
specified: they are M-element vectors. Is that correct?

Also, an argument to psMinimizeChi2() must be added to specify the
user-supplied function which calculates the derivative of f().

Change History (6)

comment:1 by robert.desonia@…, 22 years ago

bug_group: PSLib?IPP-doc?
Component: dataPSLib SDRS
Keywords: IPP-doc added; PSLib removed
product: PSLibIPP-doc

Well, there is no psMatrix anymore, so I assume you either mean an array (or
psVector) of psVector* or a psImage.

Anyway, this is fundementally an issue about the SDRS requirements
specification, so I will transfer it into that 'product' for IfA to resolve.

comment:2 by robert.desonia@…, 22 years ago

Owner: changed from robert.desonia@… to eugene

comment:3 by gusciora@…, 22 years ago

Yes, I mean psImage.

Also, the psMinimize and psMinimizeChi2 arguments which correspond to the
function derivatives must be changed. Currently, as specified for psMinimize(),
the derivative returns a scalar float. However, this is a partial derivative
with respect to one of the params. Either the parameter must be specified in
the function argument, which indicates which derivative to calculate, or the
derivative function can calculate all derivatives (the Jacobian, if I remember
correctly) and then return a psVector.

comment:4 by eugene, 22 years ago

Status: newassigned

comment:5 by eugene, 22 years ago

bug_group: IPP-doc?
Resolution: fixed
Status: assignedclosed

we have re-worked the minimization functions. the new functions are now
explicitly named for the algorithm they invoke, and the API is different
depending on the needs of the algorithm. The new functions are:

bool psMinimizeLM(psMinimization *min, psMatrix *covar, psVector *params,

const psVector *paramMask, const psArray *coords,
psMinimizeLMFunc func);

which takes a function of the form:

typedef float (*psMinimizeLMFunc)(psVector *deriv, const psVector *params,

const psArray *coords);

and

bool psMinimizePowell(psMinimization *min, psVector *params,

const psVector *paramMask, const psArray *coords,
psMinimizePowellFunc func);

which takes a function of the form:

typedef float (*psMinimizePowellFunc)(const psVector *params,

const psArray *coords);

the psMinimization structure defines the minimization parameters. see the SDRS
for details.

comment:6 by eugene, 22 years ago

bug_group: IPP-doc?
Note: See TracTickets for help on using tickets.