I found that homomorphic signatures allows an agency to carry out arbitrary computation $f$ on the signed data $m$ and accordingly gain a signature for the computation result $f(m)$ with respect to $f$. Another related notion is functional signatures, in which DO hands out a secondary key $sk$ to allow a specified agency to sign messages $m'$ which satisfy that $m' = f(m)$.
Could you please let me know: What are the differences between these two schemes? Because to me they appear to be the same.