UniformManifoldGeometry.project#

t3toolbox.uniform_manifold.UniformManifoldGeometry.project(v)#
def project(
        self,
        v:  UT3Tangent,
) -> UT3Tangent:  # gauged tangent at v's frame (a DIFFERENT vector)

The gauge projection Pi: raw cotangent -> Riemannian gradient (orthogonal gauge).

Orthogonally projects v’s variations onto the gauged tangent space (conditions (48)-(49), Appendix A.3). Represents a DIFFERENT tangent vector than v – the map that turns a bare adjoint J^T r into the Riemannian gradient. For the vector-preserving fix see project_oblique(). Safe mode requires v’s frame orthogonal (raises otherwise; skipped under safety.unsafe() / a jax trace).

Parameters:

v (UT3Tangent)

Return type:

UT3Tangent