<figure><img src="image_1.png" /></figure>

HAL
open science

# Rethinking the Riemannian Logarithm on Flag Manifolds as an Orthogonal Alignment Problem

Tom Szwagier, Xavier Pennec

► To cite this version:

Tom Szwagier, Xavier Pennec. Rethinking the Riemannian Logarithm on Flag Manifolds as an Orthogonal Alignment Problem. GSI 2023: Geometric Science of Information, Aug 2023, Saint-Malo, (France), France. pp.375-383, 10.1007/978-3-031-38271-0_37. hal-04100534

HAL Id: hal-04100534

https://inria.hal.science/hal-04100534

Submitted on 1 Jun 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Rethinking the Riemannian Logarithm on Flag Manifolds as an Orthogonal Alignment Problem

Tom Szwagier and Xavier Pennec

Université Côte d'Azur, and Inria, Epione Project Team, Sophia-Antipolis, France
{tom.szwagier, xavier.pennec}@inria.fr

**Abstract.** Flags are sequences of nested linear subspaces of increasing dimension. They belong to smooth manifolds generalizing Grassmannians and bring a richer multi-scale point of view to the traditional subspace methods in statistical analysis. Hence, there is an increasing interest in generalizing the formulae and statistical methods already developed for Grassmannians to flag manifolds. In particular, it is critical to compute accurately and efficiently the geodesic distance and the logarithm due to their fundamental importance in geometric statistics. However, there is no explicit expression known in the case of flags. In this work, we exploit the homogeneous quotient space structure of flag manifolds and rethink the geodesic endpoint problem as an alignment of orthogonal matrices on their equivalence classes. The relaxed problem with the Frobenius metric surprisingly enjoys an explicit solution. This is the key to modify a previously proposed algorithm. We show that our explicit alignment step brings drastic improvements in accuracy, speed and radius of convergence, in addition to overcoming the combinatorial issues raised by the non-connectedness of the equivalence classes.

**Keywords:** Flag manifolds · Riemannian logarithm · Orthogonal alignment · Procrustes analysis.

## 1 Introduction

Flags are sequences of nested linear subspaces of increasing dimension. They are important in statistical analysis [3, 9] due to the multi-scale information they provide, compared to traditional subspace methods involving Grassmann manifolds [1]. Flags of a given type form a Riemannian manifold that generalizes Grassmannians. Hence there is a natural interest in generalizing the formulae and statistical methods already developed on Grassmannians.

The geodesic distance and logarithm are central tools in statistics on Riemannian manifolds, as they allow notably to discriminate, interpolate, and optimize [10]. Their explicit formulae are known for Grassmannians, and are related to the problem of finding principal vectors and angles between linear subspaces, which can be solved using Singular Value Decomposition (SVD) [1]. However no explicit formula is known for flags. One of the main hurdles seems to be the relatively complex structure of the tangent space, that must carry the information
T. Szwagier and X. Pennec

of nestedness of several subspaces, compared to Grassmannians which account
for only two subspaces, and yield closed-form expressions for the geodesics in
terms of sines and cosines of principal angles, like in [1, Prop. 3.3].

The question of the distance on flag manifolds is first addressed in [12, Prop. 10], but the proposition is actually misleading. Indeed, the proof of this proposition is based on the implicit knowledge of the horizontal tangent vector allowing to shoot from one flag to the other with minimal distance, that is the Riemannian logarithm. However, if this vector is known in the geodesic shooting problem, it is actually unknown in the geodesic endpoint problem, otherwise the geodesic distance would also be known, as it is the norm of the logarithm. Without clearly stating this assumption, the proposition is false. For instance, two orthogonal matrices representing the same flag would have a positive distance. Subsequent works rather focus on algorithms to approximate the Riemannian logarithm and distance, either based on a quotient space point of view and using alternated projections on the horizontal and vertical tangent spaces [3, 4], or following an optimization approach [6, 7].

In this work, we exploit the homogeneous quotient space structure of flag
manifolds and rethink the geodesic endpoint problem (i.e., the search for a
geodesic of minimal length joining two flags) as an alignment problem on the
orthogonal group, that is the search for orthogonal matrices that are the clos-
est among their equivalence classes. As it does not have an explicit solution,
we relax it using the Frobenius metric. Our key result is that this constrained
orthogonal Procrustes problem actually enjoys an explicit solution. We show
that modifying a previously existing algorithm [4, Alg. 1] with this new result
drastically improves its accuracy, speed and radius of convergence, in addition
to overcoming the combinatorial issues raised by the non-connectedness of the
stabilizer subgroup.

## 2 Flag Manifolds

In this section, we briefly define flag manifolds and the important properties for
the next sections. A more complete introduction is given in [12].

**Definition 1 (Flag, Signature).** Let $n \ge 2$ and $d_1 < d_2 < \cdots < d_r = n$ be a sequence of strictly increasing natural numbers. A flag of signature $(d_1, \dots, d_r)$ is a sequence of properly nested linear subspaces of $\mathbb{R}^n$, $E_1 \subset \cdots \subset E_r = \mathbb{R}^n$ of respective dimension $d_1 < \cdots < d_r = n$. Flags with signatures of length $n$, i.e. $(1, 2, \dots, n-1, n)$ are called complete.

Flags can equivalently be defined as a sequence of *incremental orthogonal subspaces* $V_1 \perp \cdots \perp V_r$, by taking the orthogonal complement of one nested subspace into the next one. One then has $E_i = \bigoplus_{j=1}^i V_j$ ($i = 1 \dots r$). The associated sequence of *increments* $\mathcal{I} := (n_1, \dots, n_r) := (d_1, d_2 - d_1, \dots, d_r - d_{r-1})$ is called the *type* of the flag. We will use this definition of flags in the rest of the paper.
<figure><img src="image_3.png" /><figcaption>Fig. 1: Different representations of a flag of type (1, 1, 1).</figcaption></figure>

A flag can be represented as an orthogonal matrix whose columns form an orthonormal basis that is adapted to the sequence of incremental orthogonal subspaces. More specifically, for a given sequence of subspaces $V_1 \perp \cdots \perp V_r$ such that $\bigoplus_{i=1}^r V_i = \mathbb{R}^n$, one can find an orthonormal basis $Q_i := [q_i^1 | \cdots | q_i^{n_i}] \in \mathbb{R}^{n \times n_i}$ for each $V_i$, and the concatenation of those bases forms an orthogonal matrix $Q = [Q_1 | \cdots | Q_r] \in \mathcal{O}(n)$ that is a representative of the flag $V_1 \perp \cdots \perp V_r$. A flag of type (1, 1, 1) is represented in Figure 1, both in terms of nested subspaces and in the orthogonal representation.

**Theorem 1 (Flag Manifolds [5]).** The set of all flags of type $\mathcal{I}$ is a connected compact smooth manifold. It is noted Flag($n_1, \dots, n_r$), or Flag($\mathcal{I}$) for short.

There exist several orthonormal bases adapted to a flag, hence flags are actually equivalence classes of orthogonal matrices. More precisely, let $Q \in \mathcal{O}(n)$ be a representative of a given flag and $R = \text{diag}(R_1, \dots, R_r) \in \mathcal{O}(n)$, with $R_i \in \mathcal{O}(n_i)$ ($i = 1 \dots r$). Then $Q$ and $QR = [Q_1 R_1 | \dots | Q_r R_r]$ represent the same flag. Indeed, the right multiplication by the block diagonal orthogonal matrix $R$ on $Q$ only rotates and reflects the incremental orthonormal bases within their subspaces, but do not change their span. Therefore, flag manifolds are homogeneous quotient spaces of $\mathcal{O}(n)$ [12, Eq. (8)]

$$ \mathrm{Flag}(\mathcal{I}) \cong \mathcal{O}(n) / (\mathcal{O}(n_1) \times \cdots \times \mathcal{O}(n_r)). \qquad (1) $$

For the sake of readability, we will thereafter write $\mathcal{O}(\mathcal{I}) := \mathcal{O}(n_1) \times \cdots \times \mathcal{O}(n_r)$. Therefore one has $\mathrm{Flag}(\mathcal{I}) \cong \mathcal{O}(n) / \mathcal{O}(\mathcal{I})$ and $R \in \mathcal{O}(\mathcal{I})$. Hence, a flag is an equivalence class of orthogonal matrices

$$ [Q] := \{QR, \ R \in \mathcal{O}(\mathcal{I})\} := Q \cdot \mathcal{O}(\mathcal{I}) \qquad (2) $$

and one defines the canonical projection $\Pi_c: Q \in \mathcal{O}(n) \mapsto [Q] \in \mathcal{O}(n) / \mathcal{O}(\mathcal{I})$. One can also embed flags in a product of Grassmannians $\mathrm{Gr}(n_1, n) \times \cdots \times \mathrm{Gr}(n_r, n) := \mathrm{Gr}(\mathcal{I})$, representing them as a sequence of orthogonal projection matrices onto the sequence of incremental orthogonal subspaces of the flag. The embedding map $\Pi_{\mathrm{Gr}(\mathcal{I})}: [Q_1 | \cdots | Q_r] \in \mathcal{O}(n) \mapsto (Q_1 Q_1^\top, \dots, Q_r Q_r^\top) \in \mathrm{Gr}(\mathcal{I})$ then removes the necessity to work with equivalence classes.
T. Szwagier and X. Pennec

The theory of Riemannian submersions and quotient spaces [8] tells that the Riemannian manifold structure of flags can be deduced from the one of $\mathcal{O}(n)$ and $\mathcal{O}(\mathcal{I})$ with their canonical metric $g_Q$, given by a multiple of the Frobenius metric: $g_Q(A, B) = \frac{1}{2}\langle A, B\rangle_F := \frac{1}{2}\text{tr}(A^\top B)$ [2, 12]. Their respective tangent spaces at the identity are $\mathfrak{o}(n) := \text{Skew}_n$, the set of $n \times n$ skew-symmetric matrices, and $\mathfrak{o}(\mathcal{I}) := \text{Skew}_I := \text{diag}(\text{Skew}_{n_1}, \dots, \text{Skew}_{n_r})$. In the fiber bundle vocabulary, $\mathfrak{o}(\mathcal{I})$ is referred to as the *vertical space* (noted $\text{Ver}(\mathcal{I})$), and its orthogonal complement in $\text{Skew}_n$ as the *horizontal space*, containing skew-symmetric matrices with diagonal zero blocks

$$ \text{Hor}(\mathcal{I}) := \left\{ H := \begin{bmatrix} 0_{n_1} & H_{1,2} & \dots & H_{1,r} \\ -H_{1,2}^\top & 0_{n_2} & \dots & H_{2,r} \\ \vdots & \vdots & \ddots & \vdots \\ -H_{1,r}^\top & -H_{2,r}^\top & \dots & 0_{n_r} \end{bmatrix}, \quad H_{ij} \in \mathbb{R}^{n_i \times n_j} \right\}. \quad (3) $$

The tangent space of flag manifolds is then given by

$$ T_{[Q]}(\mathcal{O}(n)/\mathcal{O}(\mathcal{I})) = Q \text{Hor}(\mathcal{I}). \quad (4) $$

The geodesics in the *base space* $\mathcal{O}(n)/\mathcal{O}(\mathcal{I})$ with the canonical metric are inherited from the *horizontal* geodesics in the *top space* $\mathcal{O}(n)$ [12]

$$ \exp_{[Q]}(A) = [Q \exp((Q^\top A))] . $$

A common approach for computing the Riemannian logarithm and distance is through solving the *geodesic endpoint problem*

$$ \arg\min_{H \in \text{Hor}(\mathcal{I}), R \in \mathcal{O}(\mathcal{I})} \frac{1}{2} \|H\|_F^2 \quad \text{subject to} \quad P \exp(H) = QR. \quad (5) $$

However, it has a priori no solution for flag manifolds. In the literature, the geodesic endpoint problems are generally optimized using a gradient descent on the tangent space [6, 13]. In the following section, we propose a different approach based on the previously described quotient space structure, and reformulate the geodesic endpoint problem as an alignment on the equivalence classes.

## 3 Alignment on Flag Manifolds

The notion of *alignment* in Riemannian quotient spaces is mentioned in [2, Def. 5.1.6]. It refers to the problem of finding a pair of points which minimizes the top space distance within their respective equivalence classes.

**Definition 2 (Alignment on Flag Manifolds).** Let $P, Q \in \mathcal{O}(n)$ and $d_{\mathcal{O}(n)}(P, Q)^2 := \frac{1}{2} \|\log(P^\top Q)\|_F^2$, the geodesic distance on $\mathcal{O}(n)$. We define the alignment problem on flag manifolds as

$$ \arg\min_{R \in \mathcal{O}(\mathcal{I})} d_{\mathcal{O}(n)}(P, QR)^2. \quad (6) $$
Given two flags $[P], [Q] \in \mathcal{O}(n)/\mathcal{O}(\mathcal{I})$, finding a point $Q^* := QR^*$ which minimizes the $\mathcal{O}(n)$ geodesic distance to $P$ in the orbit $[Q]$ yields both the geodesic distance between the two flags $d([P], [Q]) = d_{\mathcal{O}(n)}(P, Q^*)$ and the logarithm $\log_{[P]}([Q]) = P \log(P^\top Q^*)$, according to [2, Prop. 5.1.3 & Def. 5.1.6]. Moreover, [12, Thm. 4] ensures that such an alignment always exists on flag manifolds. Hence we get an approach to the computation of the Riemannian logarithm that leverages more information than classical optimization algorithms solving the geodesic endpoint problem, because it takes into consideration the homogeneous quotient space structure of flag manifolds, and takes advantage of the results that already exist on the top space $\mathcal{O}(n)$. Notably, even if the proposed algorithm does not converge, one still has a way to interpolate between two flags using the logarithm in $\mathcal{O}(n)$. Just like the geodesic endpoint problem, the alignment problem (6) does not have either an analytic solution, to the best of our knowledge. However, the embedding of $\mathcal{O}(n)$ in $\mathbb{R}^{n \times n}$ raises the natural idea of relaxing the problem and working with the Frobenius metric.

## 3.1 Relaxing Orthogonal to Frobenius Distance

**Definition 3 (O(\mathcal{I}) Procrustes Problem on Flag Manifolds).** Let $P, Q \in \mathcal{O}(n)$. We define the $\mathcal{O}(\mathcal{I})$-constrained Procrustes problem on flag manifolds as

$$ \arg\min_{R \in \mathcal{O}(\mathcal{I})} \|P - QR\|_F^2. \qquad (7) $$

This name refers to the celebrated orthogonal Procrustes problem [11], which also involves the minimization of a Frobenius distance on an orthogonal group. Here, our optimization problem is constrained to the isotropy subgroup $\mathcal{O}(\mathcal{I})$ of flag manifolds in $\mathcal{O}(n)$. We now give the main result of the paper.

**Theorem 2 (O(\mathcal{I}) Procrustes Solution on Flag Manifolds).**

Let $P := [P_1|\dots|P_r], Q := [Q_1|\dots|Q_r] \in \mathcal{O}(n)$ and let us write the SVDs $P_i^\top Q_i := U_i \Sigma_i V_i^\top$ ($i = 1 \dots r$), with $U_i, V_i \in \mathcal{O}(n_i)$ and $\Sigma_i \in \text{diag}(\mathbb{R}_{\ge 0}^{n_i})$.

A solution $R^* = \text{diag}(R_1^*, \dots, R_r^*) \in \mathcal{O}(\mathcal{I})$ to the $\mathcal{O}(\mathcal{I})$-constrained Procrustes problem on flag manifolds (7) is given by

$$ R_i^* = U_i V_i^\top \quad (i = 1 \dots r). \qquad (8) $$

The uniqueness is conditioned on the uniqueness of the SVD.

*Proof.* We can show that this $\mathcal{O}(\mathcal{I})$ Procrustes problem is equivalent to the independent resolution of classical orthogonal Procrustes problem [11], i.e.

$$ \min_{R \in \mathcal{O}(\mathcal{I})} \|P - QR\|_F^2 = \sum_{i=1}^{r} \min_{R_i \in \mathcal{O}(n_i)} \|P_i - Q_i R_i\|_F^2. \quad \square $$
**Algorithm 1 Flag Alignment**
***
**Input:** $P, Q \in \mathcal{O}(n), \varepsilon > 0, t_{max} \in \mathbb{N}$
**Init:** $Q^1 \leftarrow \text{Procrustes}(P, [Q])$
**for** $t = 1..t_{max}$ **do**
    $X^t \leftarrow \log(P^\top Q^t)$
    $H^t \leftarrow \Pi_{\text{Hor}(I)}(X^t)$
    $M^t \leftarrow P \exp(H^t)$
    $\text{err} \leftarrow \|\Pi_{\text{Gr}(I)}(M^t) - \Pi_{\text{Gr}(I)}(Q)\|_F$
    **if** $\text{err} \le \varepsilon$ **then**
        **break**
    **end if**
    $Q^{t+1} \leftarrow \text{Procrustes}(M^t, [Q])$
**end for**
***

<figure><img src="image_4.png" /><figcaption>Fig. 2: The flag alignment Algorithm 1 and a conceptual visualization. The point $Q$ moves in its equivalence class $[Q]$ at each iteration, with the aim that the $\mathcal{O}(n)$ logarithm $PX^t$ becomes horizontal.</figcaption></figure>

## 3.2 Introducing $\mathcal{O}(I)$ Procrustes into an Existing Algorithm

An algorithm to compute the Riemannian logarithm and distance on flag manifolds is proposed in [4, Alg. 1]. This algorithm takes as inputs two special orthogonal matrices $P, Q \in \mathcal{SO}(n)$. It aims at finding a horizontal vector $H \in \text{Hor}(I)$ and a vertical vector $V \in \text{Ver}(I)$ such that one can write $Q = P \exp(H) \exp(V)$. It is based on iterated alternating projections on the horizontal and vertical spaces. One important drawback of this method is that it implicitly assumes that the endpoint $Q$ is in the same connected component in $\mathcal{O}(I)$ as the horizontally aligned point $Q_{aligned} = P \exp(H)$, which is generally not the case. The authors highlight this drawback and explain that the algorithm is actually working on *fully oriented flag manifolds* $\mathcal{SO}(n) / (\mathcal{SO}(n_1) \times \cdots \times \mathcal{SO}(n_r))$. To overcome this issue, they first create $2^{r-1}$ “equivalents” of the endpoint $Q$ in all the connected components, then run $2^{r-1}$ times their algorithm, and finally take the best outcome among the different runs.

In this work, we take advantage of our new result (Theorem 2), which gives a global minimum on the whole isotropy group $\mathcal{O}(I)$, to overcome this drawback. We reinterpret [4, Alg. 1] as an alignment problem on flag manifolds and introduce $\mathcal{O}(I)$ Procrustes alignment both in the initialization and as a substitute for the vertical projection step onto $\mathcal{o}(I)$. The algorithm and a conceptual visualization of it are given in Figure 2.

# 4 Numerical Experiments

We now evaluate and compare Algorithm 1 to the alternating projections algorithm proposed in [4], run on all the connected components of $\mathcal{O}(I)$. The general
<table><caption>Table 1: Evaluation of Algorithm 1 and [4] on Flag(1, 2, 2, 15, 80) averaged over 10 experiments, for different geodesic distances (from top to bottom: $\frac{\pi}{5}$, $\frac{\pi}{2}$, $\pi$).</caption><thead><tr><th>$\frac{\pi}{5}/\frac{\pi}{2}/\pi$</th><th>endpoint error</th><th>distance error</th><th>horizontal error</th><th># iter</th><th>time</th></tr></thead><tbody><tr><td>Alg. 1<br>[4]</td><td>(4.0±.55) × 10<sup>-7</sup><br>(2.2±2.2) × 10<sup>-6</sup></td><td>(6.7±1.6) × 10<sup>-14</sup><br>(7.8±14.) × 10<sup>-12</sup></td><td>(2.9±.40) × 10<sup>-7</sup><br>(2.6±2.2) × 10<sup>-6</sup></td><td>(1.0±0.0)<br>(6.1±1.4)</td><td>(5.4±.22) × 10<sup>-2</sup><br>(2.8±.14) × 10<sup>+1</sup></td></tr><tr><td>Alg. 1<br>[4]</td><td>(5.8±3.5) × 10<sup>-6</sup><br>(9.0±12.) × 10<sup>-1</sup></td><td>(7.8±6.2) × 10<sup>-12</sup><br>(1.9±2.4) × 10<sup>-01</sup></td><td>(4.5±2.7) × 10<sup>-6</sup><br>(1.0±1.4) × 10<sup>+0</sup></td><td>(2.4±.49)<br>(10.±0.0)</td><td>(1.0±.17) × 10<sup>-1</sup><br>(3.1±.12) × 10<sup>+1</sup></td></tr><tr><td>Alg. 1<br>[4]</td><td>(9.8±2.9) × 10<sup>-6</sup><br>(7.6±3.2) × 10<sup>+0</sup></td><td>(1.5±.90) × 10<sup>-11</sup><br>(1.3±.56) × 10<sup>+00</sup></td><td>(1.3±.41) × 10<sup>-5</sup><br>(7.1±2.2) × 10<sup>+0</sup></td><td>(9.9±.30)<br>(10.±0.0)</td><td>(3.4±.22) × 10<sup>-1</sup><br>(3.0±.04) × 10<sup>+1</sup></td></tr></tbody></table>

evaluation process is as follows. First we generate an orthogonal matrix $P$ drawn from a uniform distribution on $O(n)$. Second we generate $H \in \operatorname{Hor}(\mathcal{I})$ drawn from a uniform distribution (with a specified norm $\frac{1}{2}\|H\|_F \in \{\frac{\pi}{5}, \frac{\pi}{2}, \pi\}$) and get the aligned endpoint $Q_{aligned} = P \exp(H)$. Third we generate $R \in O(\mathcal{I})$ drawn from a uniform distribution and get the endpoint $Q = P \exp(H)R$. We run both algorithms with a maximal number of iterations of 10, and repeat the experiment 10 times independently, each time outputting an optimal horizontal vector $H^*$. The evaluation metrics are: endpoint error ($\|\Pi_{\operatorname{Gr}(\mathcal{I})}(P \exp(H^*)) - \Pi_{\operatorname{Gr}(\mathcal{I})}(Q)\|_F$), distance error ($\frac{1}{2}\|H^*\|_F - \|H\|_F$), horizontal error ($\frac{1}{2}\|H^* - H\|_F$), number of iterations and computing time. The results are reported in Table 1 and the associated learning curves are illustrated in Figure 3.

It is clear that the introduction of $O(\mathcal{I})$ Procrustes alignment as an initialization and a substitute for the vertical projection drastically improves [4, Alg. 1], in terms of accuracy, speed and radius of convergence, on all the evaluation metrics, as well as overcomes the difficulty of non-connectedness of the orbits. The difference of computing time is particularly important, because Algorithm 1 does not require to try all the connected components of $O(\mathcal{I})$ and converges faster.

<figure><img src="image_5.png" /><figcaption>Fig. 3: Evolution of the endpoint errors along the iterations for different shooting vector lengths $\frac{1}{2}\|H\|_F \in \{\frac{\pi}{5}, \frac{\pi}{2}, \pi\}$. Solid: Algorithm 1, Dashed: [4].</figcaption></figure>
# 5 Conclusion and Perspectives

In this work, we first gave a quick overview on the state of research in flag manifolds logarithm and distance. Then, rethinking the geodesic endpoint problem as an alignment problem, we proposed a relaxed solution involving orthogonal Procrustes analysis. Finally, we showed how introducing it into [4, Alg. 1] drastically improves its accuracy, speed and radius of convergence, as well as overcomes the combinatorial drawback of working on fully oriented flag manifolds. The code is available on GitHub<fnref n="1" />.

In future work, we could first improve the computational efficiency of the algorithm, by using linear algebra tricks like the 2k Embedding of [3, Thm. 1]. Second we could investigate the convergence properties of our algorithm, by understanding the link between the alignment of the target point on the target orbit and the gradient of the geodesic endpoint problem.

*Acknowledgements:* This work was supported by the ERC grant #786854 G-Statistics from the European Research Council under the European Union's Horizon 2020 research and innovation program and by the French government through the 3IA Côte d'Azur Investments ANR-19-P3IA-0002 managed by the National Research Agency.

# References

1. Bendokat, T., Zimmermann, R., Absil, P.A.: A Grassmann Manifold Handbook: Basic Geometry and Computational Aspects (Dec 2020). https://doi.org/10.48550/arXiv.2011.13699

2. Guigui, N., Miolane, N., Pennec, X.: Introduction to Riemannian Geometry and Geometric Statistics: From Basic Theory to Implementation with Geomstats. Foundations and Trends® in Machine Learning 16(3), 329–493 (Feb 2023). https://doi.org/10.1561/2200000098

3. Ma, X., Kirby, M., Peterson, C.: The Flag Manifold as a Tool for Analyzing and Comparing Sets of Data Sets. In: Proceedings of the IEEE/CVF International Conference on Computer Vision. pp. 4185–4194 (2021)

4. Ma, X., Kirby, M., Peterson, C.: Self-organizing mappings on the flag manifold with applications to hyper-spectral image data analysis. Neural Computing and Applications 34(1), 39–49 (Jan 2022). https://doi.org/10.1007/s00521-020-05579-y

5. Monk, D.: The Geometry of Flag Manifolds. Proceedings of the London Mathematical Society s3-9(2), 253–286 (1959). https://doi.org/10.1112/plms/s3-9.2.253

6. Nguyen, D.: Closed-form Geodesics and Optimization for Riemannian Logarithms of Stiefel and Flag Manifolds. Journal of Optimization Theory and Applications 194(1), 142–166 (Jul 2022). https://doi.org/10.1007/s10957-022-02012-3

7. Nijhawan, S., Gupta, A., Appaiah, K., Vaze, R., Karamchandani, N.: Flag Manifold-Based Precoder Interpolation Techniques for MIMO-OFDM Systems. IEEE Transactions on Communications 69(7), 4347–4359 (Jul 2021). https://doi.org/10.1109/TCOMM.2021.3069015

<footnote n="1">¹ Link for the code: https://github.com/tomszwagier/flag-manifold-distance.</footnote>
8. O'Neill, B.: The fundamental equations of a submersion. Michigan Mathematical Journal 13(4), 459-469 (Dec 1966). https://doi.org/10.1307/mmj/1028999604

9. Pennec, X.: Barycentric Subspace Analysis on Manifolds. Annals of Statistics 46(6A), 2711-2746 (Jul 2018). https://doi.org/10.1214/17-AOS1636, publisher: Institute of Mathematical Statistics

10. Pennec, X., Sommer, S., Fletcher, T.: Riemannian Geometric Statistics in Medical Image Analysis. Academic Press (Sep 2019)

11. Schönemann, P.H.: A generalized solution of the orthogonal procrustes problem. Psychometrika 31(1), 1-10 (Mar 1966). https://doi.org/10.1007/BF02289451

12. Ye, K., Wong, K.S.W., Lim, L.H.: Optimization on flag manifolds. Mathematical Programming (Jun 2021). https://doi.org/10.1007/s10107-021-01640-3

13. Zimmermann, R., Hüper, K.: Computing the Riemannian Logarithm on the Stiefel Manifold: Metrics, Methods, and Performance. SIAM Journal on Matrix Analysis and Applications 43(2), 953-980 (Jun 2022). https://doi.org/10.1137/21M1425426