8.7.7. PsdVar

class PsdVar

代表一个半正定变量。 PsdVar对应一个方阵。它隐含一个约束,即它的解必须是一个方阵,这个方针必须为半正定的。 一个PsdVar可以和矩阵相乘后得到一个PsdExpr。 例如:

x = model.addPsdVar(dim = 2, name = "x")
expr = x * numpy.identity(x.dim)

属性

index

变量的索引位置

方法

getAttr()

获取变量对应的attribute值

sameAs()

测试变量和另一个变量,是否相同

setAttr()

设置变量对应的attribute值

getAttr(attrname)

获取变量对应的attribute值

Parameters:

attrname – 属性名称

example:

m = Model()
x = m.addPsdVar(dim = 1)
print(x.dim)
print(x.getAttr(MDO.Attr.Dim))

Note

Attribute的读写也可以直接通过对象属性读写完,这种情况下,属性名称大小写不敏感

sameAs(var)

测试变量和另一个变量,是否相同

Parameters:

var – 要测试的另一个变量

Returns:

一个bool型的结果

example:

m = Model()
x = m.addPsdVar(dim=1)
print(x.sameAs(m.getPsdVars()[0]))
setAttr(attrname, attrvalue)

设置变量对应的attribute值

Parameters:
  • attrname – attribute的名称

  • attrvalue – 要设置的attribute值

example:

m = Model()
x = m.addPsdVar(dim = 1)
x.setAttr(MDO.Attr.PsdVarName, "x0")
print(x.psdvarname == "x0")

Note

Attribute的读写也可以直接通过对象属性读写完,这种情况下,属性名称大小写不敏感