#472 introduced the ability to supply a numerical function (and its derivative) for an unknown input. We should expand this to support functions of more than one variable:
theta = Function('theta')(x, y, z)
known_trajectory_map={
theta.diff(x): calc_dthetadx,
theta.diff(y): calc_dthetady,
theta.diff(z): calc_dthetadz,
theta: calc_theta,
}