README.md

branch
dev
changeset 40
896b42b5ac1a
parent 35
b087e3eab191
child 50
39c5e6c7759d
equal deleted inserted replaced
39:6316d68b58af 40:896b42b5ac1a
1 1
2 # Proximal methods for point source localisation: the implementation 2 # Proximal methods for point source localisation: the implementation
3 3
4 This package contains [Rust] codes for the manuscript “_Proximal methods for 4 This package contains the [Rust] codes for the numerical experiments in the articles
5 point source localisation_” ([arXiv:2212.02991]) by Tuomo Valkonen 5 * T. Valkonen, “_Proximal methods for
6 ⟨tuomov@iki.fi⟩. It concerns solution of problems of the type 6 point source localisation_”, Journal of Nonsmooth Analysis and Optimization 4 (2023), 10433, [doi:10.46298/jnsao-2023-10433] ([arXiv:2212.02991])
7 * T. Valkonen, “_Point source localisation with unbalanced optimal transport_” (2025), submitted.
8
9 It concerns solution of problems of the type
7 $$ 10 $$
8 \min_{μ ∈ ℳ(Ω)}~ F(μ) + λ \|μ\|_{ℳ(Ω)} + δ_{≥ 0}(μ), 11 \min_{μ ∈ ℳ(Ω)}~ F(μ) + λ \|μ\|_{ℳ(Ω)} + δ_{≥ 0}(μ),
9 $$ 12 $$
10 where $F$ is a data term, and $ℳ(Ω)$ is the space of Radon measures on the 13 where $F$ is a data term, and $ℳ(Ω)$ is the space of Radon measures on the
11 (rectangular) domain $Ω ⊂ ℝ^n$. Implemented are $F(μ)=\frac12\|Aμ-b\|_2^2$ and 14 (rectangular) domain $Ω ⊂ ℝ^n$. Implemented are $F(μ)=\frac12\|Aμ-b\|_2^2$ and
12 $F(μ)=\|Aμ-b\|_1$ for the forward operator $A \in 𝕃(ℳ(Ω); ℝ^m)$ modelling a 15 $F(μ)=\|Aμ-b\|_1$ for the forward operator $A \in 𝕃(ℳ(Ω); ℝ^m)$ modelling a
13 simple sensor grid. For the 2-norm-squared data term implemented are the 16 simple sensor grid.
14 algorithms μFB, μFISTA, and μPDPS from the aforementioned manuscript along with
15 comparison relaxed and fully corrective conditional gradient methods from the
16 literature. For the 1-norm data term only the μPDPS is applicable.
17 17
18 ## Installation and usage 18 ## Installation and usage
19 19
20 ### Installing dependencies 20 ### Installing dependencies
21 21
47 [Rust]: https://www.rust-lang.org/ 47 [Rust]: https://www.rust-lang.org/
48 [GNU Scientific Library]: https://www.gnu.org/software/gsl/ 48 [GNU Scientific Library]: https://www.gnu.org/software/gsl/
49 [rust-GSL]: https://docs.rs/GSL/6.0.0/rgsl/ 49 [rust-GSL]: https://docs.rs/GSL/6.0.0/rgsl/
50 [Homebrew]: https://brew.sh 50 [Homebrew]: https://brew.sh
51 [arXiv:2212.02991]: https://arxiv.org/abs/2212.02991 51 [arXiv:2212.02991]: https://arxiv.org/abs/2212.02991
52 [doi:10.46298/jnsao-2023-10433]: http://doi.org/10.46298/jnsao-2023-10433
52 53
53 ### Building and running the experiments 54 ### Building and running the experiments
54 55
55 To compile and install the program, use 56 To compile and install the program, use
56 ```console 57 ```console
57 cargo install --path=. 58 cargo install --path=.
58 ``` 59 ```
59 When doing this for the first time, several dependencies will be downloaded. 60 When doing this for the first time, several dependencies will be downloaded.
60 Now you can run the default experiment with 61 Now you can run the default set of experiments with
61 ``` 62 ```
62 pointsource_algs -o results 63 pointsource_algs -o results
63 ``` 64 ```
64 The `-o results` option tells `pointsource_algs` to write results in the 65 The `-o results` option tells `pointsource_algs` to write results in the
65 `results` directory. The option is required. 66 `results` directory. The option is required.

mercurial