-
Notifications
You must be signed in to change notification settings - Fork 35
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
WIP: Incorporate latest upstream changes #6
Conversation
There are quite a few changes to the MEX files, so we'll want to handle with care. |
@@ -32,11 +32,11 @@ | |||
const = 1e-2/max(1,norm(par.dy2)); | |||
alpha = max(1e-14,min(1e-10,const*norm(par.rp))/(1+norm(diagschur.*par.dy2))); | |||
pertdiag = alpha*max(1e-8,diagschur); %% Note: alpha is close to 1e-15. | |||
mexschurfun(schur,pertdiag); | |||
schur = mexschurfun(schur,pertdiag); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of the key functional changes: eliminating the reliance on MEX side effects. This is but one of the many instances of this change.
newtol = max(relgap,infeas); | ||
update_best(iter+1) = ~( newtol >= besttol ); %#ok | ||
if update_best(iter+1), | ||
if ((prim_infeas < 1.5*prim_infeas_best) ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-trivial changes to progress tracking.
@@ -68,7 +68,7 @@ | |||
if (printlevel); fprintf('\n %s',msg); end | |||
end | |||
if (termcode == 3) | |||
maxblowup = max(ops(X,'norm')/normX0,ops(Z,'norm')/normZ0); | |||
maxblowup = max(ops(X,'norm')/max(1,normX0),ops(Z,'norm')/max(1,normZ0)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note the change to stopping criteria
@@ -38,17 +38,23 @@ | |||
% stime = cputime; | |||
Ap = At{p}'; Cp = C{p}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-trivial changes here.
@@ -71,17 +71,26 @@ | |||
end | |||
else | |||
decolidx = checkdense(At{p,1}'); | |||
%% checkdense punts if the matrix has too many dense columns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-trivial changes here.
Tested against |
Fixes #5.
No MEX files have been recompiled yet. So needless to say, it isn't even tested yet. This is not ready to merge.