fv_weighted_inner ================= .. py:function:: t3toolbox.backend.fv_operations.fv_weighted_inner(variations_A, variations_B, weights, n_stack) .. code-block:: python def fv_weighted_inner( variations_A: typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray]], # (V, H) of A variations_B: typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray]], # (V, H) of B weights: typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray]], # one metric (up, down, left, right) n_stack: int, # leading K+C stack axes kept ) -> NDArray: # weighted inner, shape=stack Weighted coordinate inner product ```` w.r.t. one metric ``weights`` -- the corewise stack-dot of the two weight-absorbed variations. The caller checks same-frame. Backend twin of ``T3Tangent.weighted_inner``.