Skip to main content

PreparedGeneralRietveldObjective

Struct PreparedGeneralRietveldObjective 

Source
pub struct PreparedGeneralRietveldObjective { /* private fields */ }
Expand description

Reusable complete physical objective for one accepted native state.

Implementations§

Source§

impl PreparedGeneralRietveldObjective

Source

pub fn new( input: RietveldInput, options: RietveldCalculationOptions, layout: RietveldParameterLayout, ) -> Result<Self, RietveldGeneralObjectiveError>

Prepare structural products and explicit global/background columns.

The structural Jacobian is materialized when it fits under the default memory ceiling. Larger objectives retain matrix-free structural products; selected experiment/background columns remain explicit.

§Errors

Returns RietveldGeneralObjectiveError for invalid state or derivative layout mismatches.

Source

pub fn new_with_max_linearization_elements( input: RietveldInput, options: RietveldCalculationOptions, layout: RietveldParameterLayout, max_linearization_elements: usize, ) -> Result<Self, RietveldGeneralObjectiveError>

Prepare a complete objective under an explicit dense-memory ceiling.

A zero ceiling forces matrix-free products. Requests whose native structural Jacobian fits within the ceiling materialize it once and reuse it for every gradient and normal product at this state.

§Errors

Returns RietveldGeneralObjectiveError for invalid state, derivative layout mismatches, or failed structural products.

Source

pub const fn uses_dense_linearization(&self) -> bool

Return whether this state reuses a bounded dense structural Jacobian.

Source

pub const fn preparation_evaluation_count(&self) -> usize

Return expensive model products consumed while preparing the gradient.

Source

pub const fn normal_product_evaluation_count(&self) -> usize

Return expensive model products consumed by one normal-product call.

Source

pub const fn jvp_evaluation_count(&self) -> usize

Return expensive model products consumed by one forward-product call.

Source

pub const fn layout(&self) -> &RietveldParameterLayout

Borrow the complete stable physical layout.

Source

pub const fn calculation(&self) -> &RietveldCalculation

Borrow the accepted-state calculation used for global columns.

Source

pub fn free_linearization( &self, derivative: &ConstraintDerivativeMatrix, ) -> Result<Option<PreparedGeneralFreeLinearization>, RietveldGeneralObjectiveError>

Project the cached dense objective into weighted scaled-free rows.

Returns None for the bounded matrix-free fallback. The derivative matrix maps scaled free coordinates to the complete physical layout.

§Errors

Returns RietveldGeneralObjectiveError for incompatible dimensions or failed dense products.

Source

pub fn jvp( &self, direction: &[f64], ) -> Result<(Vec<f64>, Vec<f64>), RietveldGeneralObjectiveError>

Calculate profile values and one complete physical directional derivative.

§Errors

Returns RietveldGeneralObjectiveError for a wrong direction or numerical product failure.

Source

pub fn vjp( &self, sample_weights: &[f64], ) -> Result<Vec<f64>, RietveldGeneralObjectiveError>

Apply the complete physical Jacobian transpose.

§Errors

Returns RietveldGeneralObjectiveError for sample shape or engine product failures.

Source

pub fn normal_product( &self, direction: &[f64], damping: f64, ) -> Result<Vec<f64>, RietveldGeneralObjectiveError>

Apply J^T W J + damping I in complete physical coordinates.

§Errors

Returns RietveldGeneralObjectiveError for invalid damping or product state.

Source

pub fn gradient( &self, ) -> Result<(Vec<f64>, Vec<f64>), RietveldGeneralObjectiveError>

Calculate the complete accepted-state gradient.

§Errors

Returns RietveldGeneralObjectiveError for residual or product state.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

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

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.