I'm currently facing the problem of fitting a parabolic 2-surface to a set of points in $\mathbb{R}^3$. As far as implementing a workable solution is concerned I could easily do this using one of the many available gradient descent optimizers. However I'm wondering if this can be better expressed through Quadratic Programming.
Let $\vec{p}_n \in \mathbb{R}^3$ the set of points to be fit, and let $\left(\mathbf{q},\vec{t},a,b\right) \in \left(\mathbb{H},\mathbb{R}^3,\mathbb{R},\mathbb{R}\right)$ parameters describing a parabolic surface ($\mathbf{q}$ being a quaternion describing its rotation and $\vec{t}$ its translation in $\mathbb{R}^3$ and $a,b$ quadratic scaling parameters), then the model function can be written as following
$r_n = P( \mathbf{M}^{-1} \vec{p}_n )$ where $\mathbf{M}=\begin{pmatrix}\mathbf{R}(\mathbf{q}) & \vec{t} \\ 0 & 1\end{pmatrix}$,
$\mathbf{R}$ being the mapping from quaternions into their equivalent $\mathbb{R}^{3\times3}$ rotation matrix and
$P(\vec{x})=\left\lVert\begin{pmatrix}x_0 & x_1\end{pmatrix}\begin{pmatrix}a \\ b\end{pmatrix}\right\rVert^2 - x_2$
Supplying this into a gradient descent solver, like Levenberg Marquardt or similar will approximate a solution for $\left(\mathbf{q},\vec{t},a,b\right)$.
I now wonder how to reformulate this into a Quadratic Programming problem.