t3_probe_ambient_transpose#
- t3toolbox.backend.probing.t3_probe_ambient_transpose(ztildes, ww, sum_over_probes=False)#
def t3_probe_ambient_transpose( ztildes: typ.Sequence[NDArray], # probe residuals, len=d, elm_shape=W+C+(Ni,) ww: typ.Sequence[NDArray], # probe vectors, len=d, elm_shape=W+(Ni,) sum_over_probes: bool = False, # True: W folds into the CP rank ) -> typ.Sequence[NDArray]: # canonical (CP) factors. len=d, ith elm_shape=stack_shape+(R, Ni)
Ambient transpose of
t3_probe(): back-project probe residuals into CP factors.The ambient adjoint – the transpose of
probeas a linear map on the full tensor space. Probe returnsdvectors (one free mode each), so the residualztildesisdvectors; the back-projection is the rank-dtensorsum_i w0 (x) … (x) w_{i-1} (x) ztildes_i (x) w_{i+1} (x) … (x) w_{d-1}
(term
ihas the residualztildes_iin slotiand the probe vectors elsewhere), whose natural representation is a canonical (CP) decomposition of rankd. Frame-free. Distinct from the corewise transpose (gradient w.r.t. a frame’s cores) and the tangent transpose (Riemannian gradient); seedocs/transposes.md. Theapply/entriesanalog is the rank-1 (or rank-|W|)t3_apply_ambient_transpose().sum_over_probes=False(primary):Wis a passthrough stacking axis – aW (+ C)stack of rank-dCP tensors.sum_over_probes=True:Wfolds into the CP rank – one rank-d|W|CP tensorsum_W sum_i (...). Cheap as CP (O(d |W| N)).
Returns CP
factors(factorkhas the diagonal structure: rank slotk=ztildes_k, the others =ww_k), in the layoutt3_conversions.t3_from_canonical()consumes.