Batched, autograd-differentiable ports of the hyperspy components. Each takes (x, params) → (P, C) fully batched, no Python loop over items.
1D (hyperspy.components1d): Gaussian, GaussianHF, Lorentzian, Voigt, SplitVoigt, PowerLaw, Offset, Polynomial, Exponential, Arctan, Erf, Doniach, SkewNormal, Logistic, HeavisideStep, ScalableFixedPattern.
2D (hyperspy.components2d): Gaussian2D, Expression.
Every component gets a parity test against the hyperspy component it mirrors (same params → same curve within tolerance). Mark which are linear in amplitude — [1.3]'s variable-projection path keys off that.
Part of #50.
Plan: RELEASE_0_3_0_PLAN.md
Batched, autograd-differentiable ports of the hyperspy components. Each takes
(x, params)→(P, C)fully batched, no Python loop over items.1D (
hyperspy.components1d): Gaussian, GaussianHF, Lorentzian, Voigt, SplitVoigt, PowerLaw, Offset, Polynomial, Exponential, Arctan, Erf, Doniach, SkewNormal, Logistic, HeavisideStep, ScalableFixedPattern.2D (
hyperspy.components2d): Gaussian2D, Expression.Every component gets a parity test against the hyperspy component it mirrors (same params → same curve within tolerance). Mark which are linear in amplitude — [1.3]'s variable-projection path keys off that.
Part of #50.
Plan:
RELEASE_0_3_0_PLAN.md