Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aszot/mathologicademo
Demo showing the symbolic evaluation power of the Mathologica engine.
https://github.com/aszot/mathologicademo
Last synced: about 2 months ago
JSON representation
Demo showing the symbolic evaluation power of the Mathologica engine.
- Host: GitHub
- URL: https://github.com/aszot/mathologicademo
- Owner: ASzot
- License: mit
- Created: 2015-12-01T21:50:19.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-13T00:07:43.000Z (about 9 years ago)
- Last Synced: 2023-02-27T16:41:33.564Z (almost 2 years ago)
- Language: C#
- Homepage: https://www.mathologica.com/
- Size: 17.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MathologicaDemo
A simple demo program showing the usage of the Mathologica math evaluation library.
Refer to Program.cs for a generic method of parsing any mathematical expression, presenting the user with a list of evalauation options, and then evaluating the input based on the user's evaluation option selection. This is the same concept of the website application of Mathologica and shows the functioning of the program at a very high level.
In MathTest.cs is more in depth examples of how Mathologica can be used to represent and manipulate mathematical expressions. At the core of the library is **ExComp** which is any mathematical symbol such as a variable, number, function, or any group of expressions. **AlgebraTerm** is a group of the **ExComp** data type. Due to this abstracted representation any mathematical expression can be represented using the **AlgebraTerm**. To handle equations where equality or inequality signs are used the **EqSet** object is used. This object incorperates multiple **AlgebraTerm** objects equated by some form of comparison sign to form an equation. Simultaneous equations can also be represented in **EqSet**.
The equation parsing object can also be seen in action with the **LexicalParser** object that takes a string and returns a lexeme table that is then converted into the **EqSet** representation.
The source code powering Mathologica has not been posted and will not be anytime in the future. For any inquires on using the Mathologica library contact me.
To see a part of how Mathologica works check AntiDerivativeHelper.cs. The source code in this file demonstrates the flexibility of the Mathologica system and how it can be used to complete the complex process of taking an anti-derivative.
The program in action can be found at http://mathologica.com/