Summer of Code - Getting Started: Difference between revisions

Jump to navigation Jump to search
(→‎Finish the Octave GUI: remove project since GUI is already being worked on actively and ready for release)
(Add a symbolic pkg project)
Line 185: Line 185:


'''Mentor''': [[User:KaKiLa]]
'''Mentor''': [[User:KaKiLa]]
=== Symbolic package ===
Octave's [https://github.com/cbm755/octsympy Symbolic package] handles symbolic computing and other CAS 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.  Currently, communication between Octave and Python is handled with a pipe (see "help popen2") and parsing text.  However, this is fragile when things go wrong: for example, catching exceptions from Python is a bit ad hoc.
The main aim of this proposed project is to implement (or even better co-opt an existing) C/C++ oct-file interface that interacts with Python as a library, and e.g., deals gracefully with exceptions.  This could either supplement the existing IPC or replace it altogether.
'''Required skills''': m-file scripting, C/C++, and Python
'''Difficulty''': easy/medium
'''Mentor''': Colin B. Macdonald


=== High Precision Arithmetic Computation ===
=== High Precision Arithmetic Computation ===