README.md

changeset 0
eb3c7813b67a
child 6
bcb508479948
equal deleted inserted replaced
-1:000000000000 0:eb3c7813b67a
1
2 # pointsource_algs
3
4 This repository contains [Rust][] codes for the manuscript “_Proximal methods for point source localisation_” by Tuomo Valkonen ⟨tuomov@iki.fi⟩.
5 It concerns solution of problems of the type
6 $$
7 \min_{μ ∈ ℳ(Ω)}~ F(x) + λ \|μ\|_{ℳ(Ω)} + δ_{≥ 0}(x),
8 $$
9 where $F(x)=\frac12\|Ax-b\|_2^2$ and $A \in 𝕃(ℳ(Ω); ℝ^m)$, and $ℳ(Ω)$ is the space of Radon measures on the (rectangular) domain $Ω ⊂ ℝ^n$.
10
11 ## Installation and usage
12
13 First install the Install [Rust][] compiler and `cargo`.
14 Also install the [GNU Scientific Library][gsl]. On a Mac with [Homebrew][]
15 installed, the latter can be done with
16 ```sh
17 $ brew install gsl
18 ```
19 Then download [alg_tools][] and unpack it under the same directory as this package.
20 To compile the code and run the experiments in the manuscript, use
21 ```sh
22 $ cargo run --release
23 ```
24 The `--release` flag is required to build optimised high performance code.
25 Without that flag the performance will be significantly worse.
26
27 ## Documentation
28
29 The integrated documentation may be built and opened with
30 ```sh
31 $ carg doc # build dependency docs
32 $ . misc/doc-alias.sh # load KaTeX helper macro
33 $ cargo-d --open # build and open KaTeX-aware docs for this crate
34 ```
35 The `cargo-d` alias ensures that KaTeX mathematics is rendered in the generated documentation. `Rustdoc` is obsolete rubbish that does not support modern markdown featues, so `cargo doc` does not render mathematics. Instead an ugly workaround is needed.
36
37 [alg_tools]: https://tuomov.iki.fi/software/alg_tools/
38 [Rust]: https://www.rust-lang.org/
39 [gsl]: https://www.gnu.org/software/gsl/
40 [Homebrew]: https://brew.sh
41
42

mercurial