661
edits
Carandraug (talk | contribs) (no c/c++, it is C and C++ (on relevant projects)) |
|||
Line 129: | Line 129: | ||
* '''Required skills''' | * '''Required skills''' | ||
: m-file scripting, | : m-file scripting, C, C++, and FORTRAN API knowledge. | ||
* '''Difficulty''' | * '''Difficulty''' | ||
: easy/medium | : easy/medium | ||
Line 139: | Line 139: | ||
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) | 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. | ||
* '''Required skills''' | * '''Required skills''' | ||
: m-file scripting, C | : m-file scripting, C (for Python internals), C++ (for Octave internals), and Python | ||
* '''Difficulty''' | * '''Difficulty''' | ||
: easy/medium | : easy/medium |