Home - axkr/symja_android_library GitHub Wiki
Welcome to the Symja wiki
We encourage everyone to participate in this wiki. To edit it, you need to create an account (top right corner). Just fill in your name and password and that's it (no email confirmation, or other annoying things).
Note: the Symja language description is included in the source code and not part of this wiki. Especially the documentation of the Symja functions can be found in this folder.
Features
Features of the Symja language:
- arbitrary precision integers, rational and complex numbers
- differentiation, integration, equation solving, polynomial and linear algebra functions...
- a general purpose Term Rewriting System and Pattern Matching engine
- use human readable math expression strings or the internal abstract syntax tree (AST) representation to code in Java. See the Unit test examples
- two REPLs are available in the library a Console.java for standard math input and a MMAConsole.java for Mathematica like syntax input.
- Symja can also be used interactively in the Java jshell
Documentation
Start learning the Symja language with the Tutorial which includes the following subsections:
- Getting started
- Symbols and assignments
- Comparisons and Boolean logic
- Strings
- Lists
- The structure of things
- Functions and patterns
- Control statements
- Scoping
- Plotting graphs and functions
References
Demos
-
Google Appengine web interface symjaweb.appspot.com - available as open source in this Github repository
-
Android App Calculator N+ on Google play store - available as open source in this Github repository provides an IDE mode to calculate arbitrary Symja expressions.
Usage
- Symja-browser-usage - use Symja in a web browser
- MMA-browser-usage - use Symja in a web browser with functions calls similar to Mathematica
- Console-usage - use Symja in a REPL
- MMA-console-usage - use Symja in a REPL with functions calls similar to Mathematica
Development
- Developer-FAQ
- Java-usage - annotated example how to use Symja from Java
- JShell usage - how to use Symja with jshell
- Parser - 2 types of parsers are available
- Class-hierarchy - the main class hierarchy of the Symja expression objects
- Rule-preprocessor - the main class hierarchy of the Symja expression objects