@brownian vector?

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
1 Like

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.

1 Like