Closed sethaxen closed 2 years ago
I have read the paper already, since I know Ralf and I think I already implemented one or the other of his algorithms here. Also having their family of metrics here, too, would be nice. The other would be to also include these Quasi geodesics as retractions https://link.springer.com/chapter/10.1007%2F978-3-030-80209-7_82 (see also https://arxiv.org/abs/2105.07017).
I just got an email, that a reference implementation for the logarithmic maps and metrics is available for Matlab and Python at https://github.com/RalfZimmermannSDU/RiemannStiefelLog/tree/main/Stiefel_log_general_metric/.
I may tackle this in the coming weeks as I want to use mean
on the Stiefel
manifold.
🥾🪵? Nice!
We could also check whether your ideas to the generalised Stiefel even :) We should however implement that as an ApproximateLogarithmicRetraction, I think?
My thoughts are to more or less implement the method exactly as it appears in the above paper. I think generalising it would require at least some theory and should probably wait for a later PR.
Are you thinking that method itself should be an ApproximateLogarithmicRetraction? I guess it depends on how good the approximation is. Technically the matrix logarithm we use is an approximation, but it's basically always within a small tolerance of the correct value, so we can ignore it's approximate nature.
But implementing their family of metrics at the same time makes sense. Any ideas what the family should be named?
Hm, I don't see a generic name popping up there, so one could maybe trace that back to the first paper where it was mentioned and take the author names?
This is the paper where the family is introduced: https://www.aimsciences.org/article/doi/10.3934/jgm.2020031. They name it the "normal or submersion (pseudo-)Riemannian metrics".
Cool, so (1) I would prefer to only document the case $\alpha > -1$, since for now we do not have proper coverage for Pseudo-Riemannian metrics (though that could become a trait somewhen).
I like SubmersionMetric
(with parameter alpha) or is that too generic? We could also call them StiefelSubmersionMetric
to be more specific (and I feel submersion is more concrete than normal).
Another approach would of course be to call it either HMSLMetric
or HueperMarkinaSilvaLeiteMetric
(where (a) yes I think that is a double surname in Portuguese and (b) also HüperMarkinaSilvaLeite
would be possible, since we have proper utf8).
Cool, so (1) I would prefer to only document the case α>−1, since for now we do not have proper coverage for Pseudo-Riemannian metrics (though that could become a trait somewhen).
Sounds good to me.
I like
SubmersionMetric
(with parameter alpha) or is that too generic? We could also call themStiefelSubmersionMetric
to be more specific (and I feel submersion is more concrete than normal).Another approach would of course be to call it either
HMSLMetric
orHueperMarkinaSilvaLeiteMetric
(where (a) yes I think that is a double surname in Portuguese and (b) alsoHüperMarkinaSilvaLeite
would be possible, since we have proper utf8).
I lean towards StiefelSubmersionMetric
since its sufficiently specific but still descriptive.
perfect, when I wrote my ideas, I also thought, the names might be a little too long and StiefelSubmersionMetric
is specific enough I think, yes.
http://arxiv.org/abs/2103.12046 gives an efficient shooting algorithm (Alg 2) for computing the logarithmic map on the
Stiefel(n, k)
manifold forn ≥ 2k
for a family of metrics that includes both the Euclidean and canonical (also Alg 4) metrics. I haven't check it, but their implementation of the exponential map in Section 3.1 might also improve on ours.