Miscellaneous Methods
This page covers specialized methods for particular types of problems or applications.
Composite Algorithms
StochasticCompositeAlgorithm - Multi-Method Solving
Missing docstring for StochasticCompositeAlgorithm. Check Documenter's build log for details.
RODE Methods (Random ODEs)
RandomEM - Random Euler Method
StochasticDiffEqRODE.RandomEM — Type
RandomEM()RandomEM: Random Euler Method (RODE)
Euler method for Random Ordinary Differential Equations (RODEs) with random parameters.
Method Properties
- Problem type: Random ODEs (RODEs)
- Strong Order: 1.0 (for deterministic part)
- Randomness: Handles random parameters, not Brownian motion
- Time stepping: Fixed step size
When to Use
- Random ODEs with random parameters but no Brownian motion
- Uncertainty quantification with parameter randomness
- Problems with random coefficients or initial conditions
- Monte Carlo simulation of deterministic systems with random inputs
RODE vs SDE
- RODE: Random parameters, deterministic evolution
- SDE: Fixed parameters, stochastic (Brownian) evolution
References
- Random ordinary differential equation methods
RandomHeun - Random Heun Method
StochasticDiffEqRODE.RandomHeun — Type
RandomHeun()RandomHeun: Random Heun Method (RODE)
Heun method for Random Ordinary Differential Equations with improved accuracy.
Method Properties
- Problem type: Random ODEs (RODEs)
- Strong Order: 2.0 (for deterministic part)
- Randomness: Handles random parameters
- Time stepping: Fixed step size
When to Use
- RODEs requiring higher accuracy than RandomEM
- When computational cost per step is acceptable
- Random parameter problems needing second-order accuracy
References
- Higher-order methods for random ODEs
RandomTamedEM - Tamed Random Euler
StochasticDiffEqRODE.RandomTamedEM — Type
RandomTamedEM()RandomTamedEM: Tamed Random Euler Method (RODE)
Tamed Euler method for RODEs with potentially explosive behavior.
Method Properties
- Problem type: Random ODEs with potential blow-up
- Approach: Taming to prevent numerical explosion
- Stability: Enhanced stability for unstable random systems
- Time stepping: Fixed step size with taming
When to Use
- RODEs that may exhibit explosive growth
- When RandomEM gives unstable or explosive solutions
- Random systems with strong nonlinearities
- Problems requiring enhanced numerical stability
Taming Mechanism
Applies taming technique to prevent numerical blow-up while maintaining accuracy for well-behaved solutions.
References
- Tamed methods for random differential equations
Langevin Dynamics
BAOAB - Langevin Integrator
StochasticDiffEqRODE.BAOAB — Type
BAOAB(;gamma=1.0, scale_noise=true)BAOAB: Langevin Dynamics Integrator (Specialized)
Specialized integrator for Langevin dynamics in molecular dynamics simulations, particularly effective for configurational sampling.
Method Properties
- Problem type: Langevin dynamics (second-order SDEs)
- Structure: Position-velocity formulation
- Sampling: Designed for equilibrium sampling
- Time stepping: Fixed step size
- Conservation: Preserves equilibrium distributions
Parameters
gamma::Real = 1.0: Friction coefficientscale_noise::Bool = true: Whether to scale noise appropriately
System Structure
Designed for Langevin systems:
\[\begin{align*} du &= v \, dt \\ dv &= f(v,u) \, dt - γv \, dt + g(u) \sqrt{2γ} \, dW \end{align*}\]
where:
- $u$: position coordinates
- $v$: velocity coordinates
- $γ$: friction coefficient
- $f(v,u)$: force function
- $g(u)$: noise scaling function
When to Use
- Molecular dynamics simulations with Langevin thermostat
- Configurational sampling of molecular systems
- Equilibrium sampling from canonical ensemble
- Second-order SDEs with damping and noise
Algorithm Features
- BAOAB splitting: B(kick) - A(drift) - O(Ornstein-Uhlenbeck) - A(drift) - B(kick)
- Preserves correct equilibrium distribution
- Robust and efficient for molecular sampling
- Well-suited for long-time integration
References
- Leimkuhler B., Matthews C., "Robust and efficient configurational molecular sampling via Langevin dynamics", J. Chem. Phys. 138, 174102 (2013)
Predictor-Corrector Methods
PCEuler - Predictor-Corrector Euler
Integro-Integral-Form (IIF) Methods
IIF1M, IIF2M, IIF1Mil - IIF Methods
StochasticDiffEqIIF.IIF1M — Type
IIF1M(;nlsolve=NLSOLVEJL_SETUP())IIF1M: Integrating Factor Method 1 (Semi-Linear)
First-order integrating factor method for semi-linear SDEs with stiff linear parts.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed or adaptive
- Problem type: Semi-linear SDEs with stiff linear components
- Treatment: Exponential integrator approach
Parameters
nlsolve: Nonlinear solver configuration
When to Use
- Semi-linear SDEs: du = (L*u + N(u))dt + g(u)dW where L is stiff linear operator
- Problems amenable to integrating factor techniques
- When exponential integrators are appropriate
- Stiff linear parts with nonlinear perturbations
Algorithm Description
Applies integrating factor exp(L*t) to handle stiff linear part exactly while treating nonlinear parts numerically.
References
- Integrating factor methods for stiff SDEs
StochasticDiffEqIIF.IIF2M — Type
IIF2M(;nlsolve=NLSOLVEJL_SETUP())IIF2M: Integrating Factor Method 2 (Semi-Linear)
Second-order integrating factor method for semi-linear SDEs.
Method Properties
- Strong Order: 2.0
- Weak Order: 2.0
- Time stepping: Fixed or adaptive
- Problem type: Semi-linear SDEs with stiff linear components
- Treatment: Higher-order exponential integrator
Parameters
nlsolve: Nonlinear solver configuration
When to Use
- When higher accuracy than IIF1M is needed
- Semi-linear problems requiring second-order convergence
- More expensive but more accurate than IIF1M
References
- Higher-order integrating factor methods for SDEs
StochasticDiffEqIIF.IIF1Mil — Type
IIF1Mil(;nlsolve=NLSOLVEJL_SETUP())IIF1Mil: Integrating Factor Milstein Method (Semi-Linear)
Integrating factor method combined with Milstein correction for semi-linear SDEs.
Method Properties
- Strong Order: 1.0 (with Milstein correction)
- Weak Order: 1.0
- Time stepping: Fixed or adaptive
- Problem type: Semi-linear SDEs with stiff linear components
- Treatment: Exponential integrator with Milstein correction
Parameters
nlsolve: Nonlinear solver configuration
When to Use
- Semi-linear SDEs requiring Milstein-type accuracy
- When both stiff linear treatment and higher-order stochastic accuracy are needed
- Alternative to IIF1M with enhanced stochastic treatment
References
- Integrating factor methods with Milstein correction
Simplified Methods
SimplifiedEM - Simplified Euler-Maruyama
When to Use Miscellaneous Methods
StochasticCompositeAlgorithm:
- When problem characteristics change during integration
- Combining methods for different regimes
- Automatic method switching based on conditions
RODE Methods:
- Random ordinary differential equations
- Problems with random parameters but no Brownian motion
- Uncertainty quantification applications
BAOAB:
- Molecular dynamics simulations
- Langevin equations with specific structure
- When preserving equilibrium distributions is important
IIF Methods:
- Semi-linear problems with stiff linear parts
- Problems amenable to integrating factor techniques
- When exponential integrators are appropriate
PCEuler:
- Problems requiring specific drift-diffusion coupling
- When analytical ggprime function is available
- Specialized predictor-corrector applications
These methods serve specific niches in stochastic computation and may be optimal for particular problem structures.