Summer of Code - Getting Started: Difference between revisions

→‎Numerical: a specfun projects
m (→‎Symbolic package: link to Python interface page)
(→‎Numerical: a specfun projects)
Line 87: Line 87:


These projects involve implementing certain mathematical functions, primarily in core Octave.
These projects involve implementing certain mathematical functions, primarily in core Octave.
=== Make specfuns special again ===
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.
* '''Required skills'''
: Octave m-file programming, some familiarity with Approximation Theory (a branch of mathematics).
* '''Difficulty'''
: Medium (mathematics needed, but on the other hand, perhaps little or no C++).
* '''Potential mentors'''
: Colin Macdonald?, others?
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 ===
99

edits