Parameter argument in ODE definition


In the demo listed at,
there is the following call that defines a Universal differential equation, where U is a neural network model:

# Define the hybrid model
function ude_dynamics!(du,u, p, t, p_true)
    û = U(u, p, st)[1] # Network prediction
    du[1] = p_true[1]*u[1] + û[1]
    du[2] = -p_true[4]*u[2] + û[2]

Why aren’t the parameters p and p_true concatenated into a single parameter argument or put into a tuple (p, p_true), for example by doing:

params = (p, p_true)
function ude_dynamics!(du, u, params, t)
   p, p_true = params
    û = U(u, p, st)[1] 
    du[1] = p_true[1]*u[1] + û[1]
    du[2] = -p_true[4]*u[2] + û[2]


In that demo it’s not trying to optimize p_true, so it excludes it from the parameters list being optimized. Indeed, if you want to optimize those parameters, you’d add them to the list.