Skip to content

Commit 228b262

Browse files
fix: fix bugs in HomotopyNonlinearFunction
1 parent a6235ea commit 228b262

File tree

1 file changed

+3
-17
lines changed

1 file changed

+3
-17
lines changed

src/systems/nonlinear/homotopy_continuation.jl

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -472,22 +472,8 @@ function handle_rational_polynomials(x, wrt; fraction_cancel_fn = simplify_fract
472472
return num, den
473473
end
474474

475-
function SciMLBase.HomotopyNonlinearFunction(sys::System, args...; kwargs...)
476-
ODEFunction{true}(sys, args...; kwargs...)
477-
end
478-
479-
function SciMLBase.HomotopyNonlinearFunction{true}(sys::System, args...;
480-
kwargs...)
481-
ODEFunction{true, SciMLBase.AutoSpecialize}(sys, args...; kwargs...)
482-
end
483-
484-
function SciMLBase.HomotopyNonlinearFunction{false}(sys::System, args...;
485-
kwargs...)
486-
ODEFunction{false, SciMLBase.FullSpecialize}(sys, args...; kwargs...)
487-
end
488-
489-
function SciMLBase.HomotopyNonlinearFunction{iip, specialize}(
490-
sys::System, args...; eval_expression = false, eval_module = @__MODULE__,
475+
@fallback_iip_specialize function SciMLBase.HomotopyNonlinearFunction{iip, specialize}(
476+
sys::System; eval_expression = false, eval_module = @__MODULE__,
491477
p = nothing, fraction_cancel_fn = SymbolicUtils.simplify_fractions, cse = true,
492478
kwargs...) where {iip, specialize}
493479
if !iscomplete(sys)
@@ -510,7 +496,7 @@ function SciMLBase.HomotopyNonlinearFunction{iip, specialize}(
510496

511497
# we want to create f, jac etc. according to `sys2` since that will do the solving
512498
# but the `sys` inside for symbolic indexing should be the non-polynomial system
513-
fn = NonlinearFunction{iip}(sys2; eval_expression, eval_module, cse, kwargs...)
499+
fn = NonlinearFunction{iip}(sys2; p, eval_expression, eval_module, cse, kwargs...)
514500
obsfn = ObservedFunctionCache(
515501
sys; eval_expression, eval_module, checkbounds = get(kwargs, :checkbounds, false), cse)
516502
fn = remake(fn; sys = sys, observed = obsfn)

0 commit comments

Comments
 (0)