Closed TorkelE closed 1 year ago
Initially I got the error or a larger system, but can reproduce it for a small as well.
Basically, I have a reaction system, for which I want to evaluate the jacobian. However, just getting to the sparsity I get an error:
using Catalyst, SparseDiffTools, SparsityDetection, SparseArrays rn = @reaction_network begin (k1,k2), X <--> Y end k1 k2 f = (y,x) -> ODEFunction(convert(ODESystem,rn))(y,x,[1.0,2.0],0.0) input = rand(2) output = similar(input) sparsity_pattern = jacobian_sparsity(f,output,input) #jac = Float64.(sparse(sparsity_pattern))
which yields
UndefVarError: m not defined Stacktrace: [1] overdub @ ~/.julia/packages/Cassette/34vIw/src/context.jl:288 [inlined] [2] convert(::Type{ODESystem}, ::ReactionSystem{Nothing, Catalyst.NetworkProperties{Int64, Term{Real, Base.ImmutableDict{DataType, Any}}}}) @ ~/.julia/packages/Catalyst/nDiu2/src/reactionsystem.jl:1246 [inlined] [3] recurse @ ~/.julia/packages/Catalyst/nDiu2/src/reactionsystem.jl:1246 [inlined] [4] recurse(::Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}, ::typeof(convert), ::Type{ODESystem}, ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, ReactionSystem{Nothing, Catalyst.NetworkProperties{Int64, Term{Real, Base.ImmutableDict{DataType, Any}}}}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:eqs, :iv, :states, :ps, :var_to_name, :observed, :name, :systems, :defaults, :connection_type, :constraints, :networkproperties, :combinatoric_ratelaws), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta}}}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:lhs, :rhs), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:isempty, :netstoichmat, :conservationmat, :col_order, :rank, :nullity, :indepspecs, :depspecs, :conservedeqs, :constantdefs, :speciesmap, :complextorxsmap, :complexes, :incidencemat, :complexstoichmat, :complexoutgoingmat, :incidencegraph, :linkageclasses, :deficiency), Tuple{Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Matrix{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:dict,), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:f, :arguments, :metadata, :hash), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:parent, :key, :value), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}}}}}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:dict,), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:f, :arguments, :metadata, :hash), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:parent, :key, :value), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}}}}}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:lhs, :rhs), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:lhs, :rhs), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:f, :arguments, :metadata, :hash), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:parent, :key, :value), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}}}}}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :maxprobe, :dirty), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:speciesids, :speciesstoichs), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:first, :second), Tuple{Cassette.Immutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:speciesids, :speciesstoichs), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:ne, :fadjlist, :badjlist), Tuple{Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Immutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}) @ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0 [5] overdub(::Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}, ::Function, ::Type, ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, ReactionSystem{Nothing, Catalyst.NetworkProperties{Int64, Term{Real, Base.ImmutableDict{DataType, Any}}}}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:eqs, :iv, :states, :ps, :var_to_name, :observed, :name, :systems, :defaults, :connection_type, :constraints, :networkproperties, :combinatoric_ratelaws), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta}}}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:lhs, :rhs), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:isempty, :netstoichmat, :conservationmat, :col_order, :rank, :nullity, :indepspecs, :depspecs, :conservedeqs, :constantdefs, :speciesmap, :complextorxsmap, :complexes, :incidencemat, :complexstoichmat, :complexoutgoingmat, :incidencegraph, :linkageclasses, :deficiency), Tuple{Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Matrix{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:dict,), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:f, :arguments, :metadata, :hash), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:parent, :key, :value), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}}}}}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:dict,), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:f, :arguments, :metadata, :hash), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:parent, :key, :value), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}}}}}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:lhs, :rhs), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:lhs, :rhs), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :count, :age, :idxfloor, :maxprobe), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:f, :arguments, :metadata, :hash), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:parent, :key, :value), Tuple{Cassette.Immutable{Cassette.Meta}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta}}}}}, Cassette.Immutable{Cassette.Meta}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:slots, :keys, :vals, :ndel, :maxprobe, :dirty), Tuple{Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:speciesids, :speciesstoichs), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:first, :second), Tuple{Cassette.Immutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Immutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:speciesids, :speciesstoichs), Tuple{Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Immutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, NamedTuple{(:ne, :fadjlist, :badjlist), Tuple{Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}}}}}, Cassette.Mutable{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Mutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}}}, Cassette.Immutable{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}}}, Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}) @ SparsityDetection ~/.julia/packages/SparsityDetection/E7o7R/src/propagate_tags.jl:37 [6] (::var" @ ./In[29]:5 [inlined] [7] recurse @ ./In[29]:5 [inlined] [8] recurse(::Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}, ::var"#13#14", ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}, ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}) @ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0 [9] overdub(::Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}, ::Function, ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}, ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}) @ SparsityDetection ~/.julia/packages/SparsityDetection/E7o7R/src/propagate_tags.jl:45 [10] overdub @ ~/.julia/packages/Cassette/34vIw/src/context.jl:266 [inlined] [11] (::SparsityDetection.var" @ ~/.julia/packages/SparsityDetection/E7o7R/src/controlflow.jl:148 [inlined] [12] recurse @ ~/.julia/packages/SparsityDetection/E7o7R/src/controlflow.jl:148 [inlined] [13] recurse(overdub_context#320::Cassette.Context{nametype(JacobianSparsityContext), Tuple{Sparsity, SparsityDetection.Path}, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, SparsityDetection.var"##PassType#314", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}, overdub_arguments#321::SparsityDetection.var"#2#3"{var"#13#14", Tuple{Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}, Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}}}) @ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0 [14] abstract_run(::SparsityDetection.var"#22#24", ::Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}, ::Function, ::Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}, ::Vararg{Cassette.Tagged{Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Vector{Float64}, Union{SparsityDetection.JacInput, SparsityDetection.JacOutput, SparsityDetection.ProvinanceSet}, Vector{Cassette.Meta{SparsityDetection.ProvinanceSet, Cassette.NoMetaMeta}}, Cassette.Context{nametype(JacobianSparsityContext), Sparsity, Cassette.Tag{nametype(JacobianSparsityContext), 0x000000002b1f11ad, Nothing}, Cassette.var"##PassType#322", IdDict{Module, Dict{Symbol, Cassette.BindingMeta}}, Cassette.DisableHooks}}}; verbose::Bool) @ SparsityDetection ~/.julia/packages/SparsityDetection/E7o7R/src/controlflow.jl:148 [15] jacobian_sparsity(::Function, ::Vector{Float64}, ::Vector{Float64}; sparsity::Sparsity, verbose::Bool, raw::Bool) @ SparsityDetection ~/.julia/packages/SparsityDetection/E7o7R/src/jacobian.jl:135 [16] jacobian_sparsity(::Function, ::Vector{Float64}, ::Vector{Float64}) @ SparsityDetection ~/.julia/packages/SparsityDetection/E7o7R/src/jacobian.jl:125 [17] top-level scope @ In[29]:8 [18] eval @ ./boot.jl:368 [inlined] [19] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428
Wrong repo? This doesn't use any functions from this package and errors on a Catalyst.jl line
Sorry, didn't realise the error was in Catalyst.
Initially I got the error or a larger system, but can reproduce it for a small as well.
Basically, I have a reaction system, for which I want to evaluate the jacobian. However, just getting to the sparsity I get an error:
which yields