An open API service indexing awesome lists of open source software.

https://github.com/alexandrelamarre/non-euclidean-computational-engine-python-source-code-

Non Euclidean Computational Engine (Python source code)
https://github.com/alexandrelamarre/non-euclidean-computational-engine-python-source-code-

Last synced: 3 months ago
JSON representation

Non Euclidean Computational Engine (Python source code)

Awesome Lists containing this project

README

          

# 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](#The-goal)
- [Features](#Features)
- [Quick guide](#Quick-guide)
- [Code architecture](#Code-architecture)
- [Implementation details](#Implementation-details)
- [Known issues](#Known-issues)
- [External Libraries](#External-Libraries)
- [References](#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 to `g(x) = (x^2)` and to use the
math constant e in `f` we would have to refer to it as
`f(e) = (math.e * e^2)` which is equivalent to `g(x) = (e* x^2)`

## 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
- [NumPy](https://numpy.org/doc/)
- [Matplotlib](https://matplotlib.org/)
- [regex](https://pypi.org/project/regex/)
- [SymPy](https://www.sympy.org/en/index.html)

## 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.