MQuadExpr
MQuadExpr
古洛比二次矩阵表达式对象。二次矩阵表达式用于构造二次目标函数和二次约束。它们是临时对象,通常寿命很短。
通常使用重载操作符构建二次矩阵表达式。例如,如果x
是一个兆乏对象和一个
是一个二维矩阵(密集还是稀疏),那么x @ A @ x
和@ x
都是MQuadExpr对象。支持大多数算术运算MQuadExpr
对象,包括加法和减法(例如,x = x @ A @ x - y @ B @ y
)和乘以一个常数(例如。expr = 2 * x @ A @ y
).
上的重载操作符的完整列表MQuadExpr对象如下:+
,+ =
,-
,- =
,*
,* =
,/
.按照Python的说法,我们已经定义了以下内容QuadExpr
功能:__add__
,__radd__
,__iadd__
,__sub__
,__rsub__
,__isub__
,__neg__
,__mul__
,__rmul__
,__imul__
.
我们还重载了比较操作符(==,< =,>=),以便更容易地从二次表达式构建约束。
注意,Python矩阵乘法运算符(@
)在Python 3.5版本中引入;它在Python 2.7中不可用。
注意,二次矩阵表达式总是产生一个标量结果(一个带有形状的结果)(1)
).您可以将线性项添加到二次矩阵表达式中,但要使维度兼容,它们还必须具有形状(1)
.
部分