[mlpack-git] [mlpack] Add a primal-dual interior point SDP solver (#387)

Ryan Curtin notifications at github.com
Wed Jan 21 18:24:07 EST 2015


>> Any reason for the name Svec/Smat/SvecIndex? I'm not recognizing the name.
> These correspond to the names in the paper (https://www.cs.nyu.edu/overton/papers/pdffiles/pdsdp.pdf) that I'm basing this implementation off of.

Ah, okay, I see that now in the comments of `primal_dual.hpp`.  The comments on what the function does are clear anyway, so the question was just to satisfy my curiosity.

>> Why provide N2Bar()? The SDP class doesn't actually use it.
> It is used by `PrimalDualSolver::Optimize`

In this case, I'd suggest that it could be used as a utility function inside of `PrimalDualSolver` or just inlined everywhere.

>> Optimize() returns a std::pair. The bool is the success indicator and the double is the objective. Other optimizers just return the final objective, though. It seems like false is only returned when the solver does not converge in the specified number of iterations. I'm not sure any higher-level code will ever use that information, though, so I don't know how useful it is to return both a bool and a double as opposed to just the objective value.
> Honestly, I wrote this for the tests. Basically, since the primal dual method here is unique in that it is able to certify its own optimality, I wanted the test cases to be able to have access to this information. What API would you prefer for communicating this? I'd like to avoid having to write the KKT conditions out for each test case. We could write a free function (something like CheckKKT) locally for the test cases.

Yeah---I agree with that idea (unless you can think of something better).  I don't see any issue with taking an extra second during the tests to call `CheckKKT()`.

---
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/issues/387#issuecomment-70942895
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20150121/4c5c646a/attachment.html>


More information about the mlpack-git mailing list