pub struct AsymIr;Expand description
Asymmetric IR band: a Gaussian multiplied by a logistic sigmoid.
f(x) = A·exp(−(x − c)²/(2σ²)) · 1/(1 + exp(−k·(x − c))).
Parameters (in order): [amplitude, center, sigma, k]. amplitude is the Gaussian scale
(peak ≈ A/2 at center because of the sigmoid); k is the asymmetry. The sigmoid exponent
is clamped to ≤ 50 to avoid overflow — the numpy oracle clamps identically
(np.clip(-k*(x-c), None, 50.0)), so numpy↔Rust parity is exact.
Trait Implementations§
Source§impl Model for AsymIr
impl Model for AsymIr
Source§fn jacobian(&self, x: &[f64], params: &[f64]) -> Vec<f64>
fn jacobian(&self, x: &[f64], params: &[f64]) -> Vec<f64>
Jacobian — one derivative per parameter, in the same order as
param_names(). Read moreSource§fn jacobian_into(&self, x: &[f64], params: &[f64], out: &mut [f64])
fn jacobian_into(&self, x: &[f64], params: &[f64], out: &mut [f64])
Fill a pre-allocated slice with Jacobian values (one entry per parameter). Read more
Source§fn eval_slice_into(&self, xs: &[f64], params: &[f64], out: &mut [f64])
fn eval_slice_into(&self, xs: &[f64], params: &[f64], out: &mut [f64])
Batch evaluation of a 1-D model: fill
out[i] = eval([xs[i]], params). Read moreAuto Trait Implementations§
impl Freeze for AsymIr
impl RefUnwindSafe for AsymIr
impl Send for AsymIr
impl Sync for AsymIr
impl Unpin for AsymIr
impl UnsafeUnpin for AsymIr
impl UnwindSafe for AsymIr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more