UniformManifoldGeometry.inner#

t3toolbox.uniform_manifold.UniformManifoldGeometry.inner(t1, t2)#
def inner(
        self,
        t1: UT3Tangent,
        t2: UT3Tangent,
) -> NDArray:  # the Hilbert-Schmidt inner product, shape = stack_shape (K + C)

The Hilbert-Schmidt inner product of two tangents – the Riemannian metric on the manifold.

The corewise (coordinate) dot, which equals HS on this geometry’s orthonormal, gauged frame (vectorized over the stack -> shape K + C). In safe mode it checks the preconditions for that equality: the two tangents share a frame, the frame is orthogonal, and both variations are gauged (per stack element, reduced with .all(); minimal rank is a documented caveat – see docs/numerical_contracts.md). For the raw coordinate dot with no HS claim and no orthogonal/gauge check, use UT3Tangent.corewise_inner().

Parameters:
Return type:

NDArray