[−][src]Struct optimization::NumericalDifferentiation
Wraps a function for which to provide numeric differentiation.
Uses simple one step forward finite difference with step width h = √εx
.
Examples
let square = NumericalDifferentiation::new(Func(|x: &[f64]| { x[0] * x[0] })); assert!(square.gradient(&[0.0])[0] < 1.0e-3); assert!(square.gradient(&[1.0])[0] > 1.0); assert!(square.gradient(&[-1.0])[0] < 1.0);
Methods
impl<F: Function> NumericalDifferentiation<F>
[src]
pub fn new(function: F) -> Self
[src]
Creates a new differentiable function by using the supplied function
in
combination with numeric differentiation to find the derivatives.
Trait Implementations
impl<F: Function + Default> Default for NumericalDifferentiation<F>
[src]
impl<F: Function> Function for NumericalDifferentiation<F>
[src]
impl<F: Function> Function1 for NumericalDifferentiation<F>
[src]
impl<F: Problem> Problem for NumericalDifferentiation<F>
[src]
Auto Trait Implementations
impl<F> RefUnwindSafe for NumericalDifferentiation<F> where
F: RefUnwindSafe,
F: RefUnwindSafe,
impl<F> Send for NumericalDifferentiation<F> where
F: Send,
F: Send,
impl<F> Sync for NumericalDifferentiation<F> where
F: Sync,
F: Sync,
impl<F> Unpin for NumericalDifferentiation<F> where
F: Unpin,
F: Unpin,
impl<F> UnwindSafe for NumericalDifferentiation<F> where
F: UnwindSafe,
F: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,