pub struct LMIOracle { /* private fields */ }Expand description
The LMIOracle struct represents an oracle for a Linear Matrix Inequality (LMI) constraint.
It contains the necessary data to evaluate the LMI constraint, including the matrix mat_f,
the matrix mat_f0, and an LDLTMgr instance for managing the Cholesky decomposition.
This oracle can be used to check the feasibility of a given point with respect to the LMI constraint.
Implementations§
Source§impl LMIOracle
impl LMIOracle
Sourcepub fn new(mat_f: Vec<Array2<f64>>, mat_b: Array2<f64>) -> Self
pub fn new(mat_f: Vec<Array2<f64>>, mat_b: Array2<f64>) -> Self
This function initializes a new LMIOracle struct with given matrices and an LDLTMgr instance.
Arguments:
mat_f: Themat_fparameter is a vector of 2D arrays of typef64.mat_b: Themat_bparameter is anArray2<f64>type, which represents a 2-dimensional array of f64 (floating point numbers).
Returns:
An instance of the LMIOracle struct is being returned.
Trait Implementations§
Source§impl OracleFeas<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for LMIOracle
impl OracleFeas<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for LMIOracle
Source§fn assess_feas(&mut self, xc: &Array1<f64>) -> Option<Cut>
fn assess_feas(&mut self, xc: &Array1<f64>) -> Option<Cut>
The function assesses the feasibility of a solution by calculating the difference between elements of matrices based on input arrays.
Arguments:
mat_f0:mat_f0is a reference to a 2D array off64values.mat_f: Themat_fparameter in theget_elemfunction is a slice ofArray2<f64>types. It represents an array of 2D matrices. Each element in the slice is a 2D matrix of f64 values.xc: Thexcparameter in theassess_feasfunction is a reference to anArray1<f64>, which represents a one-dimensional array of floating-point numbers. This array is used as input to the function for some calculations related to feasibility assessment.
type CutChoice = f64
Auto Trait Implementations§
impl Freeze for LMIOracle
impl RefUnwindSafe for LMIOracle
impl Send for LMIOracle
impl Sync for LMIOracle
impl Unpin for LMIOracle
impl UnwindSafe for LMIOracle
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