JuliaManifolds / Manopt.jl

🏔️Manopt. jl – Optimization on Manifolds in Julia
http://manoptjl.org
Other
314 stars 40 forks source link

Differentiate more precisely bewteen swarm and iterate in PSO more stricly #344

Closed kellertuer closed 8 months ago

kellertuer commented 8 months ago

We noticed an inconsistency yesterday, where (probably for historic reasons) the swarm was sometimes returned when calling get_iterate on the ParticleSwarmState – probably since it made a few things easer.

This PR fixes that and introduces :Swarm to access the swarm in general within the (much newer than PSO) get_manopt_parameter and updates its occurrences accordingly. Furthermore get_manopt_parameter is now as tolerant as set_manopt_parameter! and returns nothing (but does not error) if a state/problem/... does not have a certain parameter.

codecov[bot] commented 8 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (40955df) 99.60% compared to head (ff27769) 99.62%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #344 +/- ## ========================================== + Coverage 99.60% 99.62% +0.01% ========================================== Files 69 69 Lines 6372 6380 +8 ========================================== + Hits 6347 6356 +9 + Misses 25 24 -1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

mateuszbaran commented 8 months ago

For a generic interface maybe :Population would be better as it can refer to any evolutionary algorithm. Adding CMA-ES to Manopt is on my TODO list.

kellertuer commented 8 months ago

That sounds like a very good idea, to call that generic name :Population – will do that :)