Skip to content

Commit b94e148

Browse files
YingboMashashi
andcommitted
Don't simplify by default
Co-authored-by: "Shashi Gowda" <[email protected]>
1 parent 16a3571 commit b94e148

File tree

6 files changed

+31
-31
lines changed

6 files changed

+31
-31
lines changed

src/differentials.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,14 @@ function expand_derivatives(O::Symbolic, simplify=false; occurances=nothing)
154154
end
155155
end
156156

157-
function expand_derivatives(n::Num, simplify=true; occurances=nothing)
157+
function expand_derivatives(n::Num, simplify=false; occurances=nothing)
158158
Num(expand_derivatives(value(n), simplify; occurances=occurances))
159159
end
160160

161161
_iszero(x) = false
162162
_isone(x) = false
163163

164-
expand_derivatives(x, simplify=true;occurances=nothing) = x
164+
expand_derivatives(x, simplify=false;occurances=nothing) = x
165165

166166
# Don't specialize on the function here
167167
"""

src/direct.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
"""
22
```julia
3-
derivative(O, v; simplify = true)
3+
derivative(O, v; simplify=false)
44
```
55
66
A helper function for computing the derivative of an expression with respect to
77
`var`.
88
"""
9-
function derivative(O, v; simplify = true)
9+
function derivative(O, v; simplify=false)
1010
if O isa AbstractArray
1111
Num[Num(expand_derivatives(Differential(v)(value(o)), simplify)) for o in O]
1212
else
@@ -16,37 +16,37 @@ end
1616

1717
"""
1818
```julia
19-
gradient(O, vars::AbstractVector; simplify = true)
19+
gradient(O, vars::AbstractVector; simplify=false)
2020
```
2121
2222
A helper function for computing the gradient of an expression with respect to
2323
an array of variable expressions.
2424
"""
25-
function gradient(O, vars::AbstractVector; simplify = true)
25+
function gradient(O, vars::AbstractVector; simplify=false)
2626
Num[Num(expand_derivatives(Differential(v)(value(O)),simplify)) for v in vars]
2727
end
2828

2929
"""
3030
```julia
31-
jacobian(ops::AbstractVector, vars::AbstractVector; simplify = true)
31+
jacobian(ops::AbstractVector, vars::AbstractVector; simplify=false)
3232
```
3333
3434
A helper function for computing the Jacobian of an array of expressions with respect to
3535
an array of variable expressions.
3636
"""
37-
function jacobian(ops::AbstractVector, vars::AbstractVector; simplify = true)
37+
function jacobian(ops::AbstractVector, vars::AbstractVector; simplify=false)
3838
Num[Num(expand_derivatives(Differential(value(v))(value(O)),simplify)) for O in ops, v in vars]
3939
end
4040

4141
"""
4242
```julia
43-
sparsejacobian(ops::AbstractVector, vars::AbstractVector; simplify = true)
43+
sparsejacobian(ops::AbstractVector, vars::AbstractVector; simplify=false)
4444
```
4545
4646
A helper function for computing the sparse Jacobian of an array of expressions with respect to
4747
an array of variable expressions.
4848
"""
49-
function sparsejacobian(ops::AbstractVector, vars::AbstractVector; simplify = true)
49+
function sparsejacobian(ops::AbstractVector, vars::AbstractVector; simplify=false)
5050
I = Int[]
5151
J = Int[]
5252
du = Num[]
@@ -107,13 +107,13 @@ end
107107

108108
"""
109109
```julia
110-
hessian(O, vars::AbstractVector; simplify = true)
110+
hessian(O, vars::AbstractVector; simplify=false)
111111
```
112112
113113
A helper function for computing the Hessian of an expression with respect to
114114
an array of variable expressions.
115115
"""
116-
function hessian(O, vars::AbstractVector; simplify = true)
116+
function hessian(O, vars::AbstractVector; simplify=false)
117117
vars = map(value, vars)
118118
first_derivs = map(value, vec(jacobian([values(O)], vars, simplify=simplify)))
119119
n = length(vars)
@@ -200,13 +200,13 @@ end
200200

201201
"""
202202
```julia
203-
sparsehessian(O, vars::AbstractVector; simplify = true)
203+
sparsehessian(O, vars::AbstractVector; simplify=false)
204204
```
205205
206206
A helper function for computing the sparse Hessian of an expression with respect to
207207
an array of variable expressions.
208208
"""
209-
function sparsehessian(O, vars::AbstractVector; simplify = true)
209+
function sparsehessian(O, vars::AbstractVector; simplify=false)
210210
O = value(O)
211211
vars = map(value, vars)
212212
S = hessian_sparsity(O, vars)

src/equations.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@ function _eq_unordered(a, b)
6363
return true
6464
end
6565

66-
function expand_derivatives(eq::Equation, simplify=true)
66+
function expand_derivatives(eq::Equation, simplify=false)
6767
return Equation(expand_derivatives(eq.lhs, simplify), expand_derivatives(eq.rhs, simplify))
6868
end

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function calculate_tgrad(sys::AbstractODESystem;
2-
simplify=true)
2+
simplify=false)
33
isempty(sys.tgrad[]) || return sys.tgrad[] # use cached tgrad, if possible
44

55
# We need to remove explicit time dependence on the state because when we
@@ -18,7 +18,7 @@ function calculate_tgrad(sys::AbstractODESystem;
1818
end
1919

2020
function calculate_jacobian(sys::AbstractODESystem;
21-
sparse=false, simplify=true)
21+
sparse=false, simplify=false)
2222
isempty(sys.jac[]) || return sys.jac[] # use cached Jacobian, if possible
2323
rhs = [eq.rhs for eq equations(sys)]
2424

@@ -52,14 +52,14 @@ end
5252
(f::ODEToExpr)(x) = toexpr(x)
5353

5454
function generate_tgrad(sys::AbstractODESystem, dvs = states(sys), ps = parameters(sys);
55-
simplify = true, kwargs...)
55+
simplify=false, kwargs...)
5656
tgrad = calculate_tgrad(sys,simplify=simplify)
5757
return build_function(tgrad, dvs, ps, sys.iv;
5858
conv = ODEToExpr(sys), kwargs...)
5959
end
6060

6161
function generate_jacobian(sys::AbstractODESystem, dvs = states(sys), ps = parameters(sys);
62-
simplify = true, sparse = false, kwargs...)
62+
simplify=false, sparse = false, kwargs...)
6363
jac = calculate_jacobian(sys;simplify=simplify,sparse=sparse)
6464
sub = Dict(value.(dvs) .=> makesym.(value.(dvs)))
6565
jac = map(d->substitute(d, sub), jac)
@@ -79,7 +79,7 @@ function generate_function(sys::AbstractODESystem, dvs = states(sys), ps = param
7979
conv = ODEToExpr(sys),kwargs...)
8080
end
8181

82-
function calculate_massmatrix(sys::AbstractODESystem; simplify=true)
82+
function calculate_massmatrix(sys::AbstractODESystem; simplify=false)
8383
eqs = equations(sys)
8484
dvs = states(sys)
8585
M = zeros(length(eqs),length(eqs))
@@ -123,7 +123,7 @@ function DiffEqBase.ODEFunction{iip}(sys::AbstractODESystem, dvs = states(sys),
123123
version = nothing, tgrad=false,
124124
jac = false,
125125
eval_expression = true,
126-
sparse = false, simplify = true,
126+
sparse = false, simplify=false,
127127
kwargs...) where {iip}
128128

129129
f_gen = generate_function(sys, dvs, ps; expression=Val{eval_expression}, kwargs...)
@@ -186,7 +186,7 @@ function ODEFunctionExpr{iip}(sys::AbstractODESystem, dvs = states(sys),
186186
version = nothing, tgrad=false,
187187
jac = false,
188188
linenumbers = false,
189-
sparse = false, simplify = true,
189+
sparse = false, simplify=false,
190190
kwargs...) where {iip}
191191

192192
idx = iip ? 2 : 1
@@ -245,7 +245,7 @@ function DiffEqBase.ODEProblem{iip}(sys::AbstractODESystem,u0map,tspan,
245245
version = nothing, tgrad=false,
246246
jac = false,
247247
checkbounds = false, sparse = false,
248-
simplify = true,
248+
simplify=false,
249249
linenumbers = true, parallel=SerialForm(),
250250
kwargs...) where iip
251251
```
@@ -258,7 +258,7 @@ function DiffEqBase.ODEProblem{iip}(sys::AbstractODESystem,u0map,tspan,
258258
version = nothing, tgrad=false,
259259
jac = false,
260260
checkbounds = false, sparse = false,
261-
simplify = true,
261+
simplify=false,
262262
linenumbers = true, parallel=SerialForm(),
263263
eval_expression = true,
264264
kwargs...) where iip
@@ -289,7 +289,7 @@ function DiffEqBase.ODEProblemExpr{iip}(sys::AbstractODESystem,u0map,tspan,
289289
checkbounds = false, sparse = false,
290290
linenumbers = true, parallel=SerialForm(),
291291
skipzeros=true, fillzeros=true,
292-
simplify = true,
292+
simplify=false,
293293
kwargs...) where iip
294294
```
295295
@@ -304,7 +304,7 @@ function ODEProblemExpr{iip}(sys::AbstractODESystem,u0map,tspan,
304304
version = nothing, tgrad=false,
305305
jac = false,
306306
checkbounds = false, sparse = false,
307-
simplify = true,
307+
simplify=false,
308308
linenumbers = false, parallel=SerialForm(),
309309
kwargs...) where iip
310310

src/systems/diffeqs/sdesystem.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ function stochastic_integral_transform(sys::SDESystem, correction_factor)
100100
eqs = vcat([sys.eqs[i].lhs ~ sys.noiseeqs[i] for i in eachindex(sys.states)]...)
101101
de = ODESystem(eqs,sys.iv,sys.states,sys.ps)
102102

103-
jac = calculate_jacobian(de, sparse=false, simplify=true)
103+
jac = calculate_jacobian(de, sparse=false, simplify=false)
104104
∇σσ′ = simplify.(jac*sys.noiseeqs)
105105

106106
deqs = vcat([sys.eqs[i].lhs ~ sys.eqs[i].rhs+ correction_factor*∇σσ′[i] for i in eachindex(sys.states)]...)
@@ -109,13 +109,13 @@ function stochastic_integral_transform(sys::SDESystem, correction_factor)
109109
eqs = vcat([sys.eqs[i].lhs ~ sys.noiseeqs[i] for i in eachindex(sys.states)]...)
110110
de = ODESystem(eqs,sys.iv,sys.states,sys.ps)
111111

112-
jac = calculate_jacobian(de, sparse=false, simplify=true)
112+
jac = calculate_jacobian(de, sparse=false, simplify=false)
113113
∇σσ′ = simplify.(jac*sys.noiseeqs[:,1])
114114
for k = 2:m
115115
eqs = vcat([sys.eqs[i].lhs ~ sys.noiseeqs[Int(i+(k-1)*dimstate)] for i in eachindex(sys.states)]...)
116116
de = ODESystem(eqs,sys.iv,sys.states,sys.ps)
117117

118-
jac = calculate_jacobian(de, sparse=false, simplify=true)
118+
jac = calculate_jacobian(de, sparse=false, simplify=false)
119119
∇σσ′ = ∇σσ′ + simplify.(jac*sys.noiseeqs[:,k])
120120
end
121121

src/systems/nonlinear/nonlinearsystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ function NonlinearSystem(eqs, states, ps;
4545
NonlinearSystem(eqs, value.(states), value.(ps), value.(pins), observed, name, systems)
4646
end
4747

48-
function calculate_jacobian(sys::NonlinearSystem;sparse=false,simplify=true)
48+
function calculate_jacobian(sys::NonlinearSystem;sparse=false,simplify=false)
4949
rhs = [eq.rhs for eq equations(sys)]
5050
vals = [dv for dv in states(sys)]
5151
if sparse
@@ -57,7 +57,7 @@ function calculate_jacobian(sys::NonlinearSystem;sparse=false,simplify=true)
5757
end
5858

5959
function generate_jacobian(sys::NonlinearSystem, vs = states(sys), ps = parameters(sys);
60-
sparse = false, simplify = true, kwargs...)
60+
sparse = false, simplify=false, kwargs...)
6161
jac = calculate_jacobian(sys,sparse=sparse, simplify=simplify)
6262
return build_function(jac, vs, ps;
6363
conv = AbstractSysToExpr(sys), kwargs...)

0 commit comments

Comments
 (0)