Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement infectivity radius on Stiefel #722

Merged
merged 9 commits into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.9.17] – unreleased
## [0.9.18] – 2024-05-07

### Added

* added the injectivity radius for the Stiefel manifold with Euclidean metric


## [0.9.17] – 2024-04-23

### Added

Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Manifolds"
uuid = "1cead3c2-87b3-11e9-0ccd-23c62b72b94e"
authors = ["Seth Axen <seth.axen@gmail.com>", "Mateusz Baran <mateuszbaran89@gmail.com>", "Ronny Bergmann <manopt@ronnybergmann.net>", "Antoine Levitt <antoine.levitt@gmail.com>"]
version = "0.9.17"
version = "0.9.18"

[deps]
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Expand Down
9 changes: 9 additions & 0 deletions docs/src/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -880,6 +880,15 @@ @article{ZimmermannHueper:2022
EPRINT = {2103.12046},
EPRINTTYPE = {arXiv}
}
@article{ZimmermannStoye:2024,
AUTHOR = {Zimmermann, Ralf and Stoye, Jakob},
EPRINT = {2405.02268},
EPRINTTYPE = {arXiv},
JOURNAL = {arXiv Preprint},
TITLE = {The injectivity radius of the compact Stiefel manifold under the Euclidean metric},
URL = {https://arxiv.org/abs/2405.02268},
YEAR = {2024}
}
#
# Å
# ----------------------------------------------------------------------------------------
Expand Down
8 changes: 8 additions & 0 deletions src/manifolds/StiefelEuclideanMetric.jl
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,15 @@

_euclidean_unit_vector(n, i) = [k == i ? 1.0 : 0.0 for k in 1:n]

@doc raw"""
injectivity_radius(M::Stiefel)

Return the injectivity radius for the [`Stiefel`](@ref) manifold `M`,
which is globally ``π`` [ZimmermannStoye:2024](@cite).
"""
injectivity_radius(::Stiefel) = π

Check warning on line 111 in src/manifolds/StiefelEuclideanMetric.jl

View check run for this annotation

Codecov / codecov/patch

src/manifolds/StiefelEuclideanMetric.jl#L111

Added line #L111 was not covered by tests

@doc raw"""
inverse_retract(M::Stiefel, p, q, method::ProjectionInverseRetraction)

Compute a projection-based inverse retraction.
Expand Down
2 changes: 2 additions & 0 deletions test/manifolds/stiefel.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ include("../header.jl")
@test is_default_metric(M, EuclideanMetric())
@test representation_size(M) == (3, 2)
@test manifold_dimension(M) == 3
@test injectivity_radius(M) == π
@test injectivity_radius(M2) == π
@test !is_flat(M)
@test !is_flat(M2)
@test is_flat(Stiefel(2, 1))
Expand Down
Loading