pub enum EnergyScaleJacobianMethod {
FiniteDifference,
PartialGal,
}Expand description
Method for computing the t0 / L_scale columns of the
EnergyScaleTransmissionModel Jacobian.
-
PartialGal: central FD ont0only (2 evaluations); derive theL_scalecolumn inline via the rank-1 identityJ[:, L_scale] = ((tof - t0) / L_scale) * J[:, t0]per energy bin, halving the FD probe count when both calibration parameters are free.Exact only without a resolution operator: with one,
L_scalealso reaches the prediction through the kernel, which the identity does not model.EnergyScaleTransmissionModel::effective_jacobian_methodtherefore falls back toFiniteDifferencewhenever a kernel is present, so this variant applies to unresolved fits. -
FiniteDifference: central FD on both columns, 4 forward evaluations per Jacobian (h_t0=1e-4, h_ls=1e-7). Selectable via theNEREIDS_TZERO_JACOBIAN=fd2env var or thetzero_jacobian="fd2"Python kwarg.
Variants§
FiniteDifference
PartialGal
Derives the L_scale column from the t0 column by a rank-1 identity.
Requested rather than guaranteed: it holds only without a resolution
kernel, so with one configured
EnergyScaleTransmissionModel::effective_jacobian_method uses
Self::FiniteDifference regardless.
Trait Implementations§
Source§impl Clone for EnergyScaleJacobianMethod
impl Clone for EnergyScaleJacobianMethod
Source§fn clone(&self) -> EnergyScaleJacobianMethod
fn clone(&self) -> EnergyScaleJacobianMethod
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EnergyScaleJacobianMethod
impl Debug for EnergyScaleJacobianMethod
impl Copy for EnergyScaleJacobianMethod
impl Eq for EnergyScaleJacobianMethod
impl StructuralPartialEq for EnergyScaleJacobianMethod
Auto Trait Implementations§
impl Freeze for EnergyScaleJacobianMethod
impl RefUnwindSafe for EnergyScaleJacobianMethod
impl Send for EnergyScaleJacobianMethod
impl Sync for EnergyScaleJacobianMethod
impl Unpin for EnergyScaleJacobianMethod
impl UnsafeUnpin for EnergyScaleJacobianMethod
impl UnwindSafe for EnergyScaleJacobianMethod
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more