An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
The overload for Symbolics.substitute takes a dict mapping symbols to be replaced to the values to replace them with. However, the symbols must be written in the local scope of whatever model you're substituting into:
@parameters y, w
function ExampleMod(;name)
@variables begin
x(t)=0
u(t)
end
eqs = [
D(x) ~ u
u ~ y*sin(t)
]
return ODESystem(eqs, t; name=name)
end
@named mdl = ExampleMod()
equations(substitute(mdl, Dict(mdl.y => w))) # still has y in it
equations(substitute(mdl, Dict(y => w))) # replaces y with w
It should be possible to substitute into a system using fully qualified names.
The overload for
Symbolics.substitute
takes a dict mapping symbols to be replaced to the values to replace them with. However, the symbols must be written in the local scope of whatever model you're substituting into:It should be possible to substitute into a system using fully qualified names.