All Projects → JuliaDynamics → NonlinearDynamicsTextbook

JuliaDynamics / NonlinearDynamicsTextbook

Licence: MIT license
Nonlinear Dynamics: A concise introduction interlaced with code

Programming Languages

julia
2034 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to NonlinearDynamicsTextbook

DelayEmbeddings.jl
Delay coordinates embedding and Dataset definitions
Stars: ✭ 21 (-85.52%)
Mutual labels:  chaos, nonlinear-dynamics, nonlinear-timeseries-analysis
RecurrenceAnalysis.jl
Recurrence Quantification Analysis in Julia
Stars: ✭ 37 (-74.48%)
Mutual labels:  nonlinear-dynamics, nonlinear-timeseries-analysis
pressio
Model reduction for linear and nonlinear dynamical systems: core C++ library
Stars: ✭ 35 (-75.86%)
Mutual labels:  dynamical-systems, nonlinear-dynamics
Blockade
Docker-based utility for testing network failures and partitions in distributed applications
Stars: ✭ 834 (+475.17%)
Mutual labels:  chaos
Da Tutorials
Course on data assimilation (DA)
Stars: ✭ 43 (-70.34%)
Mutual labels:  chaos
Chaos Http Proxy
Introduce failures into HTTP requests via a proxy server
Stars: ✭ 128 (-11.72%)
Mutual labels:  chaos
Public Bugbounty Programs
Community curated list of public bug bounty and responsible disclosure programs.
Stars: ✭ 233 (+60.69%)
Mutual labels:  chaos
Kubeinvaders
Gamified Chaos Engineering Tool for Kubernetes
Stars: ✭ 673 (+364.14%)
Mutual labels:  chaos
Dapper
Data Assimilation with Python: a Package for Experimental Research
Stars: ✭ 181 (+24.83%)
Mutual labels:  chaos
Chaoskube
chaoskube periodically kills random pods in your Kubernetes cluster.
Stars: ✭ 1,325 (+813.79%)
Mutual labels:  chaos
Pod Reaper
Rule based pod killing kubernetes controller
Stars: ✭ 83 (-42.76%)
Mutual labels:  chaos
Interactivedynamics.jl
Fast, general-purpose interactive applications for dynamical systems
Stars: ✭ 66 (-54.48%)
Mutual labels:  chaos
Pumba
Chaos testing, network emulation, and stress testing tool for containers
Stars: ✭ 2,136 (+1373.1%)
Mutual labels:  chaos
Comcast
Simulating shitty network connections so you can build better systems.
Stars: ✭ 7,703 (+5212.41%)
Mutual labels:  chaos
Gaos
HTTP mocking to test API services for chaos scenarios
Stars: ✭ 191 (+31.72%)
Mutual labels:  chaos
Muxy
Chaos engineering tool for simulating real-world distributed system failures
Stars: ✭ 756 (+421.38%)
Mutual labels:  chaos
Chaos
The Chaos Programming Language
Stars: ✭ 171 (+17.93%)
Mutual labels:  chaos
Chaostools.jl
Tools for the exploration of chaos and nonlinear dynamics
Stars: ✭ 77 (-46.9%)
Mutual labels:  chaos
Nolitsa
A Python module implementing some standard algorithms used in nonlinear time series analysis
Stars: ✭ 75 (-48.28%)
Mutual labels:  chaos
Wg Chaoseng
Chaos Engineering Working Group
Stars: ✭ 99 (-31.72%)
Mutual labels:  chaos

Nonlinear Dynamics: A concise introduction interlaced with code

Nonlinear Dynamics: A concise introduction interlaced with code

This repository holds material related with the textbook Nonlinear Dynamics: A concise introduction interlaced with code, co-authored by George Datseris and Ulrich Parlitz. The textbook will be published by Springer-Nature, in the series Undergraduate Lecture Notes in Physics.

https://link.springer.com/book/10.1007/978-3-030-91032-7

Please do not open issues to ask questions on installing and running Julia or Julia packages, or questions on nonlinear dynamics in this repository. Instead, open issues directly related with the book: found typos, problems with the source code contained here, suggestions for improvement of existing book sections, suggestions for new book sections, contributing new exercises, new multiple choice questions, etc. All contributions will be properly acknowledged whenever a new edition is out.

Contents

  1. Sample material
  2. Tutorials for Julia and related packages
  3. Reproducing figures
  4. Exercise datasets
  5. Multiple choice questions
  6. Interactive applications and videos

Sample material

A sample of 10% the book length is contained as .pdf in the sample folder.

Tutorials for Julia and related packages

Below we provide links to various sources for learning Julia, or the packages that we use in the code snippets in the book.

Reproducing figures

The accompanying code base used here is using the Julia Language and DrWatson to make a reproducible environment that creates the figures of the book. The code that creates the figures is in the figure_generation folder. Notice however that some figures were made with (or enhanced by) PowerPoint and we do not share this here.

To (locally) reproduce a figure, first install Julia and then do the following:

  1. Download this repository as-is and export it to some folder.
  2. Install DrWatson in your general Julia installation by doing:
    julia> using Pkg; Pkg.add("DrWatson")
    
  3. Then do:
    julia> Pkg.activate("path/to/the/downloaded/project/folder")
    julia> Pkg.instantiate() # installs all packages used by the repo
    

Now all necessary packages are installed and all scripts should run out of the box. As you will notice, all scripts start with the commands:

using DrWatson
@quickactivate "NonlinearDynamicsTextbook"

which ensures that only local directories will be used, as well as the exact package versions contained within the repository, leading to full reproducibility. These package versions are also contained in the Project.toml and Manifest.toml files.

Exercise datasets

The datasets that are used in the book exercises are contained in the exercise_data folder, all being in the same text-based format. To load the exercise data you only have to do:

using DelimitedFiles
n = 3 # for the `n`-th dataset
X = readdlm(projectdir("exercise_data", "$n.csv"))

The same folder contains information of where this data is coming from: data_explanations.md.

Multiple choice questions

Multiple choice questions that we use during lecturing to increase student involvement are in the multiple_choice folder.

Interactive applications and videos

In the folder animations we provide scripts that launch interactive applications, and also pre-recorded .mp4 files for convenience.

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