@@ -695,25 +695,17 @@ function SymbolicIndexingInterface.parameter_observed(sys::AbstractSystem, sym)
695
695
if rawobs isa Tuple
696
696
if is_time_dependent (sys)
697
697
obsfn = let oop = rawobs[1 ], iip = rawobs[2 ]
698
- f1a (p:: MTKParameters , t) = oop (p... , t)
699
- f1a (out, p:: MTKParameters , t) = iip (out, p... , t)
698
+ f1a (p, t) = oop (p, t)
699
+ f1a (out, p, t) = iip (out, p, t)
700
700
end
701
701
else
702
702
obsfn = let oop = rawobs[1 ], iip = rawobs[2 ]
703
- f1b (p:: MTKParameters ) = oop (p... )
704
- f1b (out, p:: MTKParameters ) = iip (out, p... )
703
+ f1b (p) = oop (p)
704
+ f1b (out, p) = iip (out, p)
705
705
end
706
706
end
707
707
else
708
- if is_time_dependent (sys)
709
- obsfn = let rawobs = rawobs
710
- f2a (p:: MTKParameters , t) = rawobs (p... , t)
711
- end
712
- else
713
- obsfn = let rawobs = rawobs
714
- f2b (p:: MTKParameters ) = rawobs (p... )
715
- end
716
- end
708
+ obsfn = rawobs
717
709
end
718
710
else
719
711
obsfn = build_explicit_observed_function (sys, sym; param_only = true )
@@ -828,21 +820,11 @@ function SymbolicIndexingInterface.observed(
828
820
_fn = build_explicit_observed_function (sys, sym; eval_expression, eval_module)
829
821
830
822
if is_time_dependent (sys)
831
- return let _fn = _fn
832
- fn1 (u, p, t) = _fn (u, p, t)
833
- fn1 (u, p:: MTKParameters , t) = _fn (u, p... , t)
834
-
835
- # DDEs
836
- fn1 (u, histfn, p, t) = _fn (u, histfn, p, t)
837
- fn1 (u, histfn, p:: MTKParameters , t) = _fn (u, histfn, p... , t)
838
- fn1
839
- end
823
+ return _fn
840
824
else
841
825
return let _fn = _fn
842
826
fn2 (u, p) = _fn (u, p)
843
- fn2 (u, p:: MTKParameters ) = _fn (u, p... )
844
827
fn2 (:: Nothing , p) = _fn ([], p)
845
- fn2 (:: Nothing , p:: MTKParameters ) = _fn ([], p... )
846
828
fn2
847
829
end
848
830
end
@@ -2380,8 +2362,8 @@ function linearization_function(sys::AbstractSystem, inputs,
2380
2362
u_getter = u_getter
2381
2363
2382
2364
function (u, p, t)
2383
- p_setter! (oldps, p_getter (u, p... , t))
2384
- newu = u_getter (u, p... , t)
2365
+ p_setter! (oldps, p_getter (u, p, t))
2366
+ newu = u_getter (u, p, t)
2385
2367
return newu, oldps
2386
2368
end
2387
2369
end
@@ -2392,20 +2374,15 @@ function linearization_function(sys::AbstractSystem, inputs,
2392
2374
2393
2375
function (u, p, t)
2394
2376
state = ProblemState (; u, p, t)
2395
- return u_getter (state), p_getter (state)
2377
+ return u_getter (
2378
+ state_values (state), parameter_values (state), current_time (state)),
2379
+ p_getter (state)
2396
2380
end
2397
2381
end
2398
2382
end
2399
2383
initfn = NonlinearFunction (initsys; eval_expression, eval_module)
2400
2384
initprobmap = build_explicit_observed_function (
2401
2385
initsys, unknowns (sys); eval_expression, eval_module)
2402
- if has_index_cache (sys) && get_index_cache (sys) != = nothing
2403
- initprobmap = let inner = initprobmap
2404
- fn (u, p:: MTKParameters ) = inner (u, p... )
2405
- fn (u, p) = inner (u, p)
2406
- fn
2407
- end
2408
- end
2409
2386
ps = parameters (sys)
2410
2387
h = build_explicit_observed_function (sys, outputs; eval_expression, eval_module)
2411
2388
lin_fun = let diff_idxs = diff_idxs,
@@ -2452,7 +2429,7 @@ function linearization_function(sys::AbstractSystem, inputs,
2452
2429
fg_xz = ForwardDiff. jacobian (uf, u)
2453
2430
h_xz = ForwardDiff. jacobian (
2454
2431
let p = p, t = t
2455
- xz -> p isa MTKParameters ? h (xz, p ... , t) : h (xz, p, t)
2432
+ xz -> h (xz, p, t)
2456
2433
end , u)
2457
2434
pf = SciMLBase. ParamJacobianWrapper (fun, t, u)
2458
2435
fg_u = jacobian_wrt_vars (pf, p, input_idxs, chunk)
@@ -2464,7 +2441,6 @@ function linearization_function(sys::AbstractSystem, inputs,
2464
2441
end
2465
2442
hp = let u = u, t = t
2466
2443
_hp (p) = h (u, p, t)
2467
- _hp (p:: MTKParameters ) = h (u, p... , t)
2468
2444
_hp
2469
2445
end
2470
2446
h_u = jacobian_wrt_vars (hp, p, input_idxs, chunk)
@@ -2517,7 +2493,7 @@ function linearize_symbolic(sys::AbstractSystem, inputs,
2517
2493
dx = fun (sts, p... , t)
2518
2494
2519
2495
h = build_explicit_observed_function (sys, outputs; eval_expression, eval_module)
2520
- y = h (sts, p... , t)
2496
+ y = h (sts, p, t)
2521
2497
2522
2498
fg_xz = Symbolics. jacobian (dx, sts)
2523
2499
fg_u = Symbolics. jacobian (dx, inputs)
0 commit comments