Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sum of Squares Matrix #10

Closed
blegat opened this issue May 30, 2017 · 7 comments
Closed

Sum of Squares Matrix #10

blegat opened this issue May 30, 2017 · 7 comments

Comments

@blegat
Copy link
Member

blegat commented May 30, 2017

With @polyconstraint, the syntax is

@polyconstraint m A >= 0

where A is a matrix.
Now,

@constraint m A >= 0

creates the elementwise SOS constraints and it would be inconsistent to do something else.
What would be the new syntax ?

We could have

@constraint m A in SOSM

without needing to change anything in JuMP.

One other option would be to both have

@constraint m A in SDP
@SDconstraint m A

and change the SDconstraint macro so that it calls constructconstraint!(expr, SDP) instead of calling SDConstraint directly.

@joehuchette what do you think ?

@joehuchette
Copy link
Contributor

I think the set inclusion version (first) is clearest. Why SOSM instead of SOS?

@joehuchette
Copy link
Contributor

Actually, @SDconstraint(m, A) makes sense as well. I would be OK with either (both?) I think.

@blegat
Copy link
Member Author

blegat commented May 30, 2017

Yes both is also possible, I was hoping you would say that :)
SOSM is for SOS Matrices. SOS only would be ambiguous since it could mean elementwise SOS.

@joehuchette
Copy link
Contributor

Hmm OK. I wouldn't necessarily think of the element-wise version, but it is somewhat ambiguous. Maybe the @SDconstraint version is preferable, then.

@chriscoey
Copy link
Contributor

the conic interface will be redone soon (@mlubin), and the cone name :SDP will change. SDP is my pet peeve - it should be PSD.

it would also be nice if we can avoid having a separate @SDconstraint macro for PSD constraints. though yes, I recognize more is going on there, like checking symmetry etc

@chriscoey
Copy link
Contributor

chriscoey commented May 30, 2017

maybe we should figure out in general what these set objects will look like in the new mathprogbase "set inclusion" optimization interface - which needs more thought - and then decide what syntax to use here in PolyJuMP.

depending on how we want to design "set" objects in the near future, maybe the "SOS" vs "SOS Matrix" could be determined from a parameter to a "SOS" object. I don't know enough about the underlying theory to say.

@blegat
Copy link
Member Author

blegat commented Jun 3, 2017

@chriscoey I understand that all this might change a lot in the future but I would like to have one syntax that I know will work for some time to put it in the slides at the JuMP meetup :-P
It seems to me that @SDconstraint is safe since it does not use the "set inclusion" interface. If this macro disappears in the future, users won't be surprised that the PolyJuMP syntax has changed too

blegat added a commit that referenced this issue Jun 9, 2017
@blegat blegat mentioned this issue Jun 10, 2017
blegat added a commit that referenced this issue Jun 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants