ManifoldGeometry.project_ambient#
- t3toolbox.manifold.ManifoldGeometry.project_ambient(frame, grad, method='contraction')#
def project_ambient( self, frame: bvf.T3Frame, # orthogonal base point of the tangent space grad: typ.Union[t3.TuckerTensorTrain, NDArray], # ambient gradient: a T3 or a dense array method: str = 'contraction', # dense only: 'contraction' (no SVD) or 't3svd' ) -> T3Tangent: # the Riemannian gradient (gauged projection of grad) at frame
Project an ambient gradient onto
T_xM– the Riemannian gradient.gradis the Euclidean/ambient gradient, either aTuckerTensorTrainor a dense array (leading axes beyond thedmodes are a stack). Returns the (gauged) tangentP_T(grad); the residualgrad - P_T(grad)is orthogonal to the tangent space. Requires an orthogonalframe(minimal rank is not required). For a densegrad,methodselects the algorithm (same projection):'contraction'(default, contract against the frames, no SVD) or't3svd'(exact T3-SVD then project; expensive). This is the tangent-space projection of Section 6 / Appendix A.3. Safe mode enforces the orthogonal requirement (raises otherwise); skipped undersafety.unsafe()/ a jax trace.- Parameters:
frame (T3Frame)
grad (t3toolbox.backend.common.typ.Union[TuckerTensorTrain, NDArray])
method (str)
- Return type: