probe_derivatives_model#

t3toolbox.fitting.probe_derivatives_model(geometry, x, ww, pp, order, residual, weight=None, regularizer=None)#
def probe_derivatives_model(
        geometry,                            # MANIFOLD / COREWISE (or the UNIFORM_* twin for a uniform x)
        x:          typ.Union[t3.TuckerTensorTrain, ut3.UniformTuckerTensorTrain],   # the current point
        ww:         typ.Sequence[NDArray],   # probe vectors X,        len=d, elm_shape=W+(Ni,)
        pp:         typ.Sequence[NDArray],   # perturbation vectors P, len=d, elm_shape=W+(Ni,)
        order:      int,
        residual:   typ.Sequence[NDArray],   # RAW r = probe_derivatives(x) − y, len=d, elm_shape=(order+1)+W+C+(Ni,)
        weight:     typ.Optional[typ.Any] = None,  # residual weight ω[mode,order], (d,order+1) broadcast; None = 1
        regularizer: typ.Any = None,         # optional regularizer, e.g. optimizers.IdentityRegularizer(λ)
) -> typ.Union[GaussNewtonModel, UniformGaussNewtonModel]:

The probe-derivatives Gauss-Newton model – vector-valued (one free mode per probe), so residual is a sequence of d jets. Probe has both a mode and an order axis, so weight is the full ω[mode, order] matrix (d, order+1): a bare row (order+1,) = per-order (broadcast over modes), a column (d, 1) = per-mode (broadcast over orders), a matrix = both. The objective is ½ Σ_i ‖ω_i r_i‖² over the d per-mode residual jets.

Parameters:
  • x (t3toolbox.backend.common.typ.Union[TuckerTensorTrain, UniformTuckerTensorTrain])

  • ww (t3toolbox.backend.common.typ.Sequence[NDArray])

  • pp (t3toolbox.backend.common.typ.Sequence[NDArray])

  • order (int)

  • residual (t3toolbox.backend.common.typ.Sequence[NDArray])

  • weight (t3toolbox.backend.common.typ.Optional[t3toolbox.backend.common.typ.Any])

  • regularizer (t3toolbox.backend.common.typ.Any)

Return type:

t3toolbox.backend.common.typ.Union[GaussNewtonModel, UniformGaussNewtonModel]