Git Product home page Git Product logo

maxieds / gatechmath6307odescourseproject Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 10.35 MB

๐Ÿ“ˆ GA Tech Fall 2021 Math 6307 (ODEs) course project - numerical exploration of solutions to (systems of) ODEs in Python3 + SageMath ๐Ÿ“Š

License: GNU General Public License v3.0

TeX 76.71% Python 21.73% Shell 1.56%
python python3 mathematical-modelling mathematical-programming differential-equations odes sagemath sage

gatechmath6307odescourseproject's Introduction

Math6307 ODEs Course Project (Fall 2021)

This project focuses on the exploration of numerical solutions to ODEs in Python. We will introduce a few generic methods for solving general purpose ODEs using standardized Python extension libraries (see these examples). The exposition for the course project is centered on exploring the properties of numerical solutions to a few types of chaotic attractors (see examples in the subdirectories here). In doing so, we aim to present a set of reusable ideas and methods that viewers can use to understand numerical solutions to ODEs more generally that arise in other applications.

Running the examples

Setting up a sane Python environment on MacOS

Minimum requirements

$ brew install [email protected] ipython
$ brew install sage
$ python3.9 -m pip install numpy scipy sympy matplotlib notebook jupyterlab 
$ python3.9 -m pip install gekko ode-toolbox ode-explorer
$ sage
(sage) pip install pandas
(sage) exit

Configuring the Python path in the local Bash shell

$ cd UtilityScripts
$ /bin/bash ./AddPythonPathToBashConfig.sh
# ... On MacOS:
$ source ~/.bash_profile 
# ... On Linux:
$ source ~/.bashrc
$ cd ..

Links

Tutorials on solving ODEs numerically

List of solid Python addon-packages/libraries to assist with numerical analysis of ODEs

  • GEKKO documentation: Note that this package is substantially error prone and hard to use compared to scipy. Nonetheless, it does seem to have some sophisticated solver capability if you understand the internals of the package well.
  • ODE-toolbox: Simplifies and automates many useful procedures in simulating ODE solutions numerically or even analytically. The utility still suffers from a lack of computational motivation in Python when working with symbolic independent (indeterminate) parameters. For example, an example given in the package docs shows a model for the Lorenz attractor given by
{
  "dynamics": [
    {
      "expression": "x' = sigma * (y - x)",
      "initial_value" : "1"
    },
    {
      "expression": "y' = x * (rho - z) - y",
      "initial_value" : "1"
    },
    {
      "expression": "z' = x * y - beta * z",
      "initial_value" : "1"
    }
  ],
  "parameters" : {
    "sigma" : "10",
    "beta" : "8/3",
    "rho" : "28"
  }
}

gatechmath6307odescourseproject's People

Contributors

maxieds avatar

Watchers

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