pub struct SqpQpData {
pub n: usize,
pub m: usize,
pub h: SymTMatrix,
pub g: Vec<Number>,
pub a: GenTMatrix,
pub bl: Vec<Number>,
pub bu: Vec<Number>,
pub xl: Vec<Number>,
pub xu: Vec<Number>,
pub hessian_inertia: HessianInertia,
}Expand description
Owned linearization data for a single SQP iteration.
Fields§
§n: usize§m: usize§h: SymTMatrix§g: Vec<Number>§a: GenTMatrix§bl: Vec<Number>§bu: Vec<Number>§xl: Vec<Number>§xu: Vec<Number>§hessian_inertia: HessianInertiaImplementations§
Source§impl SqpQpData
impl SqpQpData
Sourcepub fn build(
x: &[Number],
grad_f: &[Number],
c_vals: &[Number],
bl_c: &[Number],
bu_c: &[Number],
xl_orig: &[Number],
xu_orig: &[Number],
jac_c: Triplet,
hess_lag: Triplet,
hessian_inertia: HessianInertia,
) -> Self
pub fn build( x: &[Number], grad_f: &[Number], c_vals: &[Number], bl_c: &[Number], bu_c: &[Number], xl_orig: &[Number], xu_orig: &[Number], jac_c: Triplet, hess_lag: Triplet, hessian_inertia: HessianInertia, ) -> Self
Assemble from concrete linearization arrays at iterate x.
grad_f—∇f(x), lengthn.c_vals—c(x), lengthm(may contain inequality slack values too; convention isbl_c[i] ≤ c[i] ≤ bu_c[i]).bl_c,bu_c— original NLP constraint bounds.xl_orig,xu_orig— original NLP variable bounds.jac_c—∇c(x)triplet,m × n.hess_lag—∇²L(x, λ_g)triplet,n × nsymmetric.
Auto Trait Implementations§
impl !Freeze for SqpQpData
impl !RefUnwindSafe for SqpQpData
impl !Send for SqpQpData
impl !Sync for SqpQpData
impl Unpin for SqpQpData
impl UnsafeUnpin for SqpQpData
impl UnwindSafe for SqpQpData
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