GaussNewtonModel.gn_hessian =========================== .. py:method:: t3toolbox.fitting.GaussNewtonModel.gn_hessian(p) .. code-block:: python def gn_hessian(self, p: t3m.T3Tangent) -> t3m.T3Tangent: The Gauss-Newton Hessian action ``H p = Π 𝒥ᵀ 𝒥 Π p`` (``H = JᵀJ``, *not* the full Hessian), plus the regularizer term ``H_R p`` when set. Projects ``p`` (so the caller need not), applies the bare forward then transpose, and projects the result -- a tangent at frame. Symmetric. (Corewise: ``Π`` is the identity, so ``H p = 𝒥ᵀ 𝒥 p``, which is gauge-singular -- fine for first-order methods, needs regularization for Newton.) For the *scalar* quadratic form ``pᵀHp`` alone, prefer the cheaper :py:meth:`gn_quadratic`.