Summer of Code - Getting Started: Difference between revisions

Jump to navigation Jump to search
Line 76: Line 76:
== Symbolic package ==
== 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 much of the 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 a GSoC project successfully re-implemented this communication using the new [[Pythonic|Pythonic package]].  In 2022, a GSoC project revitalized and improved the maintainability of the package.
The [[Symbolic package]] provides symbolic computing and other [https://en.wikipedia.org/wiki/Computer_algebra_system computer algebra system] tools.  GSoC projects in 2016 and 2022 improved the package.


Possible ideas for improving the Symbolic package:
There are no specific plans for Symbolic in GSoC 2023, but improvements elsewhere that would help Symbolic include:
* exposing more functionality of SymPy with ''less glue'' in between.  For example, we could allow OO-style method calls such as <code>f.diff(x)</code> as well as <code>diff(f, x)</code>.
* Developing the Octave-Pythonic package.
* Fix the storage of non-expressions by working with upstream SymPy: currently we rely on deprecated functionality in SymPy.
* Fix the storage of non-expressions by working with upstream SymPy: currently we rely on deprecated functionality in SymPy.
* Fix classdef-related issues in Octave itself.
* Improvements and fixes to classdef-related issues in Octave itself.
* Developing the Octave Jupyter kernel.


== PolarAxes and Plotting Improvements ==
== PolarAxes and Plotting Improvements ==
99

edits

Navigation menu