All Projects → hukenovs → chaospy

hukenovs / chaospy

Licence: GPL-3.0 license
Chaotic attractors (Lorenz, Rossler, Rikitake etc.)

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to chaospy

awesome-chaos-engineering
Awesome chaos engineering page
Stars: ✭ 18 (-61.7%)
Mutual labels:  chaos
PyCHAM
PyCHAM: CHemistry with Aerosol Microphysics in Python box model for Windows, Linux and Mac
Stars: ✭ 38 (-19.15%)
Mutual labels:  scipy
SchrodingerWellPython
2D 3D Time independent FDM Schrodinger equation solver for arbitrary shape of well
Stars: ✭ 21 (-55.32%)
Mutual labels:  scipy
ml-andrewng-python
This is the Python implementation of the programming assignments in Andrew Ng's online machine-learning course.
Stars: ✭ 48 (+2.13%)
Mutual labels:  scipy
Algorithmic-Trading
Algorithmic trading using machine learning.
Stars: ✭ 102 (+117.02%)
Mutual labels:  scipy
cas
Cellular Automata Simulator
Stars: ✭ 22 (-53.19%)
Mutual labels:  chaos
DynamicalBilliards.jl
An easy-to-use, modular, extendable and absurdly fast Julia package for dynamical billiards in two dimensions.
Stars: ✭ 97 (+106.38%)
Mutual labels:  chaos
introduction to ml with python
도서 "[개정판] 파이썬 라이브러리를 활용한 머신 러닝"의 주피터 노트북과 코드입니다.
Stars: ✭ 211 (+348.94%)
Mutual labels:  scipy
anesthetic
Nested Sampling post-processing and plotting
Stars: ✭ 34 (-27.66%)
Mutual labels:  scipy
MPowerTCX
Share stationary bike data with Strava, Garmin Connect and Golden Cheetah
Stars: ✭ 22 (-53.19%)
Mutual labels:  scipy
Performance-Engineers-DevOps
This repository helps performance testers and engineers who wants to dive into DevOps and SRE world.
Stars: ✭ 35 (-25.53%)
Mutual labels:  chaos
chaos-2
A hand-made SMP-aware kernel
Stars: ✭ 20 (-57.45%)
Mutual labels:  chaos
resolutions-2019
A list of data mining and machine learning papers that I implemented in 2019.
Stars: ✭ 19 (-59.57%)
Mutual labels:  scipy
shifted beta geometric py
An implementation of the shifted-beta-geometric (sBG) model from Fader and Hardie's "How to Project Customer Retention" (2006)
Stars: ✭ 49 (+4.26%)
Mutual labels:  scipy
docker-chaos-monkey
A Chaos Monkey system for Docker Swarm
Stars: ✭ 30 (-36.17%)
Mutual labels:  chaos
meta-scipy
OpenEmbedded layer for scipy (ARCHIVED)
Stars: ✭ 20 (-57.45%)
Mutual labels:  scipy
Jamais-Vu
Audio Fingerprinting and Recognition in Python using NVidia's CUDA
Stars: ✭ 24 (-48.94%)
Mutual labels:  scipy
python-for-gis-progression-path
Progression path for a GIS analyst who wants to become proficient in using Python for GIS: from apprentice to guru
Stars: ✭ 98 (+108.51%)
Mutual labels:  scipy
PVMismatch
An explicit Python PV system IV & PV curve trace calculator which can also calculate mismatch.
Stars: ✭ 51 (+8.51%)
Mutual labels:  scipy
skinner
Skin export / import tools for Autodesk Maya
Stars: ✭ 68 (+44.68%)
Mutual labels:  scipy

Python scripts for some 3rd-order chaotic systems (Lorenz attractor, Nose-Hoover oscillator, Rossler attractor, Riktake model, Duffing map etc.)

Chaotic attractors

https://raw.githubusercontent.com/capitanov/chaospy/master/img/Lorenz_3d.gif?sanitize=true

Math model:

dx/dt = sigma * (y - x)
dy/dt = rho * (x - z) - y
dz/dt = x * y - beta * z

where sigma = 10, rho = 28 and beta = 8/3.

Main info

Title Analysis and modeling chaotic systems
Author Alexander Kapitanov
Contact <email_hidden>
Project lang Python 3
First Release 30 May 2019
License GNU GPL 3.0.

Chaotic system

Rossler attractor:

dx/dt = sigma * (y - x)
dy/dt = rho * (x - z) - y
dz/dt = x * y - beta * z

where a = 0.2, b = 0.2 and c = 5.7.

https://raw.githubusercontent.com/capitanov/chaospy/master/img/Rossler_3D.png?sanitize=true

Spectrum and auto correlation

https://raw.githubusercontent.com/capitanov/chaospy/master/img/Lorenz_Spectrum.png?sanitize=true

Source code

You can check the latest sources with the command:

$ git clone <chaospy.git>
$ cd chaospy
$ <install miniconda for your operation system>
$ conda create -y -n venv python==3.9
$ conda activate venv
$ pip install -r requirements.txt

Example run:

$ python run.py --show_plots --show_all lorenz

Dependencies

Project requires:

  • Python (>= 3.9)
  • NumPy (>= 1.19.0)
  • SciPy (>= 1.5.1)
  • Pandas (>= 1.1.0)
  • Matplotlib (>= 3.2.2)
  • Pytest (>= 5.4.3)
  • Pre-commit (>= 2.6.0)

Chaotic models

  • Lorenz
  • Rossler
  • Rikitake
  • Duffing
  • Nose Hoover
  • Lotka Volterra
  • Wang
  • Chua

Help

usage: parser.py [-h] [-p POINTS] [-s STEP]
                 [--init_point INIT_POINT [INIT_POINT ...]] [--show_plots]
                 [--save_plots] [--add_2d_gif]
                 {lorenz,rossler,rikitake,chua,duffing,wang,nose-hoover,lotka-volterra}
                 ...

    Specify command line arguments for dynamic system.Calculate some math
    parameters and plot some graphs of a given chaotic system.

    optional arguments:
      -h, --help            show this help message and exit
      -p POINTS, --points POINTS
                            Number of points for dymanic system. Default: 1024.
      -s STEP, --step STEP  Step size for calculating the next coordinates of
                            chaotic system. Default: 100.
      --init_point INIT_POINT [INIT_POINT ...]
                            Initial point as string of three floats: "X, Y, Z".
      --show_plots          Show plots of a model. Default: False.
      --save_plots          Save plots to PNG files. Default: False.
      --add_2d_gif          Add 2D coordinates to 3D model into GIF. Default:
                            False.

    Chaotic models:
      You can select one of the chaotic models:

      {lorenz,rossler,rikitake,chua,duffing,wang,nose-hoover,lotka-volterra}
        lorenz              Lorenz chaotic model
        rossler             Rossler chaotic model
        rikitake            Rikitake chaotic model
        chua                Chua chaotic model
        duffing             Duffing chaotic model
        wang                Wang chaotic model
        nose-hoover         Nose-hoover chaotic model
        lotka-volterra      Lotka-volterra chaotic model

Chaotic attractors are used as subparse command. Example:

Lorenz attractor

usage: parser.py lorenz [-h] [--sigma SIGMA] [--beta BETA] [--rho RHO]

optional arguments:
  -h, --help     show this help message and exit

Lorenz model arguments:
  --sigma SIGMA  Lorenz system parameter. Default: 10
  --beta BETA    Lorenz system parameter. Default: 2.6666666666666665
  --rho RHO      Lorenz system parameter. Default: 28

Chua circuit

usage: parser.py chua [-h] [--alpha ALPHA] [--beta BETA] [--mu0 MU0]
                      [--mu1 MU1]

optional arguments:
  -h, --help     show this help message and exit

Chua model arguments:
  --alpha ALPHA  Chua system parameter. Default: 0.1
  --beta BETA    Chua system parameter. Default: 28
  --mu0 MU0      Chua system parameter. Default: -1.143
  --mu1 MU1      Chua system parameter. Default: -0.714

See Also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].