commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luc Maisonobe (JIRA)" <>
Subject [jira] [Commented] (MATH-659) Remove solve(double[][]) from DecompositionSolver
Date Thu, 08 Sep 2011 19:18:08 GMT


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:
>             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:


View raw message