ManifoldGeometry#
- class t3toolbox.manifold.ManifoldGeometry#
The Riemannian geometry of the fixed-rank Tucker tensor train manifold
M.Optimization happens on
M: tangents live inT_xMwith an orthonormal, gauged frame, the metric is Hilbert-Schmidt, and one moves by the manifold retraction (truncate the shifted doubled-rank embedding back to the frame ranks). A geometry is a stateless bundle of the three chart-level choices that distinguish this from the over-parametrized corewise geometry – the frame (frame()), the gauge projectionPi(project()), and the retraction (retract()) – plus the manifold-only ambient projection and transport. The point lives in the caller (or the fitting model), not the geometry; use the module singletonMANIFOLD.See Section 6 and Appendix A.3 of Alger et al. (2026), “Tucker Tensor Train Taylor Series” (arXiv:2603.21141). The corewise counterpart is
CorewiseGeometry.Examples
>>> import numpy as np >>> import t3toolbox.tucker_tensor_train as t3 >>> import t3toolbox.manifold as t3m >>> np.random.seed(0) >>> x = t3.TuckerTensorTrain.randn((10, 11, 12), (3, 4, 3), (1, 2, 2, 1)) >>> frame = t3m.MANIFOLD.frame(x) # orthonormal frame at x >>> print(frame.is_orthogonal()) True >>> v = t3m.MANIFOLD.randn(frame) # a standard Gaussian on T_xM (gauged) >>> print(v.is_gauged()) True >>> y = t3m.MANIFOLD.retract(t3m.T3Tangent.zeros(frame)) # retract the zero tangent == the base point >>> print(bool(np.allclose(y.to_dense(), x.to_dense()))) True
Methods#
|
The orthonormal frame at |
|
Random tangent at |
|
A gauged random tangent at a random orthogonal base point (random direction, random frame). |
|
A gauged random tangent at |
|
The gauge projection |
Gauge |
|
|
The Hilbert-Schmidt inner product of two tangents -- the Riemannian metric on |
|
The Hilbert-Schmidt norm of a tangent. Safe mode checks the frame orthogonal + variations |
|
Retract the step |
|
Project an ambient gradient onto |
|
Projective vector transport of |