ufv_variations_sum_stack#

t3toolbox.backend.ufv_operations.ufv_variations_sum_stack(data, axis=None)#
def ufv_variations_sum_stack(
        data,             # UT3Variations .data: (tkv, ttv, shape, (4 masks))
        axis: typ.Optional[int] = None,  # stack axis to sum (None = whole stack); 0-based within the stack
):  # -> summed .data (the summed stack axes removed)

Sum a UT3Variations over stack axes (a batch of tangents -> their sum; corewise == tangent sum by linearity). The supercores sum via xnp; the masks OR over the same axes (host np) – the union of real slots, a no-op for a same-mask stack (docs/uniform_masks_vs_ranks.md). The stack lives at axes 1 .. (after the leading mode index d), shared by supercores and masks.

Parameters:

axis (t3toolbox.backend.common.typ.Optional[int])