pub struct SpatialPsiDerivative {Show 13 fields
pub penalty_index: usize,
pub penalty_indices: Vec<usize>,
pub global_range: Range<usize>,
pub total_p: usize,
pub x_psi_local: Array2<f64>,
pub s_psi_components_local: Vec<Array2<f64>>,
pub x_psi_psi_local: Array2<f64>,
pub s_psi_psi_components_local: Vec<Array2<f64>>,
pub aniso_group_id: Option<usize>,
pub aniso_cross_designs: Option<Vec<(usize, Array2<f64>)>>,
pub aniso_cross_penalty_provider: Option<Arc<dyn Fn(usize) -> Result<Vec<Array2<f64>>, EstimationError> + Send + Sync + 'static>>,
pub implicit_operator: Option<Arc<ImplicitDesignPsiDerivative>>,
pub implicit_axis: usize,
}Fields§
§penalty_index: usize§penalty_indices: Vec<usize>§global_range: Range<usize>§total_p: usize§x_psi_local: Array2<f64>§s_psi_components_local: Vec<Array2<f64>>§x_psi_psi_local: Array2<f64>§s_psi_psi_components_local: Vec<Array2<f64>>§aniso_group_id: Option<usize>§aniso_cross_designs: Option<Vec<(usize, Array2<f64>)>>Pre-computed cross-derivative design matrices for other axes in the same aniso group: Vec of (axis_offset_in_group, matrix).
aniso_cross_penalty_provider: Option<Arc<dyn Fn(usize) -> Result<Vec<Array2<f64>>, EstimationError> + Send + Sync + 'static>>On-demand cross-penalty second derivatives ∂²S_m/∂ψ_a∂ψ_b for axes in the same anisotropy group. The input is the other axis offset in the group, and the output is one local penalty matrix per active penalty.
implicit_operator: Option<Arc<ImplicitDesignPsiDerivative>>Optional implicit design-derivative operator (shared across all axes
in the same aniso group). When present, x_psi_local and
x_psi_psi_local may be zero-sized, and design-derivative matvecs
should go through this operator using implicit_axis as the axis index.
implicit_axis: usizeWhich axis in the implicit operator this entry corresponds to.
Trait Implementations§
Source§impl Clone for SpatialPsiDerivative
impl Clone for SpatialPsiDerivative
Source§fn clone(&self) -> SpatialPsiDerivative
fn clone(&self) -> SpatialPsiDerivative
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for SpatialPsiDerivative
impl !UnwindSafe for SpatialPsiDerivative
impl Freeze for SpatialPsiDerivative
impl Send for SpatialPsiDerivative
impl Sync for SpatialPsiDerivative
impl Unpin for SpatialPsiDerivative
impl UnsafeUnpin for SpatialPsiDerivative
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.