Skip to content

Commit cdf8a0f

Browse files
fix tutorial by covering the other zero/one dispatches
1 parent 5ca00a7 commit cdf8a0f

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/ModelingToolkit.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ abstract type AbstractODESystem <: AbstractSystem end
4040

4141
Base.promote_rule(::Type{<:Number},::Type{<:Expression}) = Expression
4242
Base.zero(::Type{<:Expression}) = Constant(0)
43+
Base.zero(::Expression) = Constant(0)
4344
Base.one(::Type{<:Expression}) = Constant(1)
45+
Base.one(::Expression) = Constant(1)
46+
Base.oneunit(::Expression) = Constant(1)
47+
Base.oneunit(::Type{<:Expression}) = Constant(1)
4448

4549
"""
4650
$(TYPEDSIGNATURES)

test/operation_overloads.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,17 @@ C = sparse([1, 2], [2, 1], [c, c])
3232
D = sparse([1, 2], [2, 1], [d, d])
3333

3434
@test isequal(C * D, sparse([1,2], [1,2], [c * d, c * d]))
35+
36+
@parameters t σ ρ β
37+
@variables x(t) y(t) z(t)
38+
@derivatives D'~t Dx'~x Dy'~y Dz'~z
39+
eqs = [D(x) ~ σ*(y-x),
40+
D(y) ~ x*-z)-y,
41+
D(z) ~ x*y - β*z]
42+
J = [Dx(eqs[1].rhs) Dy(eqs[1].rhs) Dz(eqs[1].rhs)
43+
Dx(eqs[2].rhs) Dy(eqs[2].rhs) Dz(eqs[2].rhs)
44+
Dx(eqs[3].rhs) Dy(eqs[3].rhs) Dz(eqs[3].rhs)]
45+
46+
J = expand_derivatives.(J)
47+
using LinearAlgebra
48+
luJ = lu(J,Val(false))

0 commit comments

Comments
 (0)