NE Computational Engine
Foreword
A computational engine is hard to define, but easy to recognize. In general a computation engine takes some aggregation of data and returns a meaningful result. This implementation of a computational engine takes symbolic mathematical input from the user, computes its properties and returns them in a way humans can understand.
Traditionally, other mathematical computational engines like Wolfram Alpha(now computational intelligence) focus on the fixed three dimensions that we've all seen in high school geometry, high school algebra and college calculus. These methods represent simple ways to interpret phenomena and are Euclidean in nature. In this computational engine, we aim to take things further by also interpreting the properties of mathematical objects that produce things that are non-euclidean in nature.
Table of Contents
- The goal
- Features
- Quick guide
- Code architecture
- Implementation details
- Known issues
- External Libraries
- References
The goal:
Features:
-
Command interpreter for commands of the form
\command_name{arguments}
-
Function Interpreter:
- Interprets custom mathematical functions from input into python computable functions
- Makes use of the math standard library for python
-
Plotting functions from custom mathematical functions for:
- Functions from R to R using a traditional graph
- Functions from R to R2 using meshgrid technology
- Functions from R2 to R using meshgrid technology
- Functions from R2 to R2 using contour maps
Quick guide:
Implementation details
- Function variables overshadow math standard
library variables and functions.
- For example,
f(e) = (e^2)
is equivalent tog(x) = (x^2)
and to use the math constant e inf
we would have to refer to it asf(e) = (math.e * e^2)
which is equivalent tog(x) = (e* x^2)
- For example,
Known issues
- Complex casting happens in exponential and logarithmic functions in contour maps from R2 to R2 when they involve multiple variables when complex casting should not occur. Issue likely has to do with the implementation of the math standard library.
- New labels overlap on labels of previously computed plots. Supposed to be resolved in a future version of matplotlib.
External Libraries
References
- Tucker, Alan. "Applied Combinatorics" 6th edition 2012
- Munkres, James R. "Topology" 2nd edition. 2018.
- Fisher, Stephen D. "Complex Variables" 1990.
- Folland, Gerald B. "Advanced Calculus" 2002.