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.,

where the are orthogonal matrices). In this case, all tangent vectors of the form

where the are antisymmetric, have the property . These extra symmetry vectors are then null vectors of the linear system . Because of these null directions, the effective dimension of the tangent space is reduced by the dimension of this null space (this is the dimension returned by the

`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.