Matrix-Friendly API Functions#
Implements a small set of functions equivalent to numpy that operate on
the array-like matrix-friendly API classes MVar
,
MLinExpr
, MQuadExpr
, MConstr
,
MQConstr
, and MGenConstr
.
- hstack(tup)#
Stack arrays in sequence horizontally (column wise). This is equivalent to concatenation along the second axis, except for 1-D arrays where it concatenates along the first axis.
This method has the same behavior as
numpy.hstack
, except that it always returns a gurobipy matrix-friendly API object of the appropriate type.- Parameters:
tup – A sequence of matrix-friendly API objects
- Returns:
Returns a matrix-friendly API object. Note that the return type depends on the types of the input objects.
- Example:
X = model.addMVar((k, n)) Y = model.addMVar((k, m)) XY = gp.hstack((X, Y)) # (k, n+m) MVar
- vstack(tup)#
Stack arrays in sequence vertically (row wise). This is equivalent to concatenation along the first axis after 1-D arrays of shape
(N,)
have been reshaped to(1,N)
.This method has the same behavior as
numpy.vstack
, except that it always returns a gurobipy matrix-friendly API object of the appropriate type.- Parameters:
tup – A sequence of matrix-friendly API objects
- Returns:
Returns a matrix-friendly API object. Note that the return type depends on the types of the input objects.
- Example:
X = model.addMVar((n, k)) Y = model.addMVar((m, k)) XY = gp.vstack((X, Y)) # (n+m, k) MVar
- concatenate(tup, axis)#
Join a sequence of arrays along an existing axis.
This method has the same behavior as
numpy.concatenate
, except that it always returns a gurobipy matrix-friendly API object of the appropriate type.- Parameters:
tup – A sequence of matrix-friendly API objects
axis – The axis along which the arrays will be joined. If axis is None, arrays are flattened before use. Default is 0.
- Returns:
Returns a matrix-friendly API object. Note that the return type depends on the types of the input objects.
- Example:
X = model.addMVar((k, n)) Y = model.addMVar((k, m)) XY = gp.concatenate((X, Y), axis=1) # (k, n+m) MVar