User Guides¶
In-depth guides for making the most of Diffid's optimisation and sampling capabilities.
Algorithm Selection¶
-
Choosing an Optimiser
Decision trees and guidelines for selecting the right optimisation algorithm.
-
Tuning Optimisers
Parameter tuning strategies and troubleshooting for each algorithm.
-
Choosing a Sampler
When to use MCMC vs nested sampling for uncertainty quantification.
Problem Configuration¶
-
Cost Metrics
Understanding SSE, RMSE, and GaussianNLL for different use cases.
-
DiffSL Backend
Choosing between dense and sparse solvers for ODE systems.
-
Custom Solvers
Integrating Diffrax, DifferentialEquations.jl, and other external solvers.
Performance¶
-
Parallel Execution
Thread safety, parallelisation strategies, and performance optimisation.
Troubleshooting¶
-
Troubleshooting
Common errors, solutions, and debugging strategies.
Quick Reference¶
When to Use Each Component¶
| Component | Use Case |
|---|---|
| ScalarBuilder | Direct function optimisation |
| DiffsolBuilder | ODE fitting with DiffSL |
| VectorBuilder | Custom solvers (JAX, Julia) |
| Nelder-Mead | Local search, < 10 parameters |
| CMA-ES | Global search, 10-100+ parameters |
| Adam | Gradient-based, smooth objectives |
| SSE | Standard least squares |
| RMSE | Normalised error |
| GaussianNLL | Bayesian inference |
Typical Workflows¶
Simple Optimisation:
ODE Fitting:
Uncertainty Quantification:
Model Comparison:
See Also¶
- Getting Started - Core concepts and installation
- Tutorials - Interactive notebooks
- API Reference - Complete API documentation
- Algorithms - Algorithm-specific documentation