Summer of Code - Getting Started: Difference between revisions

(→‎Numerical: a specfun projects)
(→‎Make specfuns special again: more bugs and links)
Line 92: Line 92:
Traditionally, problem solving environments like Octave provide simple interfaces to numerical linear algebra, special function evaluation, root finding, and other tools.  Special functions (such as Bessel functions, exponential integrals, LambertW, etc) are expected by users to "just work".  But many of Octave's special functions could be improved to improve their numerical accuracy.  Generally a user might expect these to be accurate to full 15 digits.  Software testing is important to Octave; this project would improve the tests of many special functions, in particular by comparing the output with slow-but-accurate symbolic computations.
Traditionally, problem solving environments like Octave provide simple interfaces to numerical linear algebra, special function evaluation, root finding, and other tools.  Special functions (such as Bessel functions, exponential integrals, LambertW, etc) are expected by users to "just work".  But many of Octave's special functions could be improved to improve their numerical accuracy.  Generally a user might expect these to be accurate to full 15 digits.  Software testing is important to Octave; this project would improve the tests of many special functions, in particular by comparing the output with slow-but-accurate symbolic computations.


State: some bugs include #48307, #47738, TODO: add others?  The unmaintained specfun pkg had some poor implementations (e.g., divergence for large x, see https://github.com/cbm755/octsympy/issues/416.).  See also the Symbolic functions in `@double`: these probably should have native double implementations.
State: some bugs include [https://savannah.gnu.org/bugs/?48307 #48307] (sinc), [https://savannah.gnu.org/bugs/?47738  #47738] (expint), [https://savannah.gnu.org/bugs/?47800  #47800] (gammainc), [https://savannah.gnu.org/bugs/?48036 #48036] (gammaincinv) ''TODO: add others?'' The unmaintained specfun pkg had some poor implementations (e.g., divergence for large x, see [https://github.com/cbm755/octsympy/issues/416].).  See also the Symbolic functions in `@double`: these probably should have native double implementations.


* '''Required skills'''
* '''Required skills'''
Line 102: Line 102:


How to get started: pick a special function, see if it has tests: contribute a patch that adds more tests comparing its values to symbolic computations.
How to get started: pick a special function, see if it has tests: contribute a patch that adds more tests comparing its values to symbolic computations.


=== ode15s : Matlab Compatible DAE solver ===
=== ode15s : Matlab Compatible DAE solver ===
281

edits