8.6.7. PsdVar¶
- class PsdVar¶
Represents a positive semi-definite variable. PsdVar is a square matrix of plain variables. It implies a constraint, that is, its solution must be a positive semi-definite matrix. A PsdVar can be multiplied by the matrix to obtain a PsdExpr. For example:
x = model.addPsdVar(dim = 2, name = "x") expr = x * numpy.identity(x.dim)
Properties
The index position of the psd variable
- index¶
The index position of the psd variable.
Methods
Obtain the attribute value of a psd variable
Test whether the psd variable is the same as another psd variable
Set the attribute value of a pds variable
- getAttr(attrname)¶
Obtain the attribute value of a psd variable.
- Parameters
attrname – Attribute name
example:
m = Model() x = m.addPsdVar(dim = 1) print(x.dim) print(x.getAttr(MDO.Attr.Dim))
Note
Attribute can also be read and written directly through object attributes, in this case, the attribute name is case-insensitive
- sameAs(var)¶
Test whether the psd variable is the same as another psd variable.
- Parameters
var – Another psd variable to be tested
- Returns
A bool result
example:
m = Model() x = m.addPsdVar(dim=1) print(x.sameAs(m.getPsdVars()[0]))
- setAttr(attrname, attrvalue)¶
Set the attribute value of a pds variable.
- Parameters
attrname – The name of the attribute.
attrvalue – The value of the attribute to be set.
example:
m = Model() x = m.addPsdVar(dim = 1) x.setAttr(MDO.Attr.PsdVarName, "x0") print(x.psdvarname == "x0")
Note
Attribute can also be read and written directly through object attributes, in this case, the attribute name is case-insensitive