probe_kind ========== .. py:function:: t3toolbox.backend.fitting.probe_kind(weight = None) .. code-block:: python def probe_kind( weight: typ.Optional[typ.Any] = None, # per-mode residual weight ω, (d,) / (d,1); None = 1 (unweighted) ) -> SamplingKind: # the vector-valued `probe` kind (optionally per-mode weighted) The **probe** sampling kind (vector-valued: one free mode per probe), optionally **per-mode** weighted. Mode weighting is the order-0 special case of the same residual-weight machinery as the derivative kinds: the objective is ``½ Σ_i ‖ω_i z_i‖²`` over the ``d`` per-mode probe residuals ``z_i``, so ``ω`` (a per-mode scalar) enters ``sumsq`` (×ω) and ``transpose`` (×ω²) only. ``weight=None`` is the plain unweighted probe (``PROBE``). Plain probe has no order axis, so the weight is a 1-D ``(d,)`` per-mode vector -- the frontend enforces that (rejecting a 2-D ``(d, 1)``; see :py:func:`t3toolbox.fitting.probe_model`).