Sun, 11 Dec 2022 23:25:53 +0200
Support arbitrary regularisation terms; implement non-positivity-constrained regularisation.
* Fixes the conditional gradient methods that were incorrectly solving
positivity constrained subproblems although the infinite-dimensional
versions do not include such constraints.
* Introduces the `ExperimentV2` struct that has `regularisation` in place
of `α`. The `Experiment` struct is now deprecated.
* The L^2-squared experiments were switch to be unconstrained, as the
Franke-Wolfe implementations do not support constraints. (This would
be easy to add for the “fully corrective” variant, but is not
immediate for the “relaxed” variant.)
[package] name = "pointsource_algs" version = "1.0.1-dev" edition = "2021" rust-version = "1.67" authors = ["Tuomo Valkonen <tuomov@iki.fi>"] description = "Algorithms for point source localisation" homepage = "https://tuomov.iki.fi/software/pointsource_algs/" repository = "https://tuomov.iki.fi/repos/pointsource_algs/" license-file = "LICENSE" keywords = [ "optimization", "measure", "pointsource", "forward-backward", "primal-dual", "pdps", "fista", "frank-wolfe", "conditional gradient" ] categories = ["mathematics", "science", "computer-vision"] [dependencies] alg_tools = { version = "~0.1.0", path = "../alg_tools", default-features = false } serde = { version = "1.0", features = ["derive"] } num-traits = { version = "~0.2.14", features = ["std"] } rand = "~0.8.5" colored = "~2.0.0" rand_distr = "~0.4.3" nalgebra = { version = "~0.31.0", features = ["rand-no-std"] } itertools = "~0.10.3" numeric_literals = "~0.2.0" poloto = "~3.13.1" GSL = "~6.0.0" float_extras = "~0.1.6" clap = { version = "~4.0.27", features = ["derive", "unicode", "wrap_help"] } image = "~0.24.3" cpu-time = "~1.0.0" colorbrewer = "~0.2.0" rgb = "~0.8.33" serde_json = "~1.0.85" chrono = { version = "~0.4.23", features = ["alloc", "std", "serde"] } [build-dependencies] regex = "~1.7.0" [profile.release] debug = true