Skip to content

alexandreLamarre/Non-Euclidean-Computational-Engine-Python-source-code-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

  • 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

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.

About

Non Euclidean Computational Engine (Python source code)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages