Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
cbm755 committed Mar 9, 2017
1 parent d1a2742 commit fca5944
Showing 1 changed file with 34 additions and 44 deletions.
78 changes: 34 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,65 +19,66 @@ Feature parity with the other symbolic toolboxes.



Status
------

"Beta" quality at best! Contributions welcome.

How to Install
--------------

1. The only dependencies are Python and SymPy. Consult the SymPy
website (e.g., `yum install sympy` on Fedora).
1. The dependencies are Octave, Python, and SymPy. Consult the SymPy
website for details on how to install SymPy.

2. Download the latest release, e.g., `octsympy-0.1.2.tar.gz`.
2. Start Octave.

3. Run Octave and change to the folder containing the downloaded file.
3. At Octave prompt type `pkg install -forge symbolic`.

4. At Octave prompt, type `pkg install octsympy-0.1.2.tar.gz`.
4. At Octave prompt, type `pkg load symbolic`.

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

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

How to install on Ubuntu
-------------------------

1. If you've not installed Octave yet, use `sudo apt-get install octave`.
2. Fetch the Debian package liboctave-dev to get the mkoctfile command. Use `sudo apt-get install liboctave-dev`.
3. If you've not installed python-sympy yet, use `sudo apt-get install python-sympy`.
4. In Octave prompt, type `pkg install -forge symbolic` followed by last two steps of previous section.
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](http://www.octave.org) for Windows.

2. Try the octsympy-windows-0.1.2.zip package. Follow the last three
steps above using this file instead.
2. Download the `symbolic-win-py-bundle-2.5.0.zip` file from
[releases](https://github.com/cbm755/octsympy/releases).

3. Start Octave

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

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

The `octsympy-windows` package should have no dependencies other than
Octave itself (it includes SymPy and a Python interpreter.)
6. At the Octave prompt, type `syms x`, then `f = (sin(x/2))^3`,
`diff(f, x)`, etc.

Alternatively, you can install Python and SymPy yourself and use the
standard `octsympy-0.1.2.zip` package.
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](https://github.com/cbm755/octsympy/wiki/Notes-on-Windows-installation).




How to Install on Matlab
------------------------

Although OctSymPy is designed for GNU Octave, it will work with
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-0.1.2.tar.gz`.
1. Download the latest release, e.g., `octsympy-matlab-2.5.0.tar.gz`.

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

Expand All @@ -96,41 +97,30 @@ 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 of you want).

2. Go to octsympy/src/ and type "make". (You only need to do this
again if you change the inst/private/python_header.py or various
autogeneration scripts in src/.)
ZIP" instead if you want).

3. Run Octave (or Matlab) in octsympy/inst/.
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 objects keep
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's back-and-forth. Currently pure m-file (and Python)
srepr string back-and-forth. Currently pure m-file (and Python)
implementation, no code to be compiled.



Communication
-------------

We have two IPC mechanisms between Octave and Python. One option is
calling "system()". The other uses "popen2()". Others could be
implemented.



Related Projects
----------------

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

* ["SymPy CAS" by Jonathan Lister](http://www.mathworks.com/matlabcentral/fileexchange/42787-sympy-cas-in-matlab).
Calls SymPy commands using system().
Expand Down

0 comments on commit fca5944

Please sign in to comment.