Comprehensive examples and demonstrations organized by complexity and learning path.
New to MFGArchon? Start here:
# Complete the 5-tutorial learning path (90 minutes total)
python examples/tutorials/01_hello_mfg.py
python examples/tutorials/02_custom_hamiltonian.py
python examples/tutorials/03_2d_geometry.py
python examples/tutorials/04_particle_methods.py
python examples/tutorials/05_config_system.pyExperienced user? Jump to:
basic/- Single-concept demos by categoryadvanced/- Multi-feature applications and advanced methods
📚 tutorials/ - START HERE
5-step learning path for newcomers (10-25 min each):
| Tutorial | Topic | Time | Difficulty |
|---|---|---|---|
| 01_hello_mfg.py | Simplest MFG setup | 10 min | ⭐ Beginner |
| 02_custom_hamiltonian.py | Custom problem definition | 15 min | ⭐ Beginner |
| 03_2d_geometry.py | 2D spatial domains | 20 min | ⭐⭐ Intermediate |
| 04_particle_methods.py | Particle vs grid solvers | 25 min | ⭐⭐ Intermediate |
| 05_config_system.py | ConfigBuilder API | 20 min | ⭐⭐ Intermediate |
🔰 basic/ - Single-Concept Demos
Focused examples demonstrating one concept at a time.
Core MFGArchon API usage:
solve_mfg_demo.py- Basicsolve_mfg()usagelq_mfg_demo.py- Linear-Quadratic MFG problemscustom_hamiltonian_derivs_demo.py- Custom Hamiltonian derivatives
Domain and geometry demos:
2d_crowd_motion_fdm.py- 2D crowd motion basicsgeometry_first_api_demo.py- Geometry-first APIamr_geometry_protocol_demo.py- Adaptive mesh refinement geometrydual_geometry_simple_example.py- Dual geometry basicsdual_geometry_multiresolution.py- Multi-resolution grids
Solver comparisons:
policy_iteration_lq_demo.py- Policy iteration for LQ problemsacceleration_comparison.py- JAX vs NumPy acceleration
Tools and utilities:
hdf5_save_load_demo.py- HDF5 I/O for resultscommon_noise_lq_demo.py- Stochastic MFG with common noisesolver_result_analysis_demo.py- Result analysis toolsutility_demo.py- General utilities
🚀 advanced/ - Multi-Feature Demos
Complex examples combining multiple features and advanced techniques.
Full-featured demonstrations:
mfg_rl_comprehensive_demo.py- Complete RL workflowall_maze_algorithms_visualization.py- Maze generation algorithmspydantic_validation_example.py- Configuration validation
Advanced geometric features:
arbitrary_nd_geometry_demo.py- nD geometry (3D, 4D, ...)maze_implicit_geometry_demo.py- Maze + implicit geometry hybridtriangular_amr_integration.py- Triangular mesh AMRamr_1d_geometry_demo.py- 1D adaptive mesh refinementdual_geometry_fem_mesh.py- FEM mesh integrationmfg_2d_geometry_example.py- 2D geometry examples
Advanced numerical methods:
semi_lagrangian_validation.py- Semi-Lagrangian HJB solversemi_lagrangian_2d_enhancements.py- 2D Semi-Lagrangianweno_family_comparison_demo.py- WENO schemes comparisonparticle_collocation_dual_mode_demo.py- Particle collocationjax_acceleration_demo.py- JAX GPU acceleration
Constrained optimization:
primal_dual_constrained_example.py- Primal-dual methodslagrangian_constrained_optimization.py- Lagrangian optimization
Neural network and RL solvers:
pinn_mfg_example.py- Physics-Informed Neural Networkspinn_bayesian_mfg_demo.py- Bayesian PINN with uncertaintyadaptive_pinn_demo.py- Adaptive training strategiesdgm_simple_validation.py- Deep Galerkin Methodneural_operator_mfg_demo.py- Neural operators for MFG
Reinforcement learning methods:
rl_intro_comparison.py- RL algorithms overviewnash_q_learning_demo.py- Nash Q-Learningcontinuous_action_ddpg_demo.py- Deep Deterministic Policy Gradientcontinuous_control_comparison.py- Continuous control methods
Real-world applications:
traffic_flow_2d_demo.py- Traffic flow modelingportfolio_optimization_2d_demo.py- Financial portfolio optimizationepidemic_modeling_2d_demo.py- Epidemic spread dynamicspredator_prey_mfg.py- Predator-prey systemsheterogeneous_traffic_multi_pop.py- Multi-population trafficnetwork_mfg_comparison_example.py- Network MFGel_farol_bar_demo.py- El Farol Bar problemsanta_fe_bar_demo.py- Santa Fe Bar problemtowel_beach_demo.py- Beach towel placement game
Advanced visualization:
visualize_2d_density_evolution.py- 2D density visualization
Jupyter notebook demonstrations and interactive tutorials (legacy).
📂 outputs/
Generated outputs and visualizations (gitignored, auto-regenerated).
| I want to... | Go to... |
|---|---|
| Learn MFGArchon from scratch | tutorials/ (start with 01) |
| See a basic LQ problem | basic/core_infrastructure/lq_mfg_demo.py |
| Work with 2D problems | tutorials/03_2d_geometry.py or basic/geometry/2d_crowd_motion_fdm.py |
| Use particle methods | tutorials/04_particle_methods.py |
| Configure solvers | tutorials/05_config_system.py |
| Try advanced solvers | advanced/solvers_advanced/ |
| Apply MFG to real problems | advanced/applications/ |
| Use neural networks | advanced/machine_learning/ |
| Work with complex geometry | advanced/geometry_advanced/ |
Minimal (core examples):
pip install numpy scipy matplotlibFull (all features):
pip install numpy scipy matplotlib plotly jupyter
pip install jax jaxlib # Optional: GPU acceleration
pip install torch # Optional: Neural network solversFrom source:
git clone https://github.com/derrring/mfgarchon.git
cd MFGArchon
pip install -e .# Run any example
python examples/tutorials/01_hello_mfg.py
python examples/basic/core_infrastructure/solve_mfg_demo.py
python examples/advanced/applications/traffic_flow_2d_demo.py
# Outputs saved to examples/outputs/ (gitignored)
ls examples/outputs/tutorials/Progressive Learning:
- tutorials/ - Structured learning path (beginner → intermediate)
- basic/ - Single-concept demos (learn individual features)
- advanced/ - Multi-feature demos (combine techniques)
Hierarchical Structure:
- Categories group related examples
- Consistent naming:
{topic}_{variant}_demo.py - Clear README in each category
Research vs Infrastructure:
- Examples in this repo: Infrastructure demos (stable, documented)
- Research experiments: Moved to
mfg-researchrepository
| Category | Subdirectories | Files | Total Lines |
|---|---|---|---|
| tutorials/ | - | 5 | ~1,200 |
| basic/ | 4 | 14 | ~2,000 |
| advanced/ | 7 | 35 | ~10,000 |
| Total | 11 | 54 | ~13,200 |
Found an issue or want to add an example?
- Check if it belongs in MFGArchon (infrastructure) or mfg-research (experiments)
- Place it in the appropriate category
- Follow naming conventions:
{topic}_{variant}_demo.py - Include docstrings with mathematical background
- Add entry to category README
- Open a PR with clear description
November 2025 - Examples Redesign:
- ✅ Created 5-tutorial learning path (tutorials 01-05)
- ✅ Reorganized basic/ into 4 categories
- ✅ Reorganized advanced/ into 7 categories
- ✅ Moved research code to mfg-research repository
- ✅ Updated all documentation
Previous Achievements:
- 100% strategic typing coverage (366 → 0 MyPy errors)
- WENO5 solver, GPU acceleration, hybrid methods
- High-dimensional MFG capabilities
- Benchmarking integration
- Documentation: ../docs/
- GitHub Issues: https://github.com/derrring/mfgarchon/issues
- Discussions: https://github.com/derrring/mfgarchon/discussions
Examples last updated: 2025-11-11 - Examples Redesign Edition