| 2 # Proximal methods for point source localisation: the implementation |
2 # Proximal methods for point source localisation: the implementation |
| 3 |
3 |
| 4 This package contains the [Rust] codes for the numerical experiments in the articles |
4 This package contains the [Rust] codes for the numerical experiments in the articles |
| 5 * T. Valkonen, “_Proximal methods for |
5 * T. Valkonen, “_Proximal methods for |
| 6 point source localisation_”, Journal of Nonsmooth Analysis and Optimization 4 (2023), 10433, [doi:10.46298/jnsao-2023-10433] ([arXiv:2212.02991]) |
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. |
7 * T. Valkonen, “_Point source localisation with unbalanced optimal transport_” (2025), submitted, [arXiv:2502.12417] |
| 8 |
8 |
| 9 It concerns solution of problems of the type |
9 It concerns solution of problems of the type |
| 10 $$ |
10 $$ |
| 11 \min_{μ ∈ ℳ(Ω)}~ F(μ) + λ \|μ\|_{ℳ(Ω)} + δ_{≥ 0}(μ), |
11 \min_{μ ∈ ℳ(Ω)}~ F(μ) + λ \|μ\|_{ℳ(Ω)} + δ_{≥ 0}(μ), |
| 12 $$ |
12 $$ |
| 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 [arXiv:2502.12417]: https://arxiv.org/abs/2502.12417 |
| 52 [doi:10.46298/jnsao-2023-10433]: http://doi.org/10.46298/jnsao-2023-10433 |
53 [doi:10.46298/jnsao-2023-10433]: http://doi.org/10.46298/jnsao-2023-10433 |
| 53 |
54 |
| 54 ### Building and running the experiments |
55 ### Building and running the experiments |
| 55 |
56 |
| 56 To compile and install the program, use |
57 To compile and install the program, use |
| 67 |
68 |
| 68 Alternatively, you may build and run the program without installing with |
69 Alternatively, you may build and run the program without installing with |
| 69 ```console |
70 ```console |
| 70 cargo run --release -- -o results |
71 cargo run --release -- -o results |
| 71 ``` |
72 ``` |
| 72 The double-dash separates the options for the Cargo build system |
73 The double-dash separates the options for the Cargo build system |
| 73 and `pointsource_algs`. |
74 and `pointsource_algs`. |
| 74 |
75 |
| 75 ### Documentation |
76 ### Documentation |
| 76 |
77 |
| 77 Use the `--help` option to get an extensive listing of command line options to |
78 Use the `--help` option to get an extensive listing of command line options to |
| 87 ``` |
88 ``` |
| 88 The `cargo-d` script ensures that KaTeX mathematics is rendered in the |
89 The `cargo-d` script ensures that KaTeX mathematics is rendered in the |
| 89 generated documentation through an ugly workaround. Unfortunately, |
90 generated documentation through an ugly workaround. Unfortunately, |
| 90 `rustdoc`, akin to Rust largely itself, is stuck in 80's 7-bit gringo ASCII |
91 `rustdoc`, akin to Rust largely itself, is stuck in 80's 7-bit gringo ASCII |
| 91 world, and does not support modern markdown features, such as mathematics. |
92 world, and does not support modern markdown features, such as mathematics. |
| 92 |
|