Skip to content

JOSS paper: changes across different Julia versions #270

@MohamedLaghdafHABIBOULLAH

Description

The example in the paper is not reproduced in Julia 1.12 and produces the following error:

julia> include("example.jl")
[ Info:  outer  inner     f(x)     h(x)  (ξ1/ν)        ρ        σ      ‖x‖      ‖s‖      ‖B‖ R2N
[ Info:      0      1  7.6e+03  7.8e+02  1.5e+02  4.5e-01  7.4e-04  2.8e+01  1.5e+02  1.0e+00 =
[ Info:      1    200  2.9e+03  6.5e+02  1.1e+02 -7.2e-03  7.4e-04  1.4e+02  3.8e+04  1.6e+00 ↗
[ Info:      2    200  2.9e+03  6.5e+02  1.1e+02 -9.2e-03  2.2e-03  1.4e+02  2.3e+04  1.6e+00 ↗
[ Info:      3    200  2.9e+03  6.5e+02  1.1e+02 -1.4e-02  6.7e-03  1.4e+02  1.0e+04  1.6e+00 ↗
[ Info:      4    200  2.9e+03  6.5e+02  1.1e+02 -2.4e-02  2.0e-02  1.4e+02  4.0e+03  1.6e+00 ↗
[ Info:      5    199  2.9e+03  6.5e+02  1.1e+02 -4.0e-02  6.0e-02  1.4e+02  1.3e+03  1.6e+00 ↗
[ Info:      6     82  2.9e+03  6.5e+02  1.1e+02 -3.6e-02  1.8e-01  1.4e+02  4.4e+02  1.6e+00 ↗
[ Info:      7     23  2.9e+03  6.5e+02  1.1e+02  1.0e-01  5.4e-01  1.4e+02  1.5e+02  1.6e+00 =
[ Info:      8      8  1.1e+03  1.2e+03  3.3e+01  1.6e+00  5.4e-01  2.4e+02  2.3e+01  1.0e+00 ↘
[ Info:      9      9  8.6e+02  8.2e+02  1.8e+01  1.5e+00  1.8e-01  2.3e+02  1.9e+01  1.0e+00 ↘
[ Info:     10     21  6.1e+02  7.8e+02  1.3e+01  1.1e+00  6.0e-02  2.3e+02  3.7e+01  1.0e+00 ↘
[ Info:     11     25  3.8e+02  7.1e+02  3.8e+00  1.5e+00  2.0e-02  2.2e+02  1.5e+01  9.8e-01 ↘
[ Info:     12     24  3.6e+02  6.7e+02  3.3e+00  1.7e+00  6.7e-03  2.2e+02  2.2e+01  4.6e-01 ↘
[ Info:     13    200  3.4e+02  6.3e+02  2.0e+00  1.0e+00  2.2e-03  2.3e+02  4.2e-01  4.8e+00 ↘
[ Info:     14    200  3.4e+02  6.3e+02  2.0e+00  1.0e+00  7.4e-04  2.3e+02  4.1e-01  4.9e+00 ↘
[ Info:     15    200  3.4e+02  6.3e+02  2.1e+00  1.0e+00  2.5e-04  2.3e+02  1.6e+00  1.3e+00 ↘
[ Info:     16    200  3.4e+02  6.3e+02  2.9e+00  1.2e+00  8.2e-05  2.3e+02  1.1e+01  2.9e-01 ↘
[ Info:     17    200  3.4e+02  6.0e+02  2.4e+00  1.1e+00  2.7e-05  2.2e+02  8.1e+00  3.3e-01 ↘
[ Info:     18    134  3.3e+02  5.8e+02  1.8e+00  1.0e+00  9.1e-06  2.2e+02  9.4e+01  1.7e+00 ↘
[ Info:     19    200  3.3e+02  4.8e+02  2.5e+00  8.5e-01  3.0e-06  2.3e+02  1.4e+00  1.8e+00 =
[ Info:     20     20  3.3e+02  4.8e+02  2.1e+00  1.2e+00  3.0e-06  2.3e+02  8.6e+00  6.1e-01...
[ Info:    140     88  1.9e+02  2.2e+02  4.5e-02  1.6e+00  2.6e-07  9.5e+02  2.2e+01  2.7e-02 ↘
mks = 1.731127610666441e7
ψ(s) = 9688.435470120465
hkn = 9688.435470120465
ν1 = 65329.83168707116
norm s1 = 46370.51666522656
norm Bk = 1.5209597991248702e-5
ERROR: LoadError: R2N: failed to compute a step: ξ = -1.731105604181186e7

If we print some parameters, we observe that $$B_k$$ at this iteration and $$\sigma_k$$ are very small, and consequently $$\nu_1$$ and $$s_1$$ are large.

When displaying the sub-iteration in question, we obtain:

[ Info:    140     88  1.9e+02  2.2e+02  4.5e-02  1.6e+00  2.6e-07  9.5e+02  2.2e+01  2.7e-02### Sous-itérations à l'itération de l'erreur
[ Info:   iter     f(x)     h(x)   /ν)        ρ        σ      ‖x‖      ‖s‖ R2
[ Info:      0  1.7e+07  9.7e+03  7.5e+02 -5.3e+02  1.5e-05  4.6e+04  4.9e+07 ↗
[ Info:      1  1.7e+07  9.7e+03  7.5e+02 -1.8e+02  4.6e-05  4.6e+04  1.6e+07 ↗
[ Info:      2  1.7e+07  9.7e+03  7.5e+02 -5.8e+01  1.4e-04  4.6e+04  5.5e+06 ↗
[ Info:      3  1.7e+07  9.7e+03  7.5e+02 -1.9e+01  4.1e-04  4.6e+04  1.8e+06 ↗
[ Info:      4  1.7e+07  9.7e+03  7.5e+02 -5.5e+00  1.2e-03  4.6e+04  6.1e+05 ↗
[ Info:      5  1.7e+07  9.7e+03  7.5e+02 -1.2e+00  3.7e-03  4.6e+04  2.0e+05 ↗
[ Info:      6  1.7e+07  9.7e+03  7.5e+02  2.7e-01  1.1e-02  4.6e+04  6.7e+04 =
[ Info:      7  3.4e+06  8.1e+03  3.6e+02  3.6e-01  1.1e-02  2.2e+04  3.2e+04 =
[ Info:      8 -6.6e+05  7.5e+03  2.6e+02  1.1e+00  1.1e-02  1.7e+04  2.3e+04 ↘
[ Info:      9 -7.3e+06  9.3e+03  4.7e+02  2.8e+00  3.7e-03  3.3e+04  1.3e+05 ↘
[ Info:     10 -1.7e+08  2.2e+04  2.2e+03  6.6e+00  1.2e-03  1.6e+05  1.8e+06...
[ Info:    196 -1.2e+306  6.2e+78 1.6e+152  7.4e+00  6.2e+13 1.3e+154 2.4e+138 ↘
[ Info:    197 -1.2e+306  6.2e+78 1.8e+152     -Inf  2.1e+13 1.3e+154 8.6e+138 ↗
[ Info:    198 -1.2e+306  6.2e+78 1.6e+152  7.0e+00  6.2e+13 1.3e+154 2.7e+138 ↘
[ Info:    199 -1.2e+306  6.2e+78 1.9e+152     -Inf  2.1e+13 1.3e+154 9.1e+138 ↗
ERROR: LoadError: R2N: failed to compute a step: ξ = -1.731105604181186e7

It appears that the subproblem is unbounded. But, the iteration should be automatically classified as unsuccessful, since $$h$$ is prox-bounded.
I believe that R2N requires improved robustness when $$B_k$$ (SR1) is ill-conditioned.

cc @MaxenceGollier

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions