All Projects → cbm755 → Octsympy

cbm755 / Octsympy

Licence: gpl-3.0
A Symbolic Package for Octave using SymPy

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Octsympy

Numbas
A completely browser-based e-assessment/e-learning system, with an emphasis on mathematics
Stars: ✭ 144 (+56.52%)
Mutual labels:  mathematics, computer-algebra
Domains
A computational algebra system in Smalltalk.
Stars: ✭ 124 (+34.78%)
Mutual labels:  mathematics, computer-algebra
Sage
Mirror of the Sage source tree -- please do not submit PRs here -- everything must be submitted via https://trac.sagemath.org/
Stars: ✭ 1,656 (+1700%)
Mutual labels:  mathematics, computer-algebra
Cocalc
CoCalc: Collaborative Calculation in the Cloud
Stars: ✭ 888 (+865.22%)
Mutual labels:  octave, mathematics
Gap
Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
Stars: ✭ 447 (+385.87%)
Mutual labels:  mathematics, computer-algebra
diofant
A Python CAS library
Stars: ✭ 61 (-33.7%)
Mutual labels:  computer-algebra, mathematics
Cadabra2
A field-theory motivated approach to computer algebra.
Stars: ✭ 112 (+21.74%)
Mutual labels:  mathematics, computer-algebra
Oscar.jl
A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
Stars: ✭ 182 (+97.83%)
Mutual labels:  computer-algebra, mathematics
Casadi
CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
Stars: ✭ 714 (+676.09%)
Mutual labels:  octave, mathematics
Notebooks
📓 A growing collection of Jupyter Notebooks written in Python, OCaml and Julia for science examples, algorithms, visualizations etc
Stars: ✭ 84 (-8.7%)
Mutual labels:  octave, mathematics
Mathjax
Beautiful and accessible math in all browsers
Stars: ✭ 8,551 (+9194.57%)
Mutual labels:  mathematics
String Calc
PHP calculator library for mathematical terms (expressions) passed as strings
Stars: ✭ 60 (-34.78%)
Mutual labels:  mathematics
Orthopy
Orthogonal polynomials in all shapes and sizes.
Stars: ✭ 75 (-18.48%)
Mutual labels:  mathematics
C
Collection of various algorithms in mathematics, machine learning, computer science, physics, etc implemented in C for educational purposes.
Stars: ✭ 11,897 (+12831.52%)
Mutual labels:  mathematics
Pymbolic
A simple package to do symbolic math (focus on code gen and DSLs)
Stars: ✭ 57 (-38.04%)
Mutual labels:  computer-algebra
Mathworldvr
Math world in WebVR, powered by A-frame.
Stars: ✭ 73 (-20.65%)
Mutual labels:  mathematics
Phpermutations
Generate Permutations and Combinations in an efficient way.
Stars: ✭ 56 (-39.13%)
Mutual labels:  mathematics
Pycm
Multi-class confusion matrix library in Python
Stars: ✭ 1,076 (+1069.57%)
Mutual labels:  mathematics
Mish
Official Repsoitory for "Mish: A Self Regularized Non-Monotonic Neural Activation Function" [BMVC 2020]
Stars: ✭ 1,072 (+1065.22%)
Mutual labels:  mathematics
Csmath 2020
This mathematics course is taught for the first year Ph.D. students of computer science and related areas @ZJU
Stars: ✭ 85 (-7.61%)
Mutual labels:  mathematics

Symbolic Package for GNU Octave

Build Status

An implementation of a symbolic toolbox using SymPy.

[https://octave.sourceforge.io/symbolic]

Goals

Feature parity with the other symbolic toolboxes.

Screenshot 1

Screenshot 2

How to Install

  1. The dependencies are Octave, Python, and SymPy. Consult the SymPy website for details on how to install SymPy.

  2. Start Octave.

  3. At Octave prompt type pkg install -forge symbolic.

  4. At Octave prompt, type pkg load symbolic.

  5. At Octave prompt, type syms x, then f = (sin(x/2))^3, diff(f, x), etc.

How to install on Ubuntu

  1. Install the dependencies with sudo apt-get install octave liboctave-dev python-sympy.
  2. Follow steps 2--5 above.

How to Install on Windows

  1. Get Octave for Windows.

  2. Download the symbolic-win-py-bundle-2.7.0.zip file from releases.

  3. Start Octave

  4. At the Octave prompt, type pkg install symbolic-win-py-bundle-2.7.0.zip.

  5. At the Octave prompt, type pkg load symbolic.

  6. At the Octave prompt, type syms x, then f = (sin(x/2))^3, diff(f, x), etc.

The symbolic-win-py-bundle package should have no dependencies other than Octave (it includes SymPy and a Python interpreter). Alternatively, you can install Python and SymPy yourself and use the standard pkg install -forge symbolic command.

If you encounter any difficulties (even minor ones) please read and if possible help us improve the wiki page on Windows Installation.

How to Install on Matlab

Although this package is designed for GNU Octave, it will work with Matlab. Currently only the slower system()-based communication is available.

  1. Download the latest release, e.g., octsympy-matlab-2.7.0.tar.gz.

  2. Unzip it somewhere and add it to your Matlab Path.

The .m files for Matlab have been reformatted for Matlab comment conventions, but are otherwise the same as the Octave source.

How to Help

We have a list of things to work on tagged help wanted. Some of these should be quite easy to fix and would be a great way to get involved. Come join us!

How to hack on the code:

  1. Clone the repo with git (preferred, but you can use the "Download ZIP" instead if you want).

  2. Run Octave in the octsympy/inst/ directory. It should be safe to do this even if you have the released version of the package installed (but not loaded).

Implementation

Python code is generated to do the actual work. Each sym object keeps a text field for display purposes and a string (a SymPy srepr). The objects are communicated between Python and Octave by passing the srepr string back-and-forth. Currently pure m-file (and Python) implementation, no code to be compiled.

Related Projects

  • There was a previous "symbolic" package in Octave Forge based on GiNaC. Its history has now been merged into this project.

  • "SymPy CAS" by Jonathan Lister. Calls SymPy commands using system().

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].