Scaling

Struct Scaling 

Source
pub struct Scaling<R> { /* private fields */ }
Expand description

Scaling for a linear program.

Describes how the coefficients of the cost function, the rows of the constraints and the variables should be scaled.

Note that the coefficients of the constraint are influenced by both the values applying to the constraint rows and the values applying to the constraint columns.

To invert the scaling, apply the opposite scaling operation to each element.

Implementations§

Source§

impl<T> Scaling<T>

Source

pub fn scale_back<S>(&self, vector: &mut SparseVector<S, S>)
where for<'r> S: MulAssign<&'r T> + SparseElement<S> + SparseComparator,

Scale a solution vector back.

When a solution is computed using a scaled linear program, that solution is of course also a scaled version of the true solution. This method scales the computed solution to compensate for this scaling.

Trait Implementations§

Source§

impl<R: Debug> Debug for Scaling<R>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<R: PartialEq> PartialEq for Scaling<R>

Source§

fn eq(&self, other: &Scaling<R>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<R: Eq> Eq for Scaling<R>

Source§

impl<R> StructuralPartialEq for Scaling<R>

Auto Trait Implementations§

§

impl<R> Freeze for Scaling<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for Scaling<R>
where R: RefUnwindSafe,

§

impl<R> Send for Scaling<R>
where R: Send,

§

impl<R> Sync for Scaling<R>
where R: Sync,

§

impl<R> Unpin for Scaling<R>
where R: Unpin,

§

impl<R> UnwindSafe for Scaling<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.