ManifoldGeometry.project#
- t3toolbox.manifold.ManifoldGeometry.project(v)#
def project( self, v: T3Tangent, ) -> T3Tangent: # 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 (the gauge conditions (48)-(49), Appendix A.3). Represents a DIFFERENT tangent vector thanv. This is the map that turns a bare adjointJ^T rinto the Riemannian gradient. For the vector-preserving gauge fix seeproject_oblique().Safe mode requires
v’s frame to be orthogonal (the precondition for this to be the orthogonal-gauge projectionPi); it raises otherwise. Skipped undersafety.unsafe()/ a jax trace.