Julia nonlinear dynamics laboratory
A completed Julia 1.12.7 laboratory covering logistic-map bifurcations, Lorenz chaos, Van der Pol limit cycles, Hopf stability, pitchfork continuation, and numerical convergence.

Software compatibility
The project includes pinned Project.toml and Manifest.toml environments for Julia 1.12.7. MATLAB, Mathematica, and Python versions are not included.
Project definition
Problem statement
Nonlinear systems can change stability, create periodic orbits, and become chaotic as parameters vary, while numerical tolerances and transient length can alter the apparent result.
Project objectives
- Generate a 601-point logistic-map bifurcation and Lyapunov sweep.
- Measure initial-condition sensitivity at r = 4 against the exact log(2) exponent.
- Calculate the Lorenz trajectory, phase projections, upward Poincare section, and largest Lyapunov exponent.
- Compare Van der Pol limit-cycle period and amplitude at four nonlinear-damping values.
- Study analytical Hopf branches and numerical pitchfork continuation.
- Verify short-horizon Lorenz solver error under three tolerances.
Project structure
Project components
Logistic map
Removes transients, retains long-run states, estimates Lyapunov exponents, and measures initial-condition separation.
Lorenz analysis
Runs Vern9 integration, tangent-space renormalisation, phase projections, state histories, and upward z = 27 Poincare crossings.
Van der Pol study
Measures post-transient limit cycles, peak amplitudes, positive crossings, and periods at mu 0.1, 1, 3, and 5.
Normal forms
Calculates supercritical Hopf stability and cycle branches and continues a pitchfork equilibrium with BifurcationKit PALC.
Verification
Checks analytical values, finite integration, exponent ranges, event counts, continuation output, tolerance response, and delivery files.
Methodology
Project workflow
- 01Instantiate
Julia reads the pinned Project.toml and Manifest.toml dependency graph.
- 02Run study
One Julia command executes all five model families and the convergence calculation.
- 03Retain data
Parameter sweeps, trajectories, sections, cycle measures, branch points, and summaries are written as open files.
- 04Build evidence
CairoMakie generates fourteen paired PNG and SVG result figures.
- 05Verify
Seven test sets, analytical anchors, a repository validator, and a container smoke run check the completed delivery.
Demonstration scenario
The student first explains logistic period doubling and sensitive dependence, then compares the Lorenz attractor, projections, Poincare section, and positive Lyapunov exponent. Van der Pol cycles and both normal forms show how stable behaviour changes with parameters, while the tolerance study separates mathematical sensitivity from solver error.
Engineering
Tools and method
- Tools
- The project uses Julia 1.12.7, DifferentialEquations 8.0.3, BifurcationKit 0.8.2, CairoMakie 0.15.13 for subject analysis, simulation, and results.
- Environment
- Julia 1.12.7 with direct dependencies and the complete transitive graph pinned in Manifest.toml.
- Integration
- DifferentialEquations 8.0.3 with Vern9 and declared absolute and relative tolerances.
- Continuation
- BifurcationKit 0.8.2 with pseudo-arclength continuation and special-point detection.
- Visualisation
- CairoMakie 0.15.13 creates fourteen raster and vector scientific figures from retained arrays.
Testing
Evaluation
Evaluation measures
- Logistic largest exponent 0.693368 at r = 4, only 0.000220 from log(2)
- Positive logistic exponents at 32.280 percent of the 601 sampled parameter values
- Lorenz largest exponent 0.924019 with 106 upward z = 27 Poincare crossings
- Van der Pol period rises from 6.287111 at mu 0.1 to 11.612228 at mu 5
- Pitchfork continuation retains 50 points and detects two special points
- Lorenz final-state error falls from 1.418e-6 to 2.205e-10 as tolerance tightens
- Seven automated test sets passing
Project boundaries
- Requires the pinned Julia 1.12.7 environment.
- No MATLAB, Mathematica, or Python implementation is included.
- The study covers declared low-dimensional deterministic models over finite parameter grids and integration horizons.
- Double-precision chaotic trajectories are interpreted through geometry and diagnostics rather than long-horizon point prediction.
- Canonical analytical and literature comparisons are included, but no physical experiment is performed.
- The numerical evidence is not presented as a universal mathematical proof or professional certification.
Included
- 01Pinned Julia Project.toml and complete Manifest.toml
- 02Logistic, Lorenz, Van der Pol, Hopf, and pitchfork implementations
- 03Bifurcation, sensitivity, trajectory, phase, Poincare, Lyapunov, limit-cycle, continuation, and tolerance evidence
- 04Open CSV, TOML, and JSON result files
- 05Fourteen generated result figures in PNG and SVG formats
- 06Three licensed historical literature images with source and licence records
- 07Seven automated test sets
- 08GitHub Actions verification on the pinned Julia runtime
- 09Complete project files, models, calculations, and analysis material in a private GitHub repository
- 1080-page project documentation in PDF and editable Word formats
- 1110-page setup and usage guide in PDF and editable Word formats
- 1229 annotated references
Project record
No information is collected on this page.
- Permanent project ID
- GP-MA-1LZ5K7N
- Catalogued
- 22 Aug 2026
- Completed
- 23 Aug 2026
- Verified
- 28 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.