uniform_fitting =============== .. py:module:: t3toolbox.backend.uniform_fitting .. autoapi-nested-parse:: Uniform-layer fitting seams: the ``GeometryOps`` factories (and, later, the ``SamplingKind`` builders) that let the geometry-generic optimizers (:py:mod:`t3toolbox.backend.optimizers`) run on **uniform supercores**. The uniform twin of :py:mod:`t3toolbox.backend.fitting` -- optimizers-on-uniform slice U2. The optimizers are written against three pluggable seams (``GeometryOps``, ``SamplingKind``, ``corewise``) and never mention a layer; supplying uniform implementations of the seams runs the SAME algorithm bodies on uniform data. This module supplies the **geometry** half. The mask-holding recipe (``docs/uniform_backend_jit_recipe.md``). A uniform ``.data`` tuple carries host- numpy **masks** that cannot be jit-traced. So -- unlike the stateless ragged ``MANIFOLD`` / ``COREWISE`` singletons -- the uniform geometry is a **factory** that captures the loop-invariant masks (fixed at fixed rank) and closes over them; the optimizer traces only the supercores. The convention throughout: * the optimizer's **point** ``x`` is a bare supercore pair ``(tucker_sc, tt_sc)`` (masks closed over); * a **tangent** is a bare variation supercore pair ``(tucker_var_sc, tt_var_sc)``; * a **frame** is the full frame ``.data`` (``frame`` returns it, ``project`` / ``retract`` consume it). Each closure re-attaches the held ``shape`` + masks at the boundary (building the full ``.data`` tuples the ``utv_operations`` primitives expect) and strips them back to a bare pair on output, so ``corewise.*`` and ``GeometryOps.inner`` see only supercores. Under jit the re-derived frame masks constant-fold to device constants (the "1 compile" behaviour of the recipe). Functions --------- .. toctree:: :hidden: /autoapi/t3toolbox/backend/uniform_fitting/uniform_manifold_ops /autoapi/t3toolbox/backend/uniform_fitting/uniform_corewise_ops /autoapi/t3toolbox/backend/uniform_fitting/uniform_geometry_ops /autoapi/t3toolbox/backend/uniform_fitting/uniform_apply_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_entries_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_probe_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_sampling_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_apply_derivatives_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_entries_derivatives_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_probe_derivatives_kind /autoapi/t3toolbox/backend/uniform_fitting/uniform_derivatives_kind /autoapi/t3toolbox/backend/uniform_fitting/pack_sample /autoapi/t3toolbox/backend/uniform_fitting/pack_data /autoapi/t3toolbox/backend/uniform_fitting/uniform_minimal /autoapi/t3toolbox/backend/uniform_fitting/uniform_least_squares_problem .. autoapisummary:: t3toolbox.backend.uniform_fitting.uniform_manifold_ops t3toolbox.backend.uniform_fitting.uniform_corewise_ops t3toolbox.backend.uniform_fitting.uniform_geometry_ops t3toolbox.backend.uniform_fitting.uniform_apply_kind t3toolbox.backend.uniform_fitting.uniform_entries_kind t3toolbox.backend.uniform_fitting.uniform_probe_kind t3toolbox.backend.uniform_fitting.uniform_sampling_kind t3toolbox.backend.uniform_fitting.uniform_apply_derivatives_kind t3toolbox.backend.uniform_fitting.uniform_entries_derivatives_kind t3toolbox.backend.uniform_fitting.uniform_probe_derivatives_kind t3toolbox.backend.uniform_fitting.uniform_derivatives_kind t3toolbox.backend.uniform_fitting.pack_sample t3toolbox.backend.uniform_fitting.pack_data t3toolbox.backend.uniform_fitting.uniform_minimal t3toolbox.backend.uniform_fitting.uniform_least_squares_problem