GithubHelp home page GithubHelp logo

non-euclidean-computational-engine-python-source-code-'s Introduction

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.

non-euclidean-computational-engine-python-source-code-'s People

Contributors

alexandrelamarre avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.