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
antidiag() -> Variable
antidiag(int index) -> Variable


Return the antidiagonal of a square variable matrix.

Parameters

index (int) – Index of the anti-diagonal

Return
BaseVariable.asExpr
asExpr() -> Expression


Create an Expression object corresponding to $$I\cdot V$$, where $$I$$ is the identity matrix and $$V$$ is this variable.

Return
BaseVariable.diag
diag() -> Variable
diag(int index) -> Variable


Return the diagonal of a square variable matrix.

Parameters

index (int) – Index of the anti-diagonal

Return
BaseVariable.dual
dual() -> float[]


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

(float[])

BaseVariable.eval
eval(WorkStack rs, WorkStack ws, WorkStack xs)


Evaluate the expression and push the result onto the rs work stack.

Parameters
• rs (WorkStack) – The stack where the result of the evaluation is stored.

• ws (WorkStack) – The stack used by evaluation to perform intermediate computations. It will be returned in the same state as when the function is called.

• xs (WorkStack) – An auxiliary stack.

BaseVariable.fromTril
fromTril(int d) -> Variable
fromTril(int dim0, int d) -> Variable


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
BaseVariable.getDim
getDim(int d) -> int


Return the d’th dimension in the expression.

Parameters

d (int)

Return

(int)

BaseVariable.getModel
getModel() -> Model


Get the Model object that the variable belongs to.

Return
BaseVariable.getND
getND() -> int


Get the number of dimensions in the variable shape.

Return

(int)

BaseVariable.getShape
getShape() -> int[]


Get the variable shape.

Return

(int[])

BaseVariable.getSize
getSize() -> int


Get the total number of elements in the variable.

Return

(int)

BaseVariable.index
index(int index) -> Variable
index(int[] index) -> Variable
index(int i0, int i1) -> Variable
index(int i0, int i1, int i2) -> Variable


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
BaseVariable.level
level() -> float[]


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

(float[])

BaseVariable.makeContinuous
makeContinuous()


Drop integrality constraints on the variable, if any.

BaseVariable.makeInteger
makeInteger()


Apply integrality constraints on the variable. Has no effect on elements of semidefinite matrix variables.

BaseVariable.pick
pick(int[] idxs) -> Variable
pick(int[][] midxs) -> Variable
pick(int[] i0, int[] i1) -> Variable
pick(int[] i0, int[] i1, int[] i2) -> Variable


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
BaseVariable.remove
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
reshape(int[] shape) -> Variable
reshape(int dim0) -> Variable
reshape(int dim0, int dim1) -> Variable
reshape(int dim0, int dim1, int dim2) -> Variable


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 shape

• dim1 (int) – Second dimension of new shape

• dim2 (int) – Third dimension of new shape

Return
BaseVariable.setLevel
setLevel(float[] 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 (float[]) – An array of values to be assigned to the variable.

BaseVariable.slice
slice(int first, int last) -> Variable
slice(int[] first, int[] last) -> Variable


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
BaseVariable.toString
toString() -> str


Create a string representation of the variable.

Return

(str)

BaseVariable.transpose
transpose() -> Variable


Return the transpose of the current variable. The variable must have at most two dimensions.

Return
BaseVariable.tril
tril() -> Variable
tril(int dim1, int dim2) -> Variable


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