#84 closed defect (fixed)
psMinimizeChi2() arguments
| Reported by: | 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 , 22 years ago
| bug_group: | PSLib? → IPP-doc? |
|---|---|
| Component: | data → PSLib SDRS |
| Keywords: | IPP-doc added; PSLib removed |
| product: | PSLib → IPP-doc |
comment:2 by , 22 years ago
| Owner: | changed from to |
|---|
comment:3 by , 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 , 22 years ago
| Status: | new → assigned |
|---|
comment:5 by , 22 years ago
| bug_group: | IPP-doc? |
|---|---|
| Resolution: | → fixed |
| Status: | assigned → closed |
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 , 22 years ago
| bug_group: | → IPP-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.