Summer of Code - Getting Started: Difference between revisions

m
→‎Symbolic package: link to Python interface page
m (→‎Symbolic package: link to Python interface page)
Line 165: Line 165:
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.
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++ 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.
The main aim of this proposed project is to implement (or even better co-opt an existing) C++ oct-file [[Python interface|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'''
* '''Required skills'''
296

edits