Commutative Noise Methods
When multiple noise sources satisfy commutativity conditions, specialized methods can achieve higher accuracy and efficiency compared to general methods. These methods avoid expensive Lévy area computations while maintaining high order.
Recommended Commutative Noise Methods
RKMilCommute - Runge-Kutta Milstein for Commutative Noise
RKMilGeneral - General Milstein for Non-commutative Noise
StochasticDiffEqMilstein.RKMilGeneral — Type
RKMilGeneral(; interpretation=Ito, ii_approx=IILevyArea(), c=1, p=nothing, dt=nothing)RKMilGeneral: Generalized Runge-Kutta Milstein Method
Adaptive step-size Milstein method supporting general (non-diagonal, non-commutative) noise via iterated stochastic integrals (Levy area approximation).
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Adaptive step size
- Noise types: General (scalar, diagonal, non-diagonal, commutative)
- SDE interpretation: Configurable (Ito or Stratonovich)
Keyword Arguments
interpretation:SciMLBase.AlgorithmInterpretation.Ito(default) orSciMLBase.AlgorithmInterpretation.Stratonovichii_approx: Iterated integral approximation method (default:IILevyArea())c: Truncation parameter for Levy area computation (default: 1)p: Truncation level (default:nothingfor automatic; settruewithdtfor manual)dt: Time step (used only whenp=truefor manual truncation)
When to Use
- For SDEs with general (non-commutative) noise requiring strong order 1.0
- When adaptive step size is needed with Milstein-type accuracy
- When Levy area computation is acceptable for accuracy improvement
- For non-diagonal noise SDEs where RKMil/RKMilCommute are not applicable
Performance Notes
- Levy area computation scales with noise dimension
- Adaptive truncation balances accuracy and efficiency
References
- Kloeden, P.E., Platen, E., Numerical Solution of Stochastic Differential Equations. Springer. Berlin Heidelberg (2011)
- Kastner, F. and Roessler, A., "LevyArea.jl: A Julia package for Levy area computation", arXiv:2201.08424
- LevyArea.jl: https://github.com/stochastics-uni-luebeck/LevyArea.jl
Three-Stage Milstein Methods
WangLi3SMil Family - Fixed Step Milstein Methods
StochasticDiffEqMilstein.WangLi3SMil_A — Type
WangLi3SMil_A()WangLi3SMil_A: 3-Stage Milstein Method A (Nonstiff)
Fixed step-size explicit 3-stage Milstein method with strong and weak order 1.0 for Ito SDEs.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed step size
- Noise types: Depends on tableau (typically diagonal/scalar)
- SDE interpretation: Ito
When to Use
- When fixed step size is preferred
- For Ito SDEs requiring order 1.0 accuracy
- Part of WangLi family - compare performance with other variants
- When computational cost per step is less important than simplicity
References
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
StochasticDiffEqMilstein.WangLi3SMil_B — Type
WangLi3SMil_B()WangLi3SMil_B: 3-Stage Milstein Method B (Nonstiff)
Alternative 3-stage Milstein method with different stability and accuracy characteristics.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed step size
- Noise types: Depends on tableau (typically diagonal/scalar)
- SDE interpretation: Ito
References
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
StochasticDiffEqMilstein.WangLi3SMil_C — Type
WangLi3SMil_C()WangLi3SMil_C: 3-Stage Milstein Method C (Nonstiff)
Third variant in the WangLi 3-stage Milstein family.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed step size
- Noise types: Depends on tableau (typically diagonal/scalar)
- SDE interpretation: Ito
References
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
StochasticDiffEqMilstein.WangLi3SMil_D — Type
WangLi3SMil_D()WangLi3SMil_D: 3-Stage Milstein Method D (Nonstiff)
Fourth variant in the WangLi 3-stage Milstein family.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed step size
- Noise types: Depends on tableau (typically diagonal/scalar)
- SDE interpretation: Ito
References
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
StochasticDiffEqMilstein.WangLi3SMil_E — Type
WangLi3SMil_E()WangLi3SMil_E: 3-Stage Milstein Method E (Nonstiff)
Fifth variant in the WangLi 3-stage Milstein family.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed step size
- Noise types: Depends on tableau (typically diagonal/scalar)
- SDE interpretation: Ito
References
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
StochasticDiffEqMilstein.WangLi3SMil_F — Type
WangLi3SMil_F()WangLi3SMil_F: 3-Stage Milstein Method F (Nonstiff)
Sixth and final variant in the WangLi 3-stage Milstein family.
Method Properties
- Strong Order: 1.0
- Weak Order: 1.0
- Time stepping: Fixed step size
- Noise types: Depends on tableau (typically diagonal/scalar)
- SDE interpretation: Ito
When to Use (WangLi Family)
- Compare all variants (A-F) to find best performance for your problem
- Fixed step applications where step size is predetermined
- Benchmarking against adaptive methods
- When Milstein accuracy is needed with explicit fixed steps
References
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
Understanding Commutative Noise
Commutativity Condition
Noise terms g₁, g₂, ..., gₘ are commutative if:
[gᵢ, gⱼ] = gᵢ(∂gⱼ/∂x) - gⱼ(∂gᵢ/∂x) = 0for all pairs (i,j).
Examples of Commutative Noise:
- Additive noise: g(u,t) = σ(t) (independent of u)
- Scalar multiplicative: g(u,t) = σ(t)u (same u dependence)
- Diagonal with same function: gᵢ(u,t) = σᵢ(t)h(u)
Examples of Non-commutative Noise:
- Different multiplicative terms: g₁ = σ₁u₁, g₂ = σ₂u₂
- Cross-coupling: g₁ = σ₁₁u₁ + σ₁₂u₂, g₂ = σ₂₁u₁ + σ₂₂u₂
Method Selection Guide
For Commutative Noise:
- RKMilCommute - Adaptive, excellent general choice
- WangLi3SMil methods - Fixed step, when dt is predetermined
For Non-commutative Noise:
- RKMilGeneral - Handles general case with Lévy area
- Fall back to SRI/SRA methods - More robust for complex noise
For Uncertain Commutativity:
- Test with RKMilCommute first
- If results seem incorrect, switch to RKMilGeneral or SRI methods
Computational Advantages
Commutative case:
- No Lévy area computation needed
- Simpler stochastic integrals
- Higher efficiency per step
- Better scalability to high dimensions
Non-commutative case:
- Requires Lévy area approximation
- More expensive per step
- Uses specialized algorithms (LevyArea.jl integration)
Performance Tips
- Verify commutativity before using specialized methods
- Use appropriate interpretation (Itô vs Stratonovich)
- Consider problem dimension - benefits increase with system size
- Test accuracy - commutative methods may be more sensitive
Iterated Integrals and Lévy Area
For Commutative Noise (IICommutative):
Only simple stochastic integrals ∫₀ᵗ dWₛ are needed.
For Non-commutative Noise (IILevyArea):
Requires double integrals ∫₀ᵗ ∫₀ˢ dWᵤdWₛ (Lévy area).
RKMilGeneral automatically chooses optimal Lévy area algorithms via LevyArea.jl.
References
- Kloeden, P.E., Platen, E., "Numerical Solution of Stochastic Differential Equations"
- Wang and Li, "Three-stage stochastic Runge-Kutta methods for stochastic differential equations"
- Kastner, F. and Rößler, A., "LevyArea.jl" for Lévy area computation