README.md

Wed, 30 Nov 2022 23:45:04 +0200

author
Tuomo Valkonen <tuomov@iki.fi>
date
Wed, 30 Nov 2022 23:45:04 +0200
changeset 1
d4fd5f32d10e
parent 0
eb3c7813b67a
child 6
bcb508479948
permissions
-rw-r--r--

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

mercurial