14.2.2 Class BaseVariable¶
- mosek::fusion::BaseVariable¶
An abstract variable object. This is class provides various default implementations of methods in
Variable
.- Members
BaseVariable.antidiag – Return the antidiagonal of a square variable matrix.
BaseVariable.asExpr – Create an expression corresponding to the variable object.
BaseVariable.diag – Return the diagonal of a square variable matrix.
BaseVariable.dual – Get the dual solution value of the variable.
BaseVariable.eval – Evaluate the expression and push the result onto the work stack.
BaseVariable.fromTril – Convert from a trilinear representation into a square variable.
BaseVariable.getDim – Return the d’th dimension in the expression.
BaseVariable.getModel – Get the Model object that the variable belongs to.
BaseVariable.getND – Get the number of dimensions in the variable shape.
BaseVariable.getShape – Get the variable shape.
BaseVariable.getSize – Get the total number of elements in the variable.
BaseVariable.index – Return a variable slice of size 1 corresponding to a single element in the variable object..
BaseVariable.level – Get the primal solution value of the variable.
BaseVariable.makeContinuous – Drop integrality constraints on the variable, if any.
BaseVariable.makeInteger – Apply integrality constraints on the variable. Has no effect on elements of semidefinite matrix variables.
BaseVariable.pick – Create a one-dimensional variable by picking a list of indexes from this variable.
BaseVariable.remove – Remove the variable from the model.
BaseVariable.reshape – Reshape the variable. The new shape must have the same total size as the current.
BaseVariable.setLevel – Input solution values for this variable
BaseVariable.slice – Create a slice variable by picking a range of indexes for each variable dimension.
BaseVariable.toString – Create a string representation of the variable.
BaseVariable.transpose – Transpose the variable.
BaseVariable.tril – Convert from a square variable to a trilinear representation.
- Implemented by
- BaseVariable.antidiag¶
Variable::t antidiag() Variable::t antidiag(int index)
Return the antidiagonal of a square variable matrix.
- Parameters
index
(int
) – Index of the anti-diagonal- Return
(
Variable
)
- BaseVariable.asExpr¶
Expression::t asExpr()
Create an
Expression
object corresponding to \(I\cdot V\), where \(I\) is the identity matrix and \(V\) is this variable.- Return
- BaseVariable.diag¶
Variable::t diag() Variable::t diag(int index)
Return the diagonal of a square variable matrix.
- Parameters
index
(int
) – Index of the anti-diagonal- Return
(
Variable
)
- BaseVariable.dual¶
shared_ptr<ndarray<double,1>> dual()
Get the dual solution value of the variable as an array. When the selected slice is multi-dimensional, this corresponds to the flattened slice of solution values.
- Return
(
double
[])
- BaseVariable.eval¶
void eval(WorkStack::t rs, WorkStack::t ws, WorkStack::t xs)
Evaluate the expression and push the result onto the
rs
work stack.
- BaseVariable.fromTril¶
Variable::t fromTril(int d) Variable::t fromTril(int dim0, int d)
Convert from a trilinear representation into a square variable.
- Parameters
d
(int
) – Dimension of the square variable.dim0
(int
) – Index of the trilinear variable slices in a multi-dimensional representation.
- Return
(
Variable
)
- BaseVariable.getDim¶
int getDim(int d)
Return the d’th dimension in the expression.
- Parameters
d
(int
)- Return
(
int
)
- BaseVariable.getModel¶
Model::t getModel()
Get the Model object that the variable belongs to.
- Return
(
Model
)
- BaseVariable.getND¶
int getND()
Get the number of dimensions in the variable shape.
- Return
(
int
)
- BaseVariable.getShape¶
shared_ptr<ndarray<int,1>> getShape()
Get the variable shape.
- Return
(
int
[])
- BaseVariable.getSize¶
long long getSize()
Get the total number of elements in the variable.
- Return
(
long long
)
- BaseVariable.index¶
Variable::t index(int index) Variable::t index(shared_ptr<ndarray<int,1>> index) Variable::t index(int i0, int i1) Variable::t index(int i0, int i1, int i2)
Return a variable slice of size 1 corresponding to a single element in the variable object..
- Parameters
index
(int
)index
(int
[])i0
(int
) – Index in the first dimension of the element requested.i1
(int
) – Index in the second dimension of the element requested.i2
(int
) – Index in the second dimension of the element requested.
- Return
(
Variable
)
- BaseVariable.level¶
shared_ptr<ndarray<double,1>> level()
Get the primal solution value of the variable as an array. When the selected slice is multi-dimensional, this corresponds to the flattened slice of solution values.
- Return
(
double
[])
- BaseVariable.makeContinuous¶
void makeContinuous()
Drop integrality constraints on the variable, if any.
- BaseVariable.makeInteger¶
void makeInteger()
Apply integrality constraints on the variable. Has no effect on elements of semidefinite matrix variables.
- BaseVariable.pick¶
Variable::t pick(shared_ptr<ndarray<int,1>> idxs) Variable::t pick(shared_ptr<ndarray<int,2>> midxs) Variable::t pick(shared_ptr<ndarray<int,1>> i0, shared_ptr<ndarray<int,1>> i1) Variable::t pick(shared_ptr<ndarray<int,1>> i0, shared_ptr<ndarray<int,1>> i1, shared_ptr<ndarray<int,1>> i2)
Create a one-dimensional variable by picking a list of indexes from this variable.
- Parameters
idxs
(int
[]) – Indexes of the elements requested.midxs
(int
[][]) – A sequence of multi-dimensional indexes of the elements requested.i0
(int
[]) – Index along the first dimension.i1
(int
[]) – Index along the second dimension.i2
(int
[]) – Index along the third dimension.
- Return
(
Variable
)
- BaseVariable.remove¶
void remove()
Remove the variable from the model and remove it from any constraints where it appears. Using the variable object after this method has been called results in undefined behavior.
- BaseVariable.reshape¶
Variable::t reshape(shared_ptr<ndarray<int,1>> shape) Variable::t reshape(int dim0) Variable::t reshape(int dim0, int dim1) Variable::t reshape(int dim0, int dim1, int dim2)
Reshape the variable. The new shape must have the same total size as the current.
- Parameters
shape
(int
[]) – The new shape.dim0
(int
) – First dimension of new shapedim1
(int
) – Second dimension of new shapedim2
(int
) – Third dimension of new shape
- Return
(
Variable
)
- BaseVariable.setLevel¶
void setLevel(shared_ptr<ndarray<double,1>> v)
Set values for an initial solution for this variable. Note that these values are buffered until the solver is called; they are not available through the
level()
methods.- Parameters
v
(double
[]) – An array of values to be assigned to the variable.
- BaseVariable.slice¶
Variable::t slice(int first, int last) Variable::t slice(shared_ptr<ndarray<int,1>> first, shared_ptr<ndarray<int,1>> last)
Create a slice variable by picking a range of indexes for each variable dimension.
- Parameters
first
(int
) – The index from which the slice begins.first
(int
[]) – The index from which the slice begins.last
(int
) – The index after the last element of the slice.last
(int
[]) – The index after the last element of the slice.
- Return
(
Variable
)
- BaseVariable.toString¶
string toString()
Create a string representation of the variable.
- Return
(
string
)
- BaseVariable.transpose¶
Variable::t transpose()
Return the transpose of the current variable. The variable must have at most two dimensions.
- Return
(
Variable
)
- BaseVariable.tril¶
Variable::t tril() Variable::t tril(int dim1, int dim2)
Convert from a square variable to a trilinear representation.
- Parameters
dim1
(int
) – First dimension in the current shape containing the square variables.dim2
(int
) – Second dimension in the current shape containing the square variables.
- Return
(
Variable
)