You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
250819.145512.CST fix a bug in preproc.f90 due to the co-exisitence of rhobeg_in and rhobeg_old, rhoend_in and rhoend_old; they were not initialized correctly
wmsg = sprintf('%s: x0 is revised so that the distance between x0 and the inactive bounds is at least rhobeg; set options.honour_x0 to true if you prefer to keep x0.', invoker);
1998
1998
warning(wid, '%s', wmsg);
@@ -2003,14 +2003,14 @@
2003
2003
% Revise rhobeg if needed.
2004
2004
% N.B.: If x0 has been revised above (i.e., options.honour_x0 is false), then the following revision
2005
2005
% is unnecessary in precise arithmetic. However, it may still be needed due to rounding errors.
rhoend=max(EPS, min(0.1*rhobeg, rhoend)) # We do not revise RHOEND unless RHOBEG is truly revised.
216
216
ifhas_rhobeg:
217
217
warn(f'{solver}: RHOBEG is revised to {rhobeg} and RHOEND to at most 0.1*RHOBEG so that the distance between X0 and the inactive bounds is at least RHOBEG')
218
218
else:
219
219
rhoend=np.minimum(rhoend, rhobeg) # This may update RHOEND slightly.
220
220
else:
221
-
x0_old=x0# Recorded to see whether X0 is really revised.
221
+
x0_in=x0# Recorded to see whether X0 is really revised.
222
222
# N.B.: The following revision is valid only if XL <= X0 <= XU and RHOBEG <= MINVAL(XU-XL)/2,
223
223
# which should hold at this point due to the revision of RHOBEG and moderation of X0.
224
224
# The cases below are mutually exclusive in precise arithmetic as MINVAL(XU-XL) >= 2*RHOBEG.
warn(f'{solver}: X0 is revised so that the distance between X0 and the inactive bounds is at least RHOBEG set HONOUR_X0 to .TRUE. if you prefer to keep X0 unchanged')
0 commit comments