commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <>
Subject [jira] [Commented] (MATH-1128) Lazy evaluation needed in "o.a.c.m.fitting.leastsquares"
Date Sat, 14 Jun 2014 23:48:01 GMT


Gilles commented on MATH-1128:

A "TODO" note in the code indicates that lazy evaluation should be examined.
And indeed, in my use case, implementing it reduces the performance loss below a fairly insignificant
level (1%).
Patch will follow.

> Lazy evaluation needed in "o.a.c.m.fitting.leastsquares"
> --------------------------------------------------------
>                 Key: MATH-1128
>                 URL:
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 3.3
>            Reporter: Gilles
>            Assignee: Gilles
>              Labels: regression
>             Fix For: 3.4
> In "LocalLeastSquaresProblem" (private inner class defined in "o.a.c.m.fitting.leastsquares.LeastSquaresFactory"),
the "evaluate" method computes the values of both the model and the Jacobian at creation of
the "Evaluation" instance.
> Optimizers ("LevenbergMarquardtOptimizer" in particular) may not need both for all of
the evaluated points. And this can lead to too many evaluations of the model which in some
applications is the costliest part.
> In my use-case, the current code in "o.a.c.m.fitting.leastquares" leads to a performance
degradation of about 20% w.r.t. the implementation in "o.a.c.m.optim.nonlinear.vector.jacobian".

This message was sent by Atlassian JIRA

View raw message