Wed, 30 Nov 2022 23:45:04 +0200
Sketch FBGenericConfig clap
# pointsource_algs This repository contains [Rust][] codes for the manuscript “_Proximal methods for point source localisation_” by Tuomo Valkonen ⟨tuomov@iki.fi⟩. It concerns solution of problems of the type $$ \min_{μ ∈ ℳ(Ω)}~ F(x) + λ \|μ\|_{ℳ(Ω)} + δ_{≥ 0}(x), $$ where $F(x)=\frac12\|Ax-b\|_2^2$ and $A \in 𝕃(ℳ(Ω); ℝ^m)$, and $ℳ(Ω)$ is the space of Radon measures on the (rectangular) domain $Ω ⊂ ℝ^n$. ## Installation and usage First install the Install [Rust][] compiler and `cargo`. Also install the [GNU Scientific Library][gsl]. On a Mac with [Homebrew][] installed, the latter can be done with ```sh $ brew install gsl ``` Then download [alg_tools][] and unpack it under the same directory as this package. To compile the code and run the experiments in the manuscript, use ```sh $ cargo run --release ``` The `--release` flag is required to build optimised high performance code. Without that flag the performance will be significantly worse. ## Documentation The integrated documentation may be built and opened with ```sh $ carg doc # build dependency docs $ . misc/doc-alias.sh # load KaTeX helper macro $ cargo-d --open # build and open KaTeX-aware docs for this crate ``` 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. [alg_tools]: https://tuomov.iki.fi/software/alg_tools/ [Rust]: https://www.rust-lang.org/ [gsl]: https://www.gnu.org/software/gsl/ [Homebrew]: https://brew.sh