Consider a transfer function (TF) with $n$ number of poles $(p_1,..p_n)$ and $m$ number of zeros $(z_1,..z_n)$. One can write the magnitude of the frequency responce of the TF in terms of poles and zeros.
This means one can take partial derivative of the magnitude of the TF with respect to each pole and zero for a paticular frequency. Now consider $f_1$ is the frequency at which TF is deviated most from the desired responce. Thus one can change the poles and zeros based on the gradient of the magnitude of TF at $f_1$ and optimize the poles and zeros for $f_1$. Can one can keep doing this procedure for each frequency until a desired result is obtained? Is this a valid process of filter design?
Any comment would be appreciated.