Summer of Code - Getting Started: Difference between revisions

Jump to navigation Jump to search
(→‎Summary table: update table)
(→‎Numerical: Add a chebfun/classdef project)
Line 183: Line 183:
* '''Mentor'''
* '''Mentor'''
:
:
=== Make Chebfun work in Octave ===
[https://chebfun.org Chebfun] is a mathematics and software project for "numerical computing with functions".  Basically it approximates functions to machine precision ($10^-15$) using Chebyshev polynomial interpolants.  Operations on those functions (arithmetic, derivatives, root-finding, etc) are then overloaded and return new interpolating polynomials.
Chebfun makes extensive use of classdef classes, and is one of the largest Free Software projects to do so.  Unfortunately it currently only works in Matlab.  This project seeks to (1) improve Octave's classdef support and (2) tweak Chebfun to work under Octave, for example, removing undocumented classdef features.  The final goal is to have at least basic Chebfun features working on Octave.
This project is important for both technical reasons (to improve Octave's classdef support) and ethical reasons (to allow Chebfun to run without proprietary software).
* '''Required skills'''
: Octave m-file programming, C++, some familiarity with Approximation Theory (a branch of mathematics).
* '''Difficulty'''
: Medium to Hard (probably requires a deep dive into how Octave supports OO).
* '''Potential mentors'''
: Colin B. Macdonald, Mike Miller (?), Carnë Draug (?), someone from Chebfun team (?).
How to get started: learn about Chebfun, browse Octave's bug list for classdef-related bugs, play with other classdef projects (Pytave, https://github.com/cbm755/octsympy/issues/545)


== Adding functionality to Forge packages ==
== Adding functionality to Forge packages ==