[ 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