Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a better error message for noise size incompatability
```julia using DifferentialEquations f(du, u, p, t) = du .= 1.01u function g(du, u, p, t) du[1, 1] = 0.3u[1] du[1, 2] = 0.6u[1] du[1, 3] = 0.9u[1] du[1, 4] = 0.12u[1] du[2, 1] = 1.2u[2] du[2, 2] = 0.2u[2] du[2, 3] = 0.3u[2] du[2, 4] = 1.8u[2] end prob = SDEProblem(f, g, randn(ComplexF64,2), (0.0, 1.0), noise_rate_prototype =complex(zeros(2, 4)),noise=RealWienerProcess(0.0,zeros(3))) sol = solve(prob) ``` ``` ERROR: Noise sizes are incompatible. The expected number of noise terms in the defined `noise_rate_prototype` does not match the number of noise terms in the defined `AbstractNoiseProcess`. Please ensure that size(prob.noise_rate_prototype,2) == length(prob.noise.W[1]). Note: Noise process definitions require that users specify `u0`, and this value is directly used in the definition. For example, if `noise = WienerProcess(0.0,0.0)`, then the noise process is a scalar with `u0=0.0`. If `noise = WienerProcess(0.0,[0.0])`, then the noise process is a vector with `u0=0.0`. If `noise_rate_prototype = zeros(2,4)`, then the noise process must be a 4-dimensional process, for example `noise = WienerProcess(0.0,zeros(4))`. This error is a sign that the user definition of `noise_rate_prototype` and `noise` are not aligned in this manner and the definitions should be double checked. size(prob.noise_rate_prototype,2) = 4 length(prob.noise.W[1]) = 3 ``` Should be a much better message for SciML/StochasticDiffEq.jl#543
- Loading branch information