Struct mathru::optimization::Newton [−][src]
pub struct Newton<T> { /* fields omitted */ }
Expand description
Newton’s method
f \colon \mathbb{R}^n \to \mathbb{R}
is a twice differentiable function.
Newton’s method solves the minimization problem
f(x) \to min
input: $f \colon \mathbb{R}^{n} \to \mathbb{R}
$ with initial
approximation $x_{0} \in \mathbb{R}^{n}
$
output: $x_{k}
$
-
Initialization: Choose $
\sigma \in (0, 1)
$$
\rho > 0, k := 0
$ -
Solve de equation system $
\nabla^{2} f(x_{k})d_{k} = -\nabla f(x_{k})
$ 3. If the euqation is not solvable, or the condition $\nabla f(x_{k})^{T}d_{k} \leq -\rho \lvert \lvert \nabla f(x_k) \rvert \rvert_{2}^{2}
$ is not fullfilled Than $d_{k} := \nabla f(x_{k})
$ -
$
\alpha_{k} := 1
$ -
while $
f(x_{k} + \alpha_{k}d_{k}) > f(x_{k}) + \sigma \alpha_{k} \nabla f(x_{k})^{T}d_{k}
$ set $\alpha_{k}
$ 6. $x_{k + 1} := x_{k} + d_{k}
$ 7. $k := k + 1
$ go to 2.
Implementations
Trait Implementations
Auto Trait Implementations
impl<T> RefUnwindSafe for Newton<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Newton<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more