Simplify use of  "EstimationProblem"
------------------------------------

                 Key: MATH-165
                 URL: https://issues.apache.org/jira/browse/MATH-165
             Project: Commons Math
          Issue Type: Improvement
            Reporter: Gilles
            Priority: Minor


The use of the "EstimationProblem" interface could be simplified by providing a 
helper (abstract) class that would implement
the "getMeasurements" "getAllParameters" and "getUnboundParameters" methods.  
Currently, each new implementation of the interface has to do it even if they 
are typically only called from the "Estimator" class (and not by the user code).
That same helper class could also take care of storing the partial derivatives.

A skeleton for the requested class could be as follows:

public abstract class SimpleEstimationProblem
    implements EstimationProblem {

    // ... storage for measurements and partial derivatives ...
 
    protected void addParameter(EstimatedParameter p,
                                ComputableFunction partial,
                                boolean isBound) {
         // ...
    }
    protected void addParameter(EstimatedParameter p,
                                ComputableFunction partial) {
        addParameter(p, partial, false);
    }
    protected double getPartial(EstimatedParameter p,
                                double x) {
        // ...
    }
    protected void addMeasurement(WeightedMeasurement m) {
        _observations.add(m);
    }
    public WeightedMeasurement[] getMeasurements() {
        // ...
    }
    public EstimatedParameter[] getAllParameters() {
        // ...
    }
    public EstimatedParameter[] getUnboundParameters() {
        // ...
    }
}

Best,
Gilles


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to