Version 0.5
Compared to Version 0.4, the major changes are as follows.
- Use
newunit
infprint.f90
, addressing #22. - Revise
fprint.f90
to fix "buffer overflow" detected bynagfor
. See 311f2b3. cobyla
is modified as follows concerningcpen
.- Implement the update of
cpen
incobylb.f90
into a functiongetcpen
, eliminating acycle
in the code. The flow of the algorithm becomes simpler. - Impose
cpen >= cpenmin > 0
, while Powell's code allowscpen = 0
. - The initialization of
cpen
takes into accountfcratio
, while Powell's code initializes it to zero.
- Implement the update of
- Implement the boolean variable
trfail
.- For
newuoa
/bobyqa
/lincoa
,trfail = .not. (qred > 1.0E-5_RP * rho**2)
. In previous versions,trfail
is essentially.not. (qred > 0)
even though it was not defined explicitly. - For
uobyqa
,trfail = .not. (qred > EPS * rho**2)
. In previous versions,trfail
is essentially.not. (qred > 0)
even though it was not defined explicitly. - For
cobyla
,trfail = .not. (prerem > min(ONE, cpen) * rho**2)
. In previous versions,trfail
is essentially.not. (max(prerec, preref) > 0)
even though it was not defined explicitly.
- For
cobyla
now tries the last trust-region step before returning, if this step was too short to try before.- The linting of Fortran and MEX gateways is now done on GitHub-hosted runners, except for the lining by
nagfor
.
N.B.: This version still retains the RESCUE and IDZ techniques in Powell's original implementation. See the release notes of Version 0.3 for more details.