How to calculate the gradient?

101 Views Asked by At

$$ f(\mathbf{q})=\mathbf{q}^T\mathbf{H}^T\begin{bmatrix}\mathbf{q} & 0\\ 0 & \mathbf{q}\\ \end{bmatrix} \left(\begin{bmatrix}\mathbf{q} & 0\\ 0 & \mathbf{q}\\ \end{bmatrix}^T\mathbf{G}^T\left(\mathbf{I}-\mathbf{q}^T\mathbf{q}^T\right)\mathbf{G}\begin{bmatrix}\mathbf{q} & 0\\ 0 & \mathbf{q}\\ \end{bmatrix}\right)^{-1} \begin{bmatrix}\mathbf{q} & 0\\ 0 & \mathbf{q}\\ \end{bmatrix}^T\mathbf{H}\mathbf{q} $$ where $ \mathbf{q}\in\Bbb{R}^{4\times 1}$, $\mathbf{H}\in\Bbb{R}^{8\times 4} $, $\mathbf{G}\in\Bbb{R}^{4\times 8}$. How can I calculate $\nabla f(\mathbf{q})$?