@@ -501,9 +501,9 @@ where `x` are differential unknown variables, `z` algebraic variables, `u` input
501501""" 
502502function  linearize_symbolic (sys:: AbstractSystem , inputs,
503503        outputs; simplify =  false , allow_input_derivatives =  false ,
504-         eval_expression =  false , eval_module =  @__MODULE__ ,
504+         eval_expression =  false , eval_module =  @__MODULE__ , split  =   true , 
505505        kwargs... )
506-     sys =  mtkcompile (sys; inputs, outputs, simplify, kwargs... )
506+     sys =  mtkcompile (sys; inputs, outputs, simplify, split,  kwargs... )
507507    diff_idxs, alge_idxs =  eq_idxs (sys)
508508    sts =  unknowns (sys)
509509    t =  get_iv (sys)
@@ -512,10 +512,15 @@ function linearize_symbolic(sys::AbstractSystem, inputs,
512512
513513    fun_expr =  generate_rhs (sys; expression =  Val{true })[1 ]
514514    fun =  eval_or_rgf (fun_expr; eval_expression, eval_module)
515-     dx =  fun (sts, p, t)
516- 
515+     
517516    h =  build_explicit_observed_function (sys, outputs; eval_expression, eval_module)
518-     y =  h (sts, p, t)
517+     if  split
518+         dx =  fun (sts, p, t)
519+         y =  h (sts, p, t)
520+     else 
521+         dx =  fun (sts, p... , t)
522+         y =  h (sts, p... , t)
523+     end 
519524
520525    fg_xz =  Symbolics. jacobian (dx, sts)
521526    fg_u =  Symbolics. jacobian (dx, inputs)
0 commit comments