pub struct SqpIterationInfo<'a> {
pub iter: u32,
pub obj: Number,
pub inf_pr: Number,
pub inf_du: Number,
pub p_inf: Number,
pub alpha: Number,
pub x: &'a [Number],
pub lambda_g: &'a [Number],
pub lambda_x: &'a [Number],
pub c_vals: &'a [Number],
pub grad_lag_x: &'a [Number],
}Expand description
What the per-iteration hook sees: the iterate x_k and the residuals
measured at it (the same numbers the sqp_print_level >= 1 row
prints), plus the step that arrived there.
Fields§
§iter: u32§obj: Number§inf_pr: Number§inf_du: Number§p_inf: Number‖p‖_inf of the accepted step into this iterate (0 on iteration 0).
alpha: NumberLine-search step length of that step (0 on iteration 0).
x: &'a [Number]§lambda_g: &'a [Number][λ_c; λ_d] in algorithm space.
lambda_x: &'a [Number]Signed bound multiplier z_L - z_U per variable.
c_vals: &'a [Number][c(x); d(x)] in algorithm space.
grad_lag_x: &'a [Number]∇f + Jᵀλ_g − λ_x (the stationarity residual check_kkt measures)
in algorithm space, from this iterate’s ∇f and J.
Auto Trait Implementations§
impl<'a> Freeze for SqpIterationInfo<'a>
impl<'a> RefUnwindSafe for SqpIterationInfo<'a>
impl<'a> Send for SqpIterationInfo<'a>
impl<'a> Sync for SqpIterationInfo<'a>
impl<'a> Unpin for SqpIterationInfo<'a>
impl<'a> UnsafeUnpin for SqpIterationInfo<'a>
impl<'a> UnwindSafe for SqpIterationInfo<'a>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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