commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fran Lattanzio (JIRA)" <>
Subject [jira] [Created] (MATH-1325) Improve finite differencing infrastructure
Date Wed, 17 Feb 2016 03:33:18 GMT
Fran Lattanzio created MATH-1325:

             Summary: Improve finite differencing infrastructure
                 Key: MATH-1325
             Project: Commons Math
          Issue Type: New Feature
            Reporter: Fran Lattanzio
            Priority: Minor

The existing finite difference framework in commons math is a limiting because it accepts
only fixed bandwidth parameters. Furthermore, the finite difference coefficients/descriptions
are not exposed to the user in any reasonable fashion (e.g. a user doing a numerical ODE solve
probably wants to just grab suitable coefficients from somewhere). 

Conceptually, I think the work of finite difference can be broadly divided into three tasks:
1. Generation of finite difference coefficients. Again, one should be able to do this and
get the results outside of the context of taking an actual derivative. Ideally, we could generate
coefficients for any flavor (forward, central, backward) and order.
2. Selection of the bandwidth. This is, to be honest, the trickiest part of computing a numerical
derivative. There is some "art" to picking a proper bandwidth that will generate an accurate
numerical derivative - there are two competing sources of error (roundoff, due to the finite
representation of floating points; and truncation, due to the inherent nature of finite differences).
Ideally, we want to pick a bandwidth that will minimize the *total* error.
3. Actually computing the finite difference derivative estimate. This is really easy once
you have 1. and 2!

This message was sent by Atlassian JIRA

View raw message