Summer of Code - Getting Started: Difference between revisions

→‎Suggested projects: Add Symbolic package project again.
(→‎openlibm: Add great list by User:Shreyaswikriti 🙂👍)
(→‎Suggested projects: Add Symbolic package project again.)
Line 86: Line 86:
* '''Potential mentors'''
* '''Potential mentors'''
: Francesco Faccio, [https://octave.discourse.group/u/cdf Carlo de Falco], [https://octave.discourse.group/u/marco_caliari Marco Caliari], Jacopo Corno, [https://octave.discourse.group/u/schoeps Sebastian Schöps]
: Francesco Faccio, [https://octave.discourse.group/u/cdf Carlo de Falco], [https://octave.discourse.group/u/marco_caliari Marco Caliari], Jacopo Corno, [https://octave.discourse.group/u/schoeps Sebastian Schöps]
== Symbolic package ==
The [[Symbolic package]] provides symbolic computing and other [https://en.wikipedia.org/wiki/Computer_algebra_system computer algebra system] tools.  The main component of Symbolic is a pure m-file class "@sym" which uses the Python package [https://www.sympy.org SymPy] to do (most of) the actual computations.  The package aims to expose the full functionality of SymPy while also providing a high level of compatibility with the Matlab Symbolic Math Toolbox.  The Symbolic package requires communication between Octave and Python.  In 2016 another GSoC project successfully re-implemented this communication using the new [[Pythonic|Pythonic package]].
This project proposes to go further: instead of using Pythonic only for the communication layer, we'll use it throughout the Symbolic project.  For example, we might make "@sym" a subclass of "@pyobject".  We also could stop using the "python_cmd" interface and use Pythonic directly from methods.  The main goal was already mentioned: to expose the ''full functionality'' of SymPy.  For example, we would allow OO-style method calls such as <code>f.diff(x)</code> instead of <code>diff(f, x)</code>.
* '''Project size''' [[#Project sizes | [?]]] and '''Difficulty'''
: ~350 hours (medium)
* '''Required skills'''
: Octave, C/C++, Python; object-oriented programming (OOP) in Octave
* '''Potential mentors'''
: [https://octave.discourse.group/u/cbm Colin B. Macdonald], [https://octave.discourse.group/u/mtmiller Mike Miller], Abhinav Tripathi


== Improve TIFF image support ==
== Improve TIFF image support ==