Enregistré dans:
Détails bibliographiques
Auteurs principaux: Valkonen, Tuomo, von Koch, Heikki Antero
Format: Recurso digital
Langue:
Publié: Zenodo 2025
Accès en ligne:https://doi.org/10.5281/zenodo.15102168
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866902274456944640
author Valkonen, Tuomo
von Koch, Heikki Antero
author_facet Valkonen, Tuomo
von Koch, Heikki Antero
contents <p>This package contains <a href="https://www.rust-lang.org/">Rust</a> codes for the manuscript “<em>Forward-backward methods in bilaterally bounded Alexandrov spaces</em>” (<a href="https://arxiv.org/abs/2503.24126">arXiv:2503.24126</a>) by Heikki von Koch and Tuomo Valkonen ⟨tuomov@iki.fi⟩. It concerns the solution of problems of the type $$ \min_{x ∈ M} F(x) + G(x) $$ where $F$ is a smooth function and $G$ a possibly nonsmooth convex function on a manifold $M$, which we do not assume to be Riemannian. It may, for example, be an embedded manifold in $ℝ^3$ with sharp edges. We have implemented the cube and the cylinder, as well as squared and non-squared distance functions.</p> <h2>Installation and usage</h2> <h3>Installing dependencies</h3> <p>Most dependencies are managed by the Cargo build system of <a href="https://www.rust-lang.org/">Rust</a>. You will only need to manually install the “stable” Rust system itself. This can be done with <a href="https://rustup.rs/">rustup</a>.</p> <h3>Building and running the experiments</h3> <p>To compile and install the program, use:</p> <pre><code>cargo install --path=. </code></pre> <p>When doing this for the first time, several dependencies will be downloaded. After this, you may run the experiment with</p> <pre><code>non-riemannian-opt </code></pre> <p>Alternatively, you may build (without installing) and run the experiments with</p> <pre><code>cargo run --release </code></pre> <h3>Generating the graphical illustrations</h3> <p>We include LaTeX/PGFPLOTS files for graphically illustrating the numerical results. To generate <code>cube.pdf</code> and <code>cylinder.pdf</code> that visualise the computations, after running <code>non-riemannian-opt</code> as indicated above, you can use:</p> <pre><code>cd visualisations pdflatex cube pdflatex cylinder </code></pre> <h2>Internals and auxiliary results</h2> <p>If you are interested in the program internals, the integrated source code documentation may be built and opened with</p> <pre><code>cargo doc # build dependency docs misc/cargo-d --open # build and open KaTeX-aware docs for this crate </code></pre> <p>The <code>cargo-d</code> script ensures that KaTeX mathematics is rendered in the generated documentation through an ugly workaround. Unfortunately, <code>rustdoc</code>, akin to Rust largely itself, is stuck in 80's 7-bit gringo ASCII world, and does not support modern markdown features, such as mathematics.</p> <p>In the <code>doc/</code> subdirectory, you can find <code>aux_results.pdf</code> (and <code>.tex</code>) that includes additional detailed geodesic formulas that are not included in the main manuscript.</p>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_15102168
institution Zenodo
language
publishDate 2025
publisher Zenodo
record_format zenodo
spellingShingle Non-Riemannian optimisation
Valkonen, Tuomo
von Koch, Heikki Antero
<p>This package contains <a href="https://www.rust-lang.org/">Rust</a> codes for the manuscript “<em>Forward-backward methods in bilaterally bounded Alexandrov spaces</em>” (<a href="https://arxiv.org/abs/2503.24126">arXiv:2503.24126</a>) by Heikki von Koch and Tuomo Valkonen ⟨tuomov@iki.fi⟩. It concerns the solution of problems of the type $$ \min_{x ∈ M} F(x) + G(x) $$ where $F$ is a smooth function and $G$ a possibly nonsmooth convex function on a manifold $M$, which we do not assume to be Riemannian. It may, for example, be an embedded manifold in $ℝ^3$ with sharp edges. We have implemented the cube and the cylinder, as well as squared and non-squared distance functions.</p> <h2>Installation and usage</h2> <h3>Installing dependencies</h3> <p>Most dependencies are managed by the Cargo build system of <a href="https://www.rust-lang.org/">Rust</a>. You will only need to manually install the “stable” Rust system itself. This can be done with <a href="https://rustup.rs/">rustup</a>.</p> <h3>Building and running the experiments</h3> <p>To compile and install the program, use:</p> <pre><code>cargo install --path=. </code></pre> <p>When doing this for the first time, several dependencies will be downloaded. After this, you may run the experiment with</p> <pre><code>non-riemannian-opt </code></pre> <p>Alternatively, you may build (without installing) and run the experiments with</p> <pre><code>cargo run --release </code></pre> <h3>Generating the graphical illustrations</h3> <p>We include LaTeX/PGFPLOTS files for graphically illustrating the numerical results. To generate <code>cube.pdf</code> and <code>cylinder.pdf</code> that visualise the computations, after running <code>non-riemannian-opt</code> as indicated above, you can use:</p> <pre><code>cd visualisations pdflatex cube pdflatex cylinder </code></pre> <h2>Internals and auxiliary results</h2> <p>If you are interested in the program internals, the integrated source code documentation may be built and opened with</p> <pre><code>cargo doc # build dependency docs misc/cargo-d --open # build and open KaTeX-aware docs for this crate </code></pre> <p>The <code>cargo-d</code> script ensures that KaTeX mathematics is rendered in the generated documentation through an ugly workaround. Unfortunately, <code>rustdoc</code>, akin to Rust largely itself, is stuck in 80's 7-bit gringo ASCII world, and does not support modern markdown features, such as mathematics.</p> <p>In the <code>doc/</code> subdirectory, you can find <code>aux_results.pdf</code> (and <code>.tex</code>) that includes additional detailed geodesic formulas that are not included in the main manuscript.</p>
title Non-Riemannian optimisation
url https://doi.org/10.5281/zenodo.15102168