uniform_fitting#
Uniform-layer fitting: the packed SamplingKind classes and the least-squares Problem.
The uniform twins of t3toolbox.backend.fitting’s kinds – subclasses that override the five
layer-specific operations and, for the probe kinds, where omega’s axes sit in the PACKED output.
Each carries the fixed rank it was built at (shape + the plain-UT3 masks) as FIELDS, so a
rebuilt kind of the same rank is the same jax cache key
(t3toolbox.backend.geometry follows the same rule; the reasoning is
docs/contributor/parameters_not_closures.md).
uniform_least_squares_problem() packs the loop-invariant sample + data ONCE and returns the
shared backend Problem, so the optimizers run fully packed – no per-matvec pack/unpack. The
geometry half lives in t3toolbox.backend.geometry.
Protocol note (review H2-9, ruled keep + document): the kinds’ forward / transpose keep
the ragged Kind protocol’s (v, sample, frame_data, sweep) signature even though the packed
sweep already carries the sample and the frame – the extra arguments are deliberately unread.
Protocol uniformity is the point: generic code (the shared LocalModel) calls every kind the same
way, ragged or uniform.
Classes#
The uniform twin of |
|
The uniform twin of |
|
The uniform twin of |
|
The uniform twin of |
|
The uniform twin of |
|
The uniform twin of |
Functions#
|
Build the uniform plain sampling kind by name, at |
|
Build the uniform derivative sampling kind by name, at |
|
Pack the loop-invariant mode-vectors of |
|
Pack the observed data (or a residual of the same shape) once: probe kinds -> a packed |
|
Reduce |
|
Assemble a fully-packed uniform least-squares |