This repository is associated to the publication "P.-A. Absil, S. Mataigne, The ultimate upper bound on the injectivity radius of the Stiefel manifold, 2024".
In order to use this repository, the user should have a Julia installation where the following packages are installed: LinearAlgebra
, SkewLinearAlgebra
, Plots
, LaTeXStrings
, Colors
. These packages are easily obtained from the package installation environment as follows. In Julia REPL, press ]
to access the installation environment and for each package, do
(@v1.6) pkg> add Name_of_Package
This repository contains de following folders: src
, plots
and figures
.
- The folder
src
contains the algorithms described in the paper, namely Algorithm 8.1 under the namecheckradius
. These are the routines needed to produce the results.-
skewlog.jl
contains a routine to compute the skew-symmetric matrix logarithm of an orthogonal matrix. -
check_injectivity_radius.jl
contains the algorithm corroborating the injectivity radius on the Stiefel manifold$\mathrm{St}(n,p)$ and subroutines (Algorithm 8.1).
-
- The folder
plots
contains files to perform numerical experiments with the algorithms from the foldersrc
.-
plot_inj_beta.jl
runs an experiment on$\mathrm{St}(n,p)$ using the routinecheck_radius
. The routine is called for various values of parameter$\beta>0$ , where$\beta$ is the parameter of the metric on$\mathrm{St}(n,p)$ (see paper). For each$\beta$ , the value$\rho$ is set to the conjectured injectivity radius$î_\beta$ (see Theorem 7.1) and$î_\beta+\delta$ . For any$\delta>0$ ,check_radius
should stop in a finite number of iteration with probability$1$ (see Section 8). When$\rho=î_\beta$ ,check_radius
should never return if Conjecture 8.1 is true (i.e., should reachitermax
).plot_inj_beta.jl
returns a plot with, for each pair$(\beta,\rho)$ , a white dot if the algorithm returned in finite time and a black dot if the algorithm reacheditermax
. -
plot_iteration_count.jl
also runs an experiment on$\mathrm{St}(n,p)$ using the routinecheck_radius
. Given$\beta>0$ , and various values$\delta>0$ ,plot_iteration_count.jl
displays how many iterations are needed to return whencheck_radius
is called with$\rho=î_\beta+\delta$ . As$\delta\rightarrow 0$ , we observe that the number of iterations needed tends to infinity.
-
- The folder
figures
contains output figures of the fileplot_inj_beta.jl
set with$(n,p) \in {(4,2),(4,3),(5,3)}$ . On all figures,check_radius
reached itermax for$\rho = î_\beta$ --- that is, could never contradict the conjecture$î_\beta=\mathrm{inj}_{\mathrm{St}(n,p)}$ .
If you use the content of this repository, please cite:
@misc{absil2024ultimate,
title={The ultimate upper bound on the injectivity radius of the Stiefel manifold},
author={P. -A. Absil and Simon Mataigne},
year={2024},
eprint={2403.02079},
archivePrefix={arXiv},
primaryClass={math.DG}
}