[mlpack-git] [mlpack] Low-rank constraint matrices in LRSDP (#578)

Ryan Curtin notifications at github.com
Wed Mar 16 14:17:12 EDT 2016


@epatters: a contribution would be greatly appreciated; there's lots of cool stuff that could be done with the LRSDP code, but time has always prohibited that on my end.

Another thing to consider might be a refactoring of the `SDP` class; right now, you specify your objective matrix type as a template parameter, but then you can have arbitrary numbers of constraints represented by sparse or dense matrices.  But this approach doesn't scale to constraints that should be represented differently, like the `LinearConstraint` class that Stephen just suggested.

I haven't put much thought into this, but I think it would be really nice and make your problem easy to solve if a user could write something like:

```
// This SDP just has a sparse matrix constraint.
SDP<SparseMatrixConstraint> sdp;
// This SDP has both dense and linear constraints.
SDP<DenseMatrixConstraint, LinearConstraint> sdp2;
// This SDP has all three.
SDP<SparseMatrixConstraint, DenseMatrixConstraint, LinearConstraint> sdp3;
```

That could probably be accomplished through variadic templates, and then some nice functionality could be provided to set each constraint.  I haven't thought this through completely, this is just a comment made with maybe three minutes worth of thought.

Anyway, I'm happy to help out, so let me know if you have any questions.  My ideas above may or may not be applicable---don't feel obligated to take them as suggestions (maybe they don't even work, I don't know).

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/issues/578#issuecomment-197466168
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160316/2b252495/attachment-0001.html>


More information about the mlpack-git mailing list