Struct DenseOutputLinearization
pub struct DenseOutputLinearization { /* private fields */ }Description
Accepted-point values with output-row-major state and Parameter Jacobians.
Real coordinates also represent shaped and complex outputs. Their semantic identities, types and coordinate ordering belong to the selecting Program; this numerical representation assumes neither scalar outputs nor holomorphy. A scalar objective is the one-row case of the same output contract.
Implementations§
§impl DenseOutputLinearization
impl DenseOutputLinearization
pub fn new(
values: Vec<f64>,
unknown_jacobian: Vec<f64>,
parameter_jacobian: Vec<f64>,
) -> Result<DenseOutputLinearization, Diagnostic>
pub fn new( values: Vec<f64>, unknown_jacobian: Vec<f64>, parameter_jacobian: Vec<f64>, ) -> Result<DenseOutputLinearization, Diagnostic>
Bind nonempty finite output values to their two row-major partial actions.
Column counts follow from the matrix lengths. Compatibility with the accepted relation is checked when composing the output and relation.
§Errors
Rejects empty outputs, incomplete matrix rows and nonfinite entries.
pub fn values(&self) -> &[f64]
pub fn values(&self) -> &[f64]
Values in the selected output coordinate order.
pub fn unknown_jacobian(&self) -> &[f64]
pub fn unknown_jacobian(&self) -> &[f64]
State partials in output-row-major order.
pub fn parameter_jacobian(&self) -> &[f64]
pub fn parameter_jacobian(&self) -> &[f64]
Direct Parameter partials in output-row-major order.
Trait Implementations§
§impl Clone for DenseOutputLinearization
impl Clone for DenseOutputLinearization
§impl Debug for DenseOutputLinearization
impl Debug for DenseOutputLinearization
§impl LinearizedOutput<f64> for DenseOutputLinearization
impl LinearizedOutput<f64> for DenseOutputLinearization
§fn unknown_dimension(&self) -> usize
fn unknown_dimension(&self) -> usize
§fn parameter_dimension(&self) -> usize
fn parameter_dimension(&self) -> usize
§fn output_dimension(&self) -> usize
fn output_dimension(&self) -> usize
§fn primal(&self, output: &mut [f64]) -> Result<(), Diagnostic>
fn primal(&self, output: &mut [f64]) -> Result<(), Diagnostic>
§fn jvp(
&self,
unknown: &[f64],
parameter: &[f64],
output: &mut [f64],
) -> Result<(), Diagnostic>
fn jvp( &self, unknown: &[f64], parameter: &[f64], output: &mut [f64], ) -> Result<(), Diagnostic>
O_w * dw + O_p * dp. Read more§impl PartialEq for DenseOutputLinearization
impl PartialEq for DenseOutputLinearization
§fn eq(&self, other: &DenseOutputLinearization) -> bool
fn eq(&self, other: &DenseOutputLinearization) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for DenseOutputLinearization
Auto Trait Implementations§
impl Freeze for DenseOutputLinearization
impl RefUnwindSafe for DenseOutputLinearization
impl Send for DenseOutputLinearization
impl Sync for DenseOutputLinearization
impl Unpin for DenseOutputLinearization
impl UnsafeUnpin for DenseOutputLinearization
impl UnwindSafe for DenseOutputLinearization
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
§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, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.