README.md

changeset 0
eb3c7813b67a
child 6
bcb508479948
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md	Thu Dec 01 23:07:35 2022 +0200
@@ -0,0 +1,42 @@
+
+# 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
+
+

mercurial