[
https://issues.apache.org/jira/browse/MATH-1128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14031738#comment-14031738
]
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: https://issues.apache.org/jira/browse/MATH-1128
> 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
(v6.2#6252)