is there a way to create a vector of brownian variables with @brownian
, much like one can create vectors of regular variables with @variables
?
@variables x(t)[1:N] y(t)[1:N] # works
@brownian beta # works
@brownian beta[1:N] # no worky
is there a way to create a vector of brownian variables with @brownian
, much like one can create vectors of regular variables with @variables
?
@variables x(t)[1:N] y(t)[1:N] # works
@brownian beta # works
@brownian beta[1:N] # no worky
Not yet. The feature is brand new and not fully complete yet.
bummer. should i open an issue requesting it as a new feature?
in the meantime, what is the recommended workflow for vectors of SDE’s? is it possible in MTK or do i need to revert to the DiffEq syntax?
specifically, riffing on this test, i’d like to have each of the dependent variables be a vector with each element of x
getting its own independent additive noise:
@variables t
D = Differential(t)
sts = @variables x(t)[1:N] y(t)[1:N] z(t)[1:N]
sts_init = [1.0, 0.0, 0.0]
ps = @parameters σ ρ
ps_val = (10.0, 26.0)
@brownian β # [1-N] here?
s = 0.001
β *= s
eqs = [D.(x) .~ σ .* (y .- x) .+ β;
D.(y) .~ x .* (ρ .- z) .- y;
D.(z) .~ x .* y .- z]
@named sys1 = System(eqs, t)
sys1 = structural_simplify(sys1)
prob = SDEProblem(sys1, sts_init, (0.0, 100.0), ps_val)
solve(prob, LambaEulerHeun(), seed = 1)
any help would be greatly appreciated. i’m less than a week into learning the SciML ecosystem! thanks.
For now revert to DiffEq syntax. This piece is still in flux and undocumented and may take a year to evolve.