[
https://issues.apache.org/jira/browse/MATH-659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100603#comment-13100603
]
Luc Maisonobe commented on MATH-659:
------------------------------------
ODE code is one of the places where a lot of medium size data sets are changed
all the time.
This means that allocating/deallocating is not negligible with respect to data
overwriting. Also as is is a domain where the time to live of data is small
(duration of one of few steps).
These two features implied that we selected to do overwriting and reuse of the
same arrays and avoided reallocation for the sake of performance. In this
specific case, the transformer also acts on matrices that are used by other
classes (see both the parameters and the return type of the update
updateHighOrderDerivativesPhase{1,2} methods) and in fact the layout of these
arrays is used by the above classes to avoid both reallocation and copies.
This design in the general case was done several years ago, and the specific
case for MultistepIntegrator is more recent. MultistepIntegrator is the base
class of both Adams integrator and also the base class of another integrator I
want to include, namely the BDFIntegrator).
This design may well not be adapted anymore to current processors and JVM. The
multistep integrators are also quite in a flux, there are other JIRA issues
about them. So I would really much like to have some benchmarks against real
problems before changing this (i.e. state vector between 2 and 50 elements,
integrations of several thousand steps, both very simple and very costly
differential equations, a small set of events detectors ...). It may also be
wise to wait a little on this class as work is done on it for the other issues
> Remove solve(double[][]) from DecompositionSolver
> -------------------------------------------------
>
> Key: MATH-659
> URL: https://issues.apache.org/jira/browse/MATH-659
> Project: Commons Math
> Issue Type: Task
> Affects Versions: 3.0
> Reporter: Sébastien Brisard
> Assignee: Sébastien Brisard
> Priority: Trivial
> Labels: linear
>
> Following MATH-653, where {{double[]}} were removed from {{RealVector}}, and
> {{double[] solve(double[])}} was removed from {{DecompositionSolver}}, the
> method {{double[][] solve(double[][])}} should be removed from
> {{DecompositionSolver}}. {{RealMatrix solve(RealMatrix)}} should be called
> instead.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira