Since the tangent space of
is a subspace of
,
the covariant Hessian must be inverted stably on this subspace. This
requires any algorithms designed to solve
for
to
really be pseudoinverters in a least squares or some other sense.
A second consideration is that many useful functions have the
property that
for all block-diagonal orthogonal
(i.e.,
dimension
function).
Thus, we see that in order to invert the covariant Hessian, we must
take care to use a stable inversion scheme which will project out
components of which do not satisfy the infinitesimal constraint
equation and those which are in the direction of the additional
symmetries of
. The
invdgrad
function
carries out a stable inversion of the covariant Hessian by
a conjugate gradient routine, with
the dgrad
function calling the function nosym
to
project out any extra symmetry components.