-
Notifications
You must be signed in to change notification settings - Fork 20
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
Is there a fresher reference for how HSD implementation currently works? #148
Comments
Thanks for using Tulip and for reaching out about this :) In what follows, all the equations number refer to the arxiv preprint.
The rationale behind most of this was that 1) the code was structured around a KKT module that solves augmented systems, and 2) I tried to minimize the number of redundant linear system solves. |
Thank you so much! |
Currently, the reference paper for Tulip is this AFAIK. However, I see some differences in the actual implementation, as follows:
KKT.solve!()
is called is significantly different. There is a "preliminary" solve even before the predictor step to compute the quantityh0
(which is not explained anywhere, and I'm trying to work out its contribution).KKT.solve!()
is called only once in each predictor or corrector step, whereas the paper says the augmented system needs to be solved twice in each solution of the newton step (predictor or corrector).I looked a bit through the commit history and their messages are not particularly insightful on this matter either. I imagine that these differences were introduce organically during the development of Tulip.
Has there been any paper / documentation / publicly accessible communication for the differences or how the current implementation is formulated?
Thanks!
The text was updated successfully, but these errors were encountered: