{"id":13687416,"url":"https://github.com/JuliaDynamics/NonlinearDynamicsTextbook","last_synced_at":"2025-05-01T12:33:48.720Z","repository":{"id":44848572,"uuid":"387256029","full_name":"JuliaDynamics/NonlinearDynamicsTextbook","owner":"JuliaDynamics","description":"Nonlinear Dynamics: A concise introduction interlaced with code","archived":false,"fork":false,"pushed_at":"2024-06-29T07:17:18.000Z","size":102755,"stargazers_count":220,"open_issues_count":6,"forks_count":23,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-11-12T05:15:40.955Z","etag":null,"topics":["bifurcation-analysis","chaos","complex-networks","dynamical-systems","julia","nonlinear-dynamics","nonlinear-timeseries-analysis","springer-book","textbook","tipping-point"],"latest_commit_sha":null,"homepage":"https://link.springer.com/book/10.1007/978-3-030-91032-7","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuliaDynamics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-18T19:41:12.000Z","updated_at":"2024-11-04T20:13:23.000Z","dependencies_parsed_at":"2024-06-29T08:40:56.402Z","dependency_job_id":null,"html_url":"https://github.com/JuliaDynamics/NonlinearDynamicsTextbook","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaDynamics%2FNonlinearDynamicsTextbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaDynamics%2FNonlinearDynamicsTextbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaDynamics%2FNonlinearDynamicsTextbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaDynamics%2FNonlinearDynamicsTextbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaDynamics","download_url":"https://codeload.github.com/JuliaDynamics/NonlinearDynamicsTextbook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224257643,"owners_count":17281752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bifurcation-analysis","chaos","complex-networks","dynamical-systems","julia","nonlinear-dynamics","nonlinear-timeseries-analysis","springer-book","textbook","tipping-point"],"created_at":"2024-08-02T15:00:54.352Z","updated_at":"2024-11-12T10:31:11.204Z","avatar_url":"https://github.com/JuliaDynamics.png","language":"Julia","funding_links":[],"categories":["Julia"],"sub_categories":[],"readme":"# Nonlinear Dynamics: A concise introduction interlaced with code\n\n\u003e [!IMPORTANT]\n\u003e This repository is currently being updated to DynamicalSystems.jl v3\n\u003e as well as porting all plotting to the Makie ecosystem.\n\u003e To obtain the code exactly corresponding to the first edition of the textbook\n\u003e click \"Releases\" in the right column, and then select \"First Edition\".\n\u003e Download that version of the repository and proceed as explained in the README.md.\n\n![**Nonlinear Dynamics: A concise introduction interlaced with code**](cover.png)\n\nThis 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.\n\n\u003e https://link.springer.com/book/10.1007/978-3-030-91032-7\n\n\n**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.\n\n**Contents**\n1. [Sample material](#sample-material)\n2. [Tutorials for Julia and related packages](#tutorials-for-julia-and-related-packages)\n3. [Reproducing figures](#reproducing-figures)\n4. [Exercise datasets](#exercise-datasets)\n5. [Multiple choice questions](#multiple-choice-questions)\n6. [Interactive applications and videos](#interactive-applications-and-videos)\n\n## Sample material\nA sample of 10% the book length is contained as `.pdf` in the `sample` folder.\n\n## Tutorials for Julia and related packages\nBelow we provide links to various sources for learning Julia, or the packages that we use in the code snippets in the book.\n\n- https://www.youtube.com/watch?v=Fi7Pf2NveH0 : Short-timed, intensive Julia workshop, that will teach everything necessary to use Julia. Aimed at people already familiar with programming\n- https://www.youtube.com/watch?v=TJqOGsKQti8 : Short-timed introductory video for DynamicalSystems.jl\n- https://juliadynamics.github.io/DynamicalSystems.jl/dev/ : Documentation of DynamicalSystems.jl\n- https://juliadynamics.github.io/JuliaDynamics/ : Website of the JuliaDynamics organization\n- https://www.youtube.com/watch?v=KPEqYtEd-zY : Introduction to solving differential equations in Julia, which is generally useful for nonlinear dynamics\n- https://diffeq.sciml.ai/latest/ : Julia differential equations solving library\n- https://julialang.org/community/ : Community resources about Julia\n- https://discourse.julialang.org/ : Official Julia forum (and also the main platform that newcomers ask questions)\n- https://github.com/rveltz/BifurcationKit.jl : Julia software for bifurcation analysis\n\n\n## Reproducing figures\nThe accompanying code base used here is using the Julia Language and [DrWatson](https://juliadynamics.github.io/DrWatson.jl/stable/)\nto make a reproducible environment that creates the figures of the book.\nThe 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.\n\nTo (locally) reproduce a figure, first install Julia and then do the following:\n\n0. Download this repository as-is and export it to some folder.\n0. Install `DrWatson` in your general Julia installation by doing:\n   ```\n   julia\u003e using Pkg; Pkg.add(\"DrWatson\")\n   ```\n1. Then do:\n   ```\n   julia\u003e Pkg.activate(\"path/to/the/downloaded/project/folder\")\n   julia\u003e Pkg.instantiate() # installs all packages used by the repo\n   ```\n\nNow all necessary packages are installed and all scripts should run out of the box.\nAs you will notice, all scripts start with the commands:\n```julia\nusing DrWatson\n@quickactivate \"NonlinearDynamicsTextbook\"\n```\nwhich ensures that only local directories will be used, as well as the *exact* package versions contained within the repository, leading to full reproducibility.\nThese package versions are also contained in the Project.toml and Manifest.toml files.\n\n## Exercise datasets\nThe 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:\n```julia\nusing DelimitedFiles\nn = 3 # for the `n`-th dataset\nX = readdlm(projectdir(\"exercise_data\", \"$n.csv\"))\n```\n\nThe same folder contains information of where this data is coming from: `data_explanations.md`.\n\n## Multiple choice questions\nMultiple choice questions that we use during lecturing to increase student involvement are in the `multiple_choice` folder.\n\n## Interactive applications and videos\nIn the folder `animations` we provide scripts that launch interactive applications, and also pre-recorded `.mp4` files for convenience.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJuliaDynamics%2FNonlinearDynamicsTextbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJuliaDynamics%2FNonlinearDynamicsTextbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJuliaDynamics%2FNonlinearDynamicsTextbook/lists"}