[][src]Struct optimization_engine::core::panoc::PANOCCache

pub struct PANOCCache { /* fields omitted */ }

Cache for PANOC

This struct carries all the information needed at every step of the algorithm.

An instance of PANOCCache needs to be allocated once and a (mutable) reference to it should be passed to instances of PANOCEngine

Subsequently, a PANOCEngine is used to construct an instance of PANOCAlgorithm

Methods

impl PANOCCache[src]

pub fn new(
    n: NonZeroUsize,
    tolerance: f64,
    lbfgs_mem: NonZeroUsize
) -> PANOCCache
[src]

Construct a new instance of PANOCCache

Arguments

  • n dimension of the decision variables of the optimization problem
  • tolerance specified tolerance
  • lbfgs_mem memory of the LBFGS buffer

Panics

The method will panic if

  • the specified tolerance is not positive
  • memory allocation fails (memory capacity overflow)

Memory allocation

This constructor allocated memory using vec!.

It allocates a total of 8*n + 2*lbfgs_mem*n + 2*lbfgs_mem + 11 floats (f64)

Trait Implementations

impl Debug for PANOCCache[src]

Auto Trait Implementations

impl Send for PANOCCache

impl Sync for PANOCCache

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]