utv_project_ut3_onto_tangent_space#
- t3toolbox.backend.utv_operations.utv_project_ut3_onto_tangent_space(frame_data, x_data)#
def utv_project_ut3_onto_tangent_space( frame_data, # UT3Frame .data (an orthogonal frame), supercore stack = C x_data, # UniformTuckerTensorTrain .data to project, supercore stack = C ): # -> gauged variations .data (the orthogonal projection of x onto the tangent space at the frame)
Orthogonal projection of a uniform Tucker tensor train onto the tangent space at an orthogonal frame (the uniform mirror of
tv_operations.tv_project_t3_onto_tangent_space()). Returns gauged variations representing the projection ofxdirectly onto the tangent space (the linear subspace; it does NOT subtract the base point). The frame must be orthogonal (minimal rank not required).Mask-once up front, then: re-express
x’s TT cores in the frame’s up-Tucker basis (a per-core map vectorized overd); accumulate the left/right TT environments with the polymorphictv_operations.tt_zipper_*()(uniformxscan, mask-free since the operands are masked); contract each environment into the ungauged Tucker/TT variations (ad-axis map); then gauge.