Summer of Code - Getting Started: Difference between revisions

Removed "Make specfuns special again" project because the bugs mentioned have all been fixed
(Strip "Octave code sharing" project. Was part of GSoC 2018.)
(Removed "Make specfuns special again" project because the bugs mentioned have all been fixed)
Line 98: Line 98:
|-
|-
! <br />!! !! !! !! !! !!
! <br />!! !! !! !! !! !!
|-
| [[Summer_of_Code_Project_Ideas#Make_specfuns_special_again | Make specfuns special again]] || Marco Caliari || Colin Macdonald, Ankit Raj || Numerical || No || Medium || [https://gsocspecfun.blogspot.de/ GSoC 2017]
|-
|-
| [[Summer_of_Code_Project_Ideas#ode15s_:_Matlab_Compatible_DAE_solver | ode15{i,s} : Matlab Compatible DAE solvers]] || Carlo de Falco || Francesco Faccio, Marco Caliari, Jacopo Corno, Sebastian Schöps || Numerical || No  || Medium || GSoC 2016
| [[Summer_of_Code_Project_Ideas#ode15s_:_Matlab_Compatible_DAE_solver | ode15{i,s} : Matlab Compatible DAE solvers]] || Carlo de Falco || Francesco Faccio, Marco Caliari, Jacopo Corno, Sebastian Schöps || Numerical || No  || Medium || GSoC 2016
Line 137: Line 135:


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 [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) [https://savannah.gnu.org/bugs/index.php?48316 #48316] (besselj) ''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'''
: Marco Caliari, Colin Macdonald, others?
How to get started: pick a special function, see if it has tests: contribute a patch that adds more tests, e.g., comparing its values to symbolic computations or other highly accurate solutions


=== ode15{i,s} : Matlab Compatible DAE solvers ===
=== ode15{i,s} : Matlab Compatible DAE solvers ===
Line 165: Line 148:
[http://hg.savannah.gnu.org/hgweb/octave/file/4890b1c4a6bd/scripts/ode/ode15i.m ode15i.m] and
[http://hg.savannah.gnu.org/hgweb/octave/file/4890b1c4a6bd/scripts/ode/ode15i.m ode15i.m] and
[http://hg.savannah.gnu.org/hgweb/octave/file/4890b1c4a6bd/scripts/ode/ode15s.m ode15s.m].
[http://hg.savannah.gnu.org/hgweb/octave/file/4890b1c4a6bd/scripts/ode/ode15s.m ode15s.m].
The list of outsanding tracker tickets concerning this implementation can be found  
The list of outstanding tracker tickets concerning this implementation can be found  
[https://savannah.gnu.org/search/?Search=Search&words=ode15&type_of_search=bugs&only_group_id=1925&exact=1&max_rows=25#options here]
[https://savannah.gnu.org/search/?Search=Search&words=ode15&type_of_search=bugs&only_group_id=1925&exact=1&max_rows=25#options here]


281

edits