This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Expected Distances on Manifolds of Partially Oriented Flags

Brenden Balch Department of Mathematics, Colorado State University, Fort Collins, CO Chris Peterson Department of Mathematics, Colorado State University, Fort Collins, CO Clayton Shonkwiler Department of Mathematics, Colorado State University, Fort Collins, CO
Abstract

Flag manifolds are generalizations of projective spaces and other Grassmannians: they parametrize flags, which are nested sequences of subspaces in a given vector space. These are important objects in algebraic and differential geometry, but are also increasingly being used in data science, where many types of data are properly understood as subspaces rather than vectors. In this paper we discuss partially oriented flag manifolds, which parametrize flags in which some of the subspaces may be endowed with an orientation. We compute the expected distance between random points on some low-dimensional examples, which we view as a statistical baseline against which to compare the distances between particular partially oriented flags coming from geometry or data.

1 Introduction

Let VV be an nn-dimensional vector space. A flag in VV is a nested sequence of subspaces V1V2Vk=V{V_{1}\subset V_{2}\subset\dots\subset V_{k}=V}. If did_{i} is the dimension of ViV_{i}, then associated to the flag is an increasing sequence d1<d2<<dk=n{d_{1}<d_{2}<\dots<d_{k}=n}. We call the sequence (d1,d2,,dk)(d_{1},d_{2},\dots,d_{k}) the signature of the flag. For this paper, we will make the assumption that VV is a real vector space and the flag manifold F(d1,d2,,dk)F\ell(d_{1},d_{2},\dots,d_{k}) will be the real manifold whose points parametrize all flags of signature (d1,d2,,dk)(d_{1},d_{2},\dots,d_{k}). Flag manifolds are natural generalizations of Grassmann manifolds and have found applications in image analysis [9] and face, pose, and action recognition [3, 8]; as Ye, Wong, and Lim point out [13], they are also implicit in many tasks in numerical and statistical analysis, ranging from mesh refinement to multiresolution analysis to canonical correlation analysis. The key feature of flag manifolds is they locally look the same at each point, i.e. flag manifolds are homogeneous spaces. Homogeneous spaces naturally admit nice coordinates which allow for tangible calculations.

In this paper we generalize the notion of flag manifold, defining partially oriented flag manifolds. These manifolds are slight generalizations of the partially oriented flag manifolds introduced by Lam [7] and studied by Sankaran and Zvengrowski [11, 12], among others. Flag manifolds are natural models for data which is properly represented as (nested) subspaces, rather than as individual vectors, and partially oriented flag manifolds should prove useful as models for subspace data when some or all of the nested subspaces are equipped with an orientation. These spaces are rather simple to define as homogeneous spaces, but do not seem to have appeared previously in the data science literature.

Given two data, represented as points in some Riemannian manifold or more general metric space, it is natural to use the distance between the points as a measure of similarity. However, the raw distance is meaningless without further context to know whether the distance is, say, much smaller than expected. A reasonable statistical baseline for such a comparison is the expected distance between two random points in the space. With an eye towards applications of partially oriented flag manifolds to data problems, we determine the expected geodesic distance between random points in all manifolds of partially oriented flags in 3\mathbb{R}^{3}; compare to Absil, Edelman, and Koev’s work using a slightly different notion of distance in Grassmannians [1].

More precisely, recall that F(1,2,3)F\ell(1,2,3) is the manifold of all (1,2,3)(1,2,3)-flags in 3\mathbb{R}^{3}; that is, each point represents a line inside a plane inside 3\mathbb{R}^{3}. We will shortly introduce some more involved notation for this space, but for the moment let MM be the manifold of such flags in which the line has a preferred orientation, but the plane and 3\mathbb{R}^{3} do not. Then the most interesting expectations we compute are:

Theorem 1.

The expected distance between two random points in MM is

𝔼[d;M]=1+π4.\mathbb{E}[d;M]=1+\frac{\pi}{4}.

The expected distance between random (1,2,3)(1,2,3)-flags is

𝔼[d;F(1,2,3)]=3π2+96π2\bigintsss0π/4[arctan(tan2(arctan(secφ3)2))arctan2(1+sec2φ3)1+sec2φ3]dφ31.31172503.\mathbb{E}[d;F\ell(1,2,3)]=\frac{3\pi}{2}+\frac{96}{\pi^{2}}\bigintsss_{0}^{\pi/4}\!\left[\vphantom{\frac{\arctan^{2}\left(\sqrt{1+\sec^{2}\varphi_{3}}\right)}{\sqrt{1+\sec^{2}\varphi_{3}}}}\arctan\left(\tan^{2}\left(\frac{\arctan(\sec\varphi_{3})}{2}\right)\right)\right.\\ \left.-\frac{\arctan^{2}\left(\sqrt{1+\sec^{2}\varphi_{3}}\right)}{\sqrt{1+\sec^{2}\varphi_{3}}}\right]\!d\varphi_{3}\approx 1.31172503.

We define the partially oriented flag manifolds in Section 2 and discuss a number of examples and relationships to more familiar manifolds, including Grassmannians, Stiefel manifolds, and classical flag manifolds. In Section 3 we compute the expected distance between two random points in SO(3)SO(3) both analytically and numerically using Monte Carlo integration. While this computation is not new, it serves as a starting point and template for determining the expected distances between random points in all the manifolds of (partially oriented) flags on 3\mathbb{R}^{3}, which is the focus of Section 4.

2 Flags and Partially Oriented Flags

Let \mathbb{N} denote the set of all positive integers and let nn\in\mathbb{N}. An ordered partition of the integer nn is the tuple λ=(λ1,,λk)\lambda=(\lambda_{1},\dots,\lambda_{k}) with λj\lambda_{j}\in\mathbb{N} such that j=1kλj=n\sum_{j=1}^{k}\lambda_{j}=n.111Contrast this with the usual definition of a partition, in which the order does not matter, and hence one can assume λ1λ2,,λk\lambda_{1}\geq\lambda_{2},\dots,\geq\lambda_{k}. In this case, we say the size of λ\lambda is kk. Notice that for an ordered partition of size kk, the symmetric group SkS_{k} acts by permuting elements; i.e. if σSk\sigma\in S_{k} we define σλ=(λσ(1),,λσ(k))\sigma\cdot\lambda=(\lambda_{\sigma(1)},\dots,\lambda_{\sigma(k)}). Now suppose that Iλ={1,,k}I_{\lambda}=\{1,\dots,k\} is the collection of indices of the partition λ\lambda. Then a partition of the set IλI_{\lambda} is a collection of disjoint nonempty subsets of IλI_{\lambda} whose union is all of IλI_{\lambda}. We call the partition {Iλ}\{I_{\lambda}\} the trivial partition, and the partition {{1},{2},,{k}}\{\{1\},\{2\},\dots,\{k\}\} the complete partition. All other partitions of IλI_{\lambda} will be called proper partitions.

Let O(r)O(r) denote the group of real r×rr\times r orthogonal matrices. For any fixed ordered partition λ\lambda of nn, define the group Gλ=jIλO(λj)G_{\lambda}=\prod_{j\in I_{\lambda}}O(\lambda_{j}). An easy exercise in group theory shows that if σSk\sigma\in S_{k}, then GλGσλG_{\lambda}\cong G_{\sigma\cdot\lambda}. Since elements of GλG_{\lambda} are of the form jIλAj\bigoplus_{j\in I_{\lambda}}A_{j} where AjO(λj)A_{j}\in O(\lambda_{j}), we can interpret GλG_{\lambda} as a block-diagonal subgroup of O(n)O(n).

Now suppose that Iα={i1,,im}I_{\alpha}=\{{i_{1}},\dots,{i_{m}}\} is a subset of IλI_{\lambda}. We define a special orthogonal block of GαG_{\alpha} to be the set

S(O(λi1)××O(λim))={AGα|det(A)=1}.S(O(\lambda_{i_{1}})\times\cdots\times O(\lambda_{i_{m}}))=\{A\in G_{\alpha}|\det(A)=1\}.

For brevity of notation, we will denote this set as SGαSG_{\alpha}. If PP is a partition of IλI_{\lambda}, define a special orthogonal partition of GλG_{\lambda} to be the group SGλP=IαPSGαSG_{\lambda}^{P}=\prod_{I_{\alpha}\in P}SG_{\alpha}. If the partition of IλI_{\lambda} is trivial, complete, or proper, we call the corresponding special orthogonal partition the same. SGλPSG_{\lambda}^{P} is a block-diagonal subgroup of SO(n)SO(n) which is finite if and only if λ=(1,1,1)\lambda=(1,1,\dots 1). Since the SGλPSG_{\lambda}^{P} are subgroups of SO(n)SO(n), the quotients will be homogeneous spaces which are the central object of this paper.

Definition 1.

Suppose that λ\lambda is any ordered partition of the integer nn. Then if PP is a partition of IλI_{\lambda}, we may define the orbit space F(λ;P)=SO(n)/SGλPF\ell(\lambda;P)=SO(n)/SG_{\lambda}^{P}. If the partition PP is trivial, then F(λ;P)F\ell(\lambda;P) is called a flag manifold. If PP is a complete partition, we say that F(λ;P)F\ell(\lambda;P) is an oriented flag manifold. Finally, if the partition PP is proper, then F(λ;P)F\ell(\lambda;P) is called a partially oriented flag manifold.

Example 2.1.

If λ=(k,nk)\lambda=(k,n-k) and PT={{1,2}}P_{T}=\{\{1,2\}\} is the trivial partition, then

F(λ;PT)=SO(n)/S(O(k)×O(nk))Gr(k,n),F\ell(\lambda;P_{T})=SO(n)/S(O(k)\times O(n-k))\cong\operatorname{Gr}(k,n),

the Grassmannian of kk-dimensional linear subspaces of n\mathbb{R}^{n}. If instead we take the complete partition PC={{1},{2}}P_{C}=\{\{1\},\{2\}\}, then

F(λ;PC)=SO(n)/(SO(k)×SO(nk))Gr~(k,n),F\ell(\lambda;P_{C})=SO(n)/(SO(k)\times SO(n-k))\cong\widetilde{\operatorname{Gr}}(k,n),

the oriented Grassmannian of oriented kk-dimensional subspaces of n\mathbb{R}^{n}, which double covers Gr(k,n)\operatorname{Gr}(k,n).

Example 2.2.

If 1d1<d2<<dk=n1\leq d_{1}<d_{2}<\dots<d_{k}=n, recall that the flag manifold F(d1,dk)F\ell(d_{1},\dots d_{k}) consists of nested subspaces

V1V2Vk=nV_{1}\subset V_{2}\subset\cdots\subset V_{k}=\mathbb{R}^{n}

where dim(Vm)=dm\dim(V_{m})=d_{m}.

If λ=(λ1,λk)\lambda=(\lambda_{1},\dots\lambda_{k}) is an ordered partition of the integer nn, define dm=j=1mλjd_{m}=\sum_{j=1}^{m}\lambda_{j} for each 1mk1\leq m\leq k. If PTP_{T} is the trivial partition of IλI_{\lambda}, then

F(λ;PT)=SO(n)/S(O(λ1)××O(λk))F(d1,dk)F\ell(\lambda;P_{T})=SO(n)/S(O(\lambda_{1})\times\cdots\times O(\lambda_{k}))\cong F\ell(d_{1},\dots d_{k})

really is a flag manifold. Notice that if σSk\sigma\in S_{k}, then F(σλ;PT)F\ell(\sigma\cdot\lambda;P_{T}) yields a different space parametrizing entirely different geometric objects which is nonetheless diffeomorphic to F(λ;PT)F\ell(\lambda;P_{T}). This helps explain our use of ordered partitions of nn rather than just partitions: we are thinking of the F(λ;P)F\ell(\lambda;P) spaces as data models, with points corresponding to actual data, so we want to avoid the complication of applying a diffeomorphism before we can think of our data as points in a (partially oriented) flag manifold.

Example 2.3.

Take λ=(nk,1,1,,1)\lambda=(n-k,1,1,\dots,1) and suppose that PCP_{C} is the complete partition of IλI_{\lambda}. Then

F(λ;PC)=SO(n)/(SO(nk)×SO(1)××SO(1))SO(n)/SO(nk)St(k,n),F\ell(\lambda;P_{C})=SO(n)/(SO(n-k)\times SO(1)\times\cdots\times SO(1))\cong SO(n)/SO(n-k)\cong\operatorname{St}(k,n),

the Stiefel manifold of orthonormal kk-frames in n\mathbb{R}^{n}.

Example 2.4.

In this example, we’ll consider all special orthogonal partitions when n=3n=3 and λ=(1,1,1)\lambda=(1,1,1). If PC={{1},{2},{3}}P_{C}=\{\{1\},\{2\},\{3\}\} is the complete partition of IλI_{\lambda}, then SGλPC=SO(1)×SO(1)×SO(1)SG_{\lambda}^{P_{C}}=SO(1)\times SO(1)\times SO(1) is the trivial group, so F(λ;PC)SO(3)F\ell(\lambda;P_{C})\cong SO(3). At the other extreme, if PT={{1,2,3}}P_{T}=\{\{1,2,3\}\} is the trivial partition, then F(λ;PT)Fl(1,2,3))F\ell(\lambda;P_{T})\cong Fl(1,2,3)) and SGλPT=S(O(1)×O(1)×O(1))SG_{\lambda}^{P_{T}}=S(O(1)\times O(1)\times O(1)) is the copy of the Klein 4-group

SGλPT={(100010001),(100010001),(100010001),(100010001)}.SG_{\lambda}^{P_{T}}=\left\{\begin{pmatrix}1&0&0\\ 0&1&0\\ 0&0&1\\ \end{pmatrix},\begin{pmatrix}-1&0&0\\ 0&-1&0\\ 0&0&1\\ \end{pmatrix},\begin{pmatrix}1&0&0\\ 0&-1&0\\ 0&0&-1\\ \end{pmatrix},\begin{pmatrix}-1&0&0\\ 0&1&0\\ 0&0&-1\\ \end{pmatrix}\right\}.

If P1={{1},{2,3}}P_{1}=\{\{1\},\{2,3\}\}, P2={{2},{1,3}}P_{2}=\{\{2\},\{1,3\}\}, and P3={{3},{1,2}}P_{3}=\{\{3\},\{1,2\}\} are proper partitions, then the corresponding groups are

SGλP1={(100010001),(100010001)}SG_{\lambda}^{P_{1}}=\left\{\begin{pmatrix}1&0&0\\ 0&1&0\\ 0&0&1\\ \end{pmatrix},\begin{pmatrix}1&0&0\\ 0&-1&0\\ 0&0&-1\\ \end{pmatrix}\right\}
SGλP2={(100010001),(100010001)}SG_{\lambda}^{P_{2}}=\left\{\begin{pmatrix}1&0&0\\ 0&1&0\\ 0&0&1\\ \end{pmatrix},\begin{pmatrix}-1&0&0\\ 0&1&0\\ 0&0&-1\\ \end{pmatrix}\right\}
SGλP3={(100010001),(100010001)}.SG_{\lambda}^{P_{3}}=\left\{\begin{pmatrix}1&0&0\\ 0&1&0\\ 0&0&1\\ \end{pmatrix},\begin{pmatrix}-1&0&0\\ 0&-1&0\\ 0&0&1\\ \end{pmatrix}\right\}.

Clearly each SGλPiSG_{\lambda}^{P_{i}} is a subgroup of SGλPTSG_{\lambda}^{P_{T}} of index 2, so in the quotients we have natural double covers captured by the tower in Figure 1.

F(λ;PC)SO(3){F\ell(\lambda;P_{C})\simeq SO(3)}F(λ;P1){F\ell(\lambda;P_{1})}F(λ;P2){F\ell(\lambda;P_{2})}F(λ;P3){F\ell(\lambda;P_{3})}F(λ;PT)F(1,2,3){F\ell(\lambda;P_{T})\simeq F\ell(1,2,3)}
Figure 1: Tower of flags for λ=(1,1,1)\lambda=(1,1,1).

The double coverings in the previous example are special cases of a more general phenomenon. Given an ordered partition λ\lambda of nn and any partition PP of IλI_{\lambda}, suppose that PP^{\prime} is a refinement of PP. Then the number of sets contained in PP^{\prime} and PP differ by an integer mm. It follows that |SGλP:SGλP|=2m|SG_{\lambda}^{P}:SG_{\lambda}^{P^{\prime}}|=2^{m}, and hence we have the proposition:

Proposition 2.

Suppose that λ\lambda is an ordered partition of nn and PP is a set partition of IλI_{\lambda}. Given any refinement PP^{\prime} of PP with m=|P||P|m=|P^{\prime}|-|P|, F(λ;P)F\ell(\lambda;P^{\prime}) is a 2m2^{m}-cover of F(λ;P)F\ell(\lambda;P).

Example 2.5.

In light of the proposition and Example 2.1, we re-verify that Gr~(k,n)\widetilde{\operatorname{Gr}}(k,n) is a double cover of Gr(k,n)\operatorname{Gr}(k,n).

Since F(λ;P)F\ell(\lambda;P) is defined by quotients of orthogonal groups, we can find the total volume of F(λ;P)F\ell(\lambda;P). If λ\lambda is of length kk and σSk\sigma\in S_{k}, we have Vol(F(λ;P))=Vol(F(σλ;σP)){\operatorname{Vol}(F\ell(\lambda;P))=\operatorname{Vol}(F\ell(\sigma\cdot\lambda;\sigma\cdot P))}, so, for the purposes of computing volume, we may assume that λ\lambda is in decreasing order. To simplify notation, let 𝕊r\mathbb{S}^{r} denote the unit rr-sphere and set Vi=Vol(𝕊i1)V_{i}=\operatorname{Vol}(\mathbb{S}^{i-1}) for i{1,2,n}{i\in\{1,2,\dots n\}}; then

Vol(O(m))=i=1mVi,\operatorname{Vol}(O(m))=\prod_{i=1}^{m}V_{i},

so we see:

Proposition 3.

With notation as above,

Vol(F(λ;P))=2|P|1V1V2Vni=1λ1Vii=1λkVi=2|P|1V𝟙Vλ¯=2|P|1V𝟙λ¯.\operatorname{Vol}(F\ell(\lambda;P))=2^{|P|-1}\frac{V_{1}V_{2}\cdots V_{n}}{\prod_{i=1}^{\lambda_{1}}V_{i}\cdots\prod_{i=1}^{\lambda_{k}}V_{i}}=2^{|P|-1}\frac{V^{\mathbbm{1}}}{V^{\bar{\lambda}}}=2^{|P|-1}V^{\mathbbm{1}-\bar{\lambda}}.

In this expression, λ¯\bar{\lambda} denotes the conjugate of the partition λ\lambda given by taking the Young diagram corresponding to λ\lambda, reflecting across the main diagonal, and then taking the partition corresponding to this new diagram; see Figure 2 for an example.222It is in converting the partition λ\lambda into a Young diagram that it is important we assume λ\lambda is in decreasing order. Also, we use the notation 𝟙:=(1,,1)\mathbbm{1}:=(1,\dots,1) and xμ:=x1μ1x2μ2xnμnx^{\mu}:=x_{1}^{\mu_{1}}x_{2}^{\mu_{2}}\cdots x_{n}^{\mu_{n}}.

\ydiagram

4,3,2,2,1         \ydiagram5,4,2,1

Figure 2: On the left is the Young diagram corresponding to the partition λ=(4,3,2,2,1)\lambda=(4,3,2,2,1). The conjugate Young diagram is on the right, with corresponding partition λ¯=(5,4,2,1)\bar{\lambda}=(5,4,2,1).

3 𝑺𝑶(𝟑)\boldsymbol{SO(3)} and Lifts to the 3-Sphere

In this section and the next, we generalize [10] and compute the expected (Riemannian) distance between two random points in a partially oriented flag manifold. We will discuss this computation for all flags for the case n=3n=3. The strategy for each of these computations is similar. The idea is to lift SO(3)SO(3) to the unit 3-sphere and carry out computations upstairs. Lifting to 𝕊3\mathbb{S}^{3} gives us a natural coordinate system for SO(3)SO(3) which is then used to describe the Haar measure on SO(3)SO(3). The push-forward measure is then used to find an invariant measure on each of the flags, and amounts to only changing the region of integration in each case. Additionally, we’ll discuss how we can do these calculations via Monte Carlo integration.

3.1 Lifting for Analytic Computation

We begin with a known calculation [10] of the expected distance between random points in SO(3)SO(3). The calculations for partial flags will follow from a refinement of this approach. First we’ll briefly describe the Haar measure on SO(3)SO(3) as parametrized by 𝕊3\mathbb{S}^{3}. It is not hard to see that SO(3)SO(3) is double covered by the unit 3-sphere. Indeed, 𝕊3\mathbb{S}^{3} has a natural group structure as the unit quaternions, which act on the quaternions by conjugation. This action clearly fixes the real line since the reals commute with quaternions under multiplication. Hence the purely imaginary quaternions are also invariant under the action of unit quaternions. The restriction of the action to the purely imaginary quaternions is an isometry. To see this, suppose that qq is a unit quaternion and that xx and yy are both purely imaginary quaternions. Then

|qxq1qyq1|=|q||xy||q1|=|xy|.|qxq^{-1}-qyq^{-1}|=|q||x-y||q^{-1}|=|x-y|.

By identifying the purely imaginary quaternions with 3\mathbb{R}^{3}, this calculation shows that 𝕊3\mathbb{S}^{3} acts by isometries on 3\mathbb{R}^{3}. In fact, this action is by rotations: if u,n3u,n\in\mathbb{R}^{3} are unit vectors, which we interpret as purely imaginary quaternions, and we define q=cosθ+sinθn𝕊3q=\cos\theta+\sin\theta n\in\mathbb{S}^{3}, then a straightforward calculation shows that

quq1=(cosθ+sinθn)u(cosθsinθn)=cos2θu+sin2θ(n×u)+(1cos2θ)(un)n,quq^{-1}=(\cos\theta+\sin\theta n)u(\cos\theta-\sin\theta n)=\cos 2\theta\,u+\sin 2\theta(n\times u)+(1-\cos 2\theta)(u\cdot n)n, (1)

which is the Rodrigues formula for rotation of uu around the axis nn by an angle 2θ2\theta. Therefore, 𝕊3\mathbb{S}^{3} acts on 3\mathbb{R}^{3} by rotation; moreover, since qq and q-q both induce the same rotations, it readily follows that SO(3)SO(3) is double covered by 𝕊3\mathbb{S}^{3}.

The double covering of SO(3)SO(3) provides us a natural way to parametrize SO(3)SO(3): each element of SO(3)SO(3) corresponds to an antipodal pair of points in 𝕊3\mathbb{S}^{3}, so each rotation corresponds to a (almost always unique) point in the hemisphere of 𝕊3\mathbb{S}^{3} where the first coordinate is positive. We can use hyperspherical coordinates on 𝕊3\mathbb{S}^{3} to parametrize SO(3)SO(3):

x\displaystyle x =cosφ1\displaystyle=\cos\varphi_{1}
y\displaystyle y =sinφ1cosφ2\displaystyle=\sin\varphi_{1}\cos\varphi_{2}
z\displaystyle z =sinφ1sinφ2cosφ3\displaystyle=\sin\varphi_{1}\sin\varphi_{2}\cos\varphi_{3}
w\displaystyle w =sinφ1sinφ2sinφ3,\displaystyle=\sin\varphi_{1}\sin\varphi_{2}\sin\varphi_{3},

where φ1[0,π/2],φ2[0,π]\varphi_{1}\in[0,\pi/2],~{}\varphi_{2}\in[0,\pi] and φ3[0,2π)\varphi_{3}\in[0,2\pi). The volume form on 𝕊3\mathbb{S}^{3} is

sin2φ1sinφ2dφ1dφ2dφ3,\sin^{2}\varphi_{1}\sin\varphi_{2}~{}d\varphi_{1}\wedge d\varphi_{2}\wedge d\varphi_{3},

but we need to make a slight adjustment to write down the volume form on SO(3)SO(3). If 0θπ/20\leq\theta\leq\pi/2 and nn is a purely imaginary unit quaternion, then the point q=cosθ+sinθnq=\cos\theta+\sin\theta n has positive first coordinate and lies at a distance θ\theta from 11 in 𝕊3\mathbb{S}^{3}. However, looking at (1), the corresponding element of SO(3)SO(3) is at Frobenius distance 2θ2\theta from the identity. Therefore, the map 𝕊3SO(3)\mathbb{S}^{3}\to SO(3) scales distances by 2 and hence 3-dimensional volumes by 23=82^{3}=8, so we conclude that, with respect to hyperspherical coordinates,

dVolSO(3)=8sin2φ1sinφ2dφ1dφ2dφ3.\operatorname{dVol}_{SO(3)}=8\sin^{2}\varphi_{1}\sin\varphi_{2}~{}d\varphi_{1}\wedge d\varphi_{2}\wedge d\varphi_{3}.

With this in mind, an easy calculation shows that

Vol(SO(3))=02π0π0π/28sin2φ1sinφ2dφ1dφ2dφ3=8π2,\operatorname{Vol}(SO(3))=\int_{0}^{2\pi}\!\!\!\int_{0}^{\pi}\!\!\int_{0}^{\pi/2}\!\!8\sin^{2}\varphi_{1}\sin\varphi_{2}d\varphi_{1}d\varphi_{2}d\varphi_{3}=8\pi^{2},

as expected since the first column lies on the unit 2-sphere, with an area of 4π4\pi, the second column lies on a perpendicular unit circle of circumference 2π2\pi, and the third column is determined by the first two.

Now, we can compute the expected distance between two random points in SO(3)SO(3). Since the Frobenius distance is equivariant with respect to the left action of SO(3)SO(3) on itself, we can rotate one of the two points to the identity and, equivalently, compute the expected distance from a random point in SO(3)SO(3) to the identity. Equivalently, since an element of SO(3)SO(3) is a rotation by an angle θ\theta around an axis nn, and θ\theta is exactly the Frobenius distance to the identity, we are computing the expected rotation angle of a random element of SO(3)SO(3).333This can also be computed by integrating the rotation angle against the known density of the circular real ensemble [6].

In order to compute the expected rotation, we note that if q=cosφ1+nsinφ1q=\cos\varphi_{1}+n\sin\varphi_{1}, the angle of rotation is 2φ12\varphi_{1}. In other words, up in 𝕊3\mathbb{S}^{3} we are computing the expectation of twice the distance φ1\varphi_{1} from a random point in the hemisphere of points with positive real part to the identity element 11:

𝔼[d;SO(3)]\displaystyle\mathbb{E}[d;SO(3)] =1Vol(SO(3))SO(3)2φ1dVolSO(3)\displaystyle=\frac{1}{\operatorname{Vol}(SO(3))}\!\!\int\limits_{SO(3)}\!\!\!2\varphi_{1}\operatorname{dVol}_{SO(3)}
=2π202π0π0π/2φ1sin2φ1sinφ2dφ1dφ2dφ3=2π+π2.\displaystyle=\frac{2}{\pi^{2}}\int_{0}^{2\pi}\!\!\!\int_{0}^{\pi}\!\!\int_{0}^{\pi/2}\!\!\!\varphi_{1}\sin^{2}\varphi_{1}\sin\varphi_{2}\,d\varphi_{1}d\varphi_{2}d\varphi_{3}=\frac{2}{\pi}+\frac{\pi}{2}.

This calculation agrees with that found in [10].

3.2 Monte Carlo Methods

This computation can also be done numerically using Monte Carlo integration. First, we will describe how to randomly generate matrices in SO(n)SO(n). With this, we will be able to easily compute expected distances on SO(3)SO(3). From here, we will be able to use the same algorithms with slight modifications for similar computations on flag and partially oriented flag manifolds.

Following Chikuse [2], we can generate random orthogonal matrices in Algorithm 1 by applying Gram–Schmidt to a random Gaussian matrix.

Algorithm 1 Random Special Orthogonal Matrix
1:function RandSO(nn)
2:     Arandom n×n GaussianA\leftarrow\text{random $n\times n$ Gaussian}
3:     QGramSchmidt(A)Q\leftarrow\textsc{GramSchmidt}{(A)}
4:     if det(Q)=1\det(Q)=1 then
5:return QQ
6:     else QE1,2QQ\leftarrow E_{1,2}Q \triangleright E1,2E_{1,2} is the elementary row swap matrix
7:return QQ
8:     end if
9:end function

The next algorithm depends on the geodesic distance on SO(n)SO(n). Fix A,BSO(n)A,B\in SO(n), and let ABT=UΛUAB^{T}=U\Lambda U^{*} be the spectral decomposition of ABTAB^{T}. Then because BB is an isometry,

d(A,B)=d(ABT,I)=d(UΛU,I)=d(UΛ,U)=d(Λ,I).d(A,B)=d(AB^{T},I)=d(U\Lambda U^{*},I)=d(U\Lambda,U)=d(\Lambda,I).

This means the geodesic distance between AA and BB depends only on the eigenvalues of ABTAB^{T}. Thus when approximating the integral via a Monte Carlo algorithm, we only need to generate one random special orthogonal matrix at each step, which reduces computation time significantly.

In fact, the distance d(A,I)d(A,I) is described in [4] and is given by

d(A,I)=(12k=1n|logμk|2)1/2.d(A,I)=\left(\frac{1}{2}\sum_{k=1}^{n}|\log\mu_{k}|^{2}\right)^{1/2}.

where μk\mu_{k} are the eigenvalues of AA. The factor of 1/21/2 ensures that we aren’t overusing argμk\arg\mu_{k}, since the eigenvalues come in complex conjugate pairs. Algorithm 2 describes the Monte Carlo experiment. Using Algorithms 1 and 2 with n=3n=3 and N=10,000,000N=10,\!000,\!000 gives the approximation 𝔼[d;SO(3)]2.207478465{\mathbb{E}[d;SO(3)]\approx 2.207478465}, with absolute error

|2π+π22.207478465|0.000062365.\left|\frac{2}{\pi}+\frac{\pi}{2}-2.207478465\right|\approx 0.000062365.
Algorithm 2 Calculating Expected Distance
1:D[0]ND\leftarrow[0]*N \triangleright Begin with a list of NN zeroes
2:for i1,Ni\leftarrow 1,N do
3:     ARandSO(n)A\leftarrow\textsc{RandSO}(n)
4:     D(i)d(A,I)D(i)\leftarrow d(A,I)
5:end for

return mean(D)\textsc{mean}(D)

4 Expected Distances Between Partially Oriented Flags

Following the example computations on SO(3)SO(3), we now compute the expected distance between two random points on each (partially oriented) flag manifold F(λ;P)F\ell(\lambda;P) obtained from SO(3)SO(3). In all but one case we’ll be able to find an analytic expression for the expectation, and in all cases we’ll get a numerical result from a Monte Carlo experiment.

Notice that for λ\lambda of length kk, σSk\sigma\in S_{k}, and PP a partition of IλI_{\lambda}, we have F(λ;P)F(σλ;σP)F\ell(\lambda;P)\cong F\ell(\sigma\cdot\lambda;\sigma\cdot P). This is true in general, but in the special case of SO(3)SO(3) we also observe that if partitions PP and PP^{\prime} of IλI_{\lambda} have the same order, then F(λ;P)F\ell(\lambda;P) and F(λ;P)F\ell(\lambda;P^{\prime}) are diffeomorphic. Combined with the previous fact, we see that F(λ;P)F(σλ;P^)F\ell(\lambda;P)\cong F\ell(\sigma\cdot\lambda;\widehat{P}) so long as the partitions PP of IλI_{\lambda} and P^\widehat{P} of IσλI_{\sigma\cdot\lambda} are the same size. This reduces the number of computations to be done.

In each case, we can use a trick already mentioned above to simplify our calculations. Since each F(λ;P)=SO(3)/SGλPF\ell(\lambda;P)=SO(3)/SG_{\lambda}^{P} is a homogeneous space, and since we will always choose the Riemannian submersion metric on the quotient which is invariant under the left SO(3)SO(3) action, we can always move one point to the orbit of the identity, and hence the expected distance between two random points in F(λ;P)F\ell(\lambda;P) is the same as the expected distance between a single random point and the identity orbit (or any other preferred point).

4.1 𝕊2\mathbb{S}^{2} and P2\mathbb{R}P^{2}

In this section we’ll consider the simplest (oriented) flag manifolds derived from SO(3)SO(3).444For completeness, we can consider the trivial flag manifold SO(3)/SO(3)SO(3)/SO(3) which clearly has expected distance 0. Suppose that λ=(1,2)\lambda=(1,2). Let PC={{1},{2}}P_{C}=\{\{1\},\{2\}\} and PT={{1,2}}P_{T}=\{\{1,2\}\} denote the complete and trivial partitions of IλI_{\lambda}, respectively. Then we have the identifications 𝕊2F(λ;PC)\mathbb{S}^{2}\cong F\ell(\lambda;P_{C}) and 2F(λ;PT)\mathbb{RP}^{2}\cong F\ell(\lambda;P_{T}).

Using standard spherical coordinates, the area form on 𝕊2\mathbb{S}^{2} is dArea𝕊2=sinφdφdθ\operatorname{dArea}_{\mathbb{S}^{2}}=\sin\varphi\,d\varphi\wedge d\theta, where φ[0,π]\varphi\in[0,\pi] is the polar angle and θ[0,2π]\theta\in[0,2\pi] is the azimuthal angle. Indeed, we verify from the volume formula in 3 that Vol(F((1,2);{{1},{2}}))=4π\operatorname{Vol}(F\ell((1,2);\{\{1\},\{2\}\}))=4\pi, the area of the unit sphere. Since S2S^{2} is homogeneous, it suffices to consider the distance between a point and the north pole, which is simply the polar angle φ\varphi. Hence we have

𝔼[d;F((1,2);PC)]=1Area(𝕊2)𝕊2φdArea𝕊2=14π02π0πφsinφdφdθ=π2.\mathbb{E}[d;F\ell((1,2);P_{C})]=\frac{1}{\operatorname{Area}(\mathbb{S}^{2})}\int\limits_{\mathbb{S}^{2}}\varphi\operatorname{dArea}_{\mathbb{S}^{2}}=\frac{1}{4\pi}\int_{0}^{2\pi}\!\!\!\int_{0}^{\pi}\!\!\varphi\sin\varphi\,d\varphi d\theta=\frac{\pi}{2}.

This is what we expect, since a point is just as likely to be in the northern hemisphere as in the southern. The calculation can also be carried out using Monte Carlo integration: generate a 3-vector vv with independent, normally distributed entries. Normalize vv to get v^\hat{v} which is uniformly distributed on the sphere. As above, it suffices to compute the angle between v^\hat{v} and the north pole. Taking the average of NN samples gives the numerical estimate; indeed, an experiment with N=10,000,000N=10,\!000,\!000 yields the estimate 𝔼[d;F((1,2);PC)]1.570989\mathbb{E}[d;F\ell((1,2);P_{C})]\approx 1.570989, with an absolute error of |π21.570989|0.000193\left|\frac{\pi}{2}-1.570989\right|\approx 0.000193.

The story for 2\mathbb{RP}^{2} is similar. The map π:𝕊22\pi:\mathbb{S}^{2}\to\mathbb{RP}^{2} given by p[p]:={p,p}p\mapsto[p]:=\{p,-p\} is a Riemannian submersion, so the area form on 2\mathbb{RP}^{2} is πdArea𝕊2=sinφdφdθ\pi_{*}\operatorname{dArea}_{\mathbb{S}^{2}}=\sin\varphi\,d\varphi\wedge d\theta, and computing the distance between points in 2\mathbb{RP}^{2} is equivalent to computing the minimum distance between two pairs of antipodal points in 𝕊2\mathbb{S}^{2}, so our computation reduces to determining the expected angle between a random point in the northern hemisphere and the north pole:

𝔼[d;F((1,2);PT)]=1Area(2)2φdArea2=12π02π0π/2φsinφdφdθ=1.\mathbb{E}[d;F\ell((1,2);P_{T})]=\frac{1}{\operatorname{Area}(\mathbb{RP}^{2})}\int\limits_{\mathbb{RP}^{2}}\varphi\operatorname{dArea}_{\mathbb{RP}^{2}}=\frac{1}{2\pi}\int_{0}^{2\pi}\!\!\!\!\int_{0}^{\pi/2}\varphi\sin\varphi\,d\varphi d\theta=1.

To carry this out with Monte Carlo methods, take v^\hat{v} as before, but compute the average of arccos|v^e3|{\arccos|\hat{v}\cdot e_{3}|} where e3e_{3} is the point at the north pole. An experiment with N=10,000,000N=10,\!000,\!000 produces the estimate 𝔼[d;F((1,2);PT)]0.999975\mathbb{E}[d;F\ell((1,2);P_{T})]\approx 0.999975.

4.2 Flags with λ=(1,1,1)\lambda=(1,1,1)

In this section we consider flags with the ordered partition λ=(1,1,1)\lambda=(1,1,1). First we’ll describe the problem of finding expected distances via Monte Carlo integration. Following this, we’ll take a look at each individual case. Suppose that PP is any partition of IλI_{\lambda}. In this case SGλPSG_{\lambda}^{P} contains only a finite number of elements in SO(3)SO(3) as we have already seen in 2.4. Computing the expected distance on SO(3)/SGλPSO(3)/SG_{\lambda}^{P} is hardly any different from what we’ve done before: we simply take the minimum distance from each point in the orbit gSGλPgSG_{\lambda}^{P} to the identity as in Algorithm 3.

Algorithm 3 Expected Distance on SO(3)/SGλPSO(3)/SG_{\lambda}^{P}
1:D[0]ND\leftarrow[0]*N \triangleright Begin with a list of NN zeroes
2:for i1,Ni\leftarrow 1,N do
3:     ARandSO(3)A\leftarrow\textsc{RandSO}(3)
4:     orbitdata[0]|SGλP|\text{orbitdata}\leftarrow[0]*|SG_{\lambda}^{P}| \triangleright |SGλP||SG_{\lambda}^{P}| denotes the order of SGλPSG_{\lambda}^{P}
5:     for j1,|SGλP|j\leftarrow 1,|SG_{\lambda}^{P}| do
6:         orbitdata(j)d(Ahj,I)\text{orbitdata}(j)\leftarrow d(Ah_{j},I) \triangleright Each hjh_{j} denotes a distinct element of SGλPSG_{\lambda}^{P}
7:     end for
8:     D(i)min(orbitdata)D(i)\leftarrow\textsc{min}(\text{orbitdata})
9:end for

return mean(D)\textsc{mean}(D)

4.2.1 Oriented Flags

When P=PCP=P_{C} is the complete partition, the oriented flag manifold F(λ;P)SO(3)F\ell(\lambda;P)\cong SO(3) and we saw in Section 3.1 that the expected distance between two random points in this space is

𝔼[d;F((1,1,1);PC)]=E[d;SO(3)]=2π+π2.\mathbb{E}[d;F\ell((1,1,1);P_{C})]=E[d;SO(3)]=\frac{2}{\pi}+\frac{\pi}{2}.

4.2.2 Partially Oriented Flags

For the case of the partially oriented flags we may choose PP to be P1,P2,P_{1},P_{2}, or P3P_{3} as in 2.4. In any case, SGλPSG_{\lambda}^{P} will contain two matrices. Without loss of generality, suppose that P=P1P=P_{1}. We can readily apply Algorithm 3 with N=10,000,000N=10,\!000,\!000 to see that the expected distance is 1.78548266\approx 1.78548266.

To get an analytic expression, the strategy is to lift the computation to 𝕊3\mathbb{S}^{3} as in Section 3. Since the composite map 𝕊3SO(3)SO(3)/SGλP\mathbb{S}^{3}\to SO(3)\to SO(3)/SG_{\lambda}^{P} is (up to the scale factor 2) a Riemannian submersion, the distance between a pair of points in F(λ;P)=SO(3)/SGλPF\ell(\lambda;P)=SO(3)/SG_{\lambda}^{P} is equal to twice the minimum distance between the sets of preimages in 𝕊3\mathbb{S}^{3}.

As usual, the expected distance between two random points in F(λ;P)F\ell(\lambda;P) is the same as the expected distance between a single random point and any preferred point, which we will take to be the identity coset ISGλPISG_{\lambda}^{P}. In turn, the identity coset consists of the identity and the rotation by angle π\pi around the axis (1,0,0)(1,0,0), so its preimages in 𝕊3\mathbb{S}^{3} are {1,1,i,i}\{1,-1,i,-i\}; in general, if gSO(3)g\in SO(3) is rotation by θ\theta around an axis nn, then the preimage of gSGλPgSG_{\lambda}^{P} in 𝕊3\mathbb{S}^{3} is {q,q,iq,iq}\{q,-q,iq,-iq\}, where q=cosθ2+sinθ2nq=\cos\frac{\theta}{2}+\sin\frac{\theta}{2}n. In turn, since multiplication by 1-1 and multiplication by ii are isometries,

d({1,1,i,i},{q,q,iq,iq})=d(1,{q,q,iq,iq}),d(\{1,-1,i,-i\},\{q,-q,iq,-iq\})=d(1,\{q,-q,iq,-iq\}),

where the minimum distance will be achieved by the element of {q,q,iq,iq}\{q,-q,iq,-iq\} which is closer to 11 than to 1-1, ii, or i-i.

Therefore, the expected distance between a random coset gSGλPgSG_{\lambda}^{P} and the identity coset (and hence, between two random points in F(λ;P)F\ell(\lambda;P)), is simply the expectation of twice the distance from 11 to a random point in the subset of 𝕊3\mathbb{S}^{3} which is closer to 11 than to 1-1, ii, or i-i. In terms of Cartesian coordinates (x,y,z,w)(x,y,z,w), this is precisely the set {(x,y,z,w):x|y|}\{(x,y,z,w):x\geq|y|\}; in hyperspherical coordinates, x|y|x\geq|y| is equivalent to 0ϕ1arctan(secϕ2)0\leq\phi_{1}\leq\arctan(\sec\phi_{2}).

Hence, the volume of the partial flag is given by

Vol(F(λ;P))=F(λ;P)dVolF(λ;P)=02π0π0arctan(secφ2)8sin2φ1sinφ2dφ1dφ2dφ3=202π0π/20arctan(secφ2)8sin2φ1sinφ2dφ1dφ2dφ3,\operatorname{Vol}(F\ell(\lambda;P))=\!\!\!\int\limits_{F\ell(\lambda;P)}\!\!\!\operatorname{dVol}_{F\ell(\lambda;P)}=\int_{0}^{2\pi}\!\!\!\int_{0}^{\pi}\!\!\int_{0}^{\arctan(\sec\varphi_{2})}\!\!8\sin^{2}\varphi_{1}\sin\varphi_{2}~{}d\varphi_{1}d\varphi_{2}d\varphi_{3}\\ =2\int_{0}^{2\pi}\!\!\!\int_{0}^{\pi/2}\!\!\!\!\int_{0}^{\arctan(\sec\varphi_{2})}\!\!8\sin^{2}\varphi_{1}\sin\varphi_{2}~{}d\varphi_{1}d\varphi_{2}d\varphi_{3},

where we use symmetry to restrict to φ2[0,π/2)\varphi_{2}\in[0,\pi/2) and avoid any issues with arctan(secφ2)\arctan(\sec\varphi_{2}).

Mathematica will happily compute the above integral to be 4π24\pi^{2}, which agrees with the volume calculation from 3, but the limits of integration on the innermost integral make this unpleasant to compute by hand.

We can make things easier by changing coordinate systems. Thinking of 𝕊3\mathbb{S}^{3} as the unit sphere in 2\mathbb{C}^{2}, we will interpret points on 𝕊3\mathbb{S}^{3} as pairs (z1,z2)2(z_{1},z_{2})\in\mathbb{C}^{2} with |z1|2+|z2|2=1|z_{1}|^{2}+|z_{2}|^{2}=1. Then the condition x>|y|x>|y| is equivalent to |argz1|<π4|\arg z_{1}|<\frac{\pi}{4} – which will be a lens-shaped region in 𝕊3\mathbb{S}^{3}; the analogous region on 𝕊2\mathbb{S}^{2} is a lune – so it is desirable to use argz1\arg z_{1} as one of our coordinates. In fact, |z1|2+|z2|2=1|z_{1}|^{2}+|z_{2}|^{2}=1 means that

(z1,z2)=(cosαeiθ1,sinαeiθ2)(z_{1},z_{2})=(\cos\alpha\,e^{i\theta_{1}}\!,\sin\alpha\,e^{i\theta_{2}})

for α[0,π/2]\alpha\in[0,\pi/2] and θ1,θ2[0,2π]\theta_{1},\theta_{2}\in[0,2\pi]. Notice that each value of α\alpha determines a torus in 𝕊3\mathbb{S}^{3} except the extremal values α=0\alpha=0 and α=π/2\alpha=\pi/2, where the torus collapses to the unit circle in the z1z_{1}- or z2z_{2}-plane. See Figure 3 for a visualization.

Refer to caption
Figure 3: Stereographic projection to 3\mathbb{R}^{3} of join coordinates on 𝕊3\mathbb{S}^{3}. θ1\theta_{1} and θ2\theta_{2} are simply the arguments of the two complex coordinates, while α\alpha gives the angle a given vector makes with the z1z_{1}-plane. The level sets of α\alpha are generically tori, collapsing to the unit circle in the z1z_{1}-plane when α=0\alpha=0 and to the unit circle in the z2z_{2}-plane (which stereographically projects to the zz-axis) when α=π/2\alpha=\pi/2.

We can write these coordinates – which we call join coordinates because they give a concrete realization of 𝕊3\mathbb{S}^{3} as the topological join of two copies of 𝕊1\mathbb{S}^{1} – in terms of Cartesian coordinates as

x\displaystyle x =cosαcosθ1\displaystyle=\cos\alpha\cos\theta_{1}
y\displaystyle y =cosαsinθ1\displaystyle=\cos\alpha\sin\theta_{1}
z\displaystyle z =sinαcosθ2\displaystyle=\sin\alpha\cos\theta_{2}
w\displaystyle w =sinαsinθ2\displaystyle=\sin\alpha\sin\theta_{2}

and the volume form on 𝕊3\mathbb{S}^{3} is easily computed to be dVol𝕊3=cosαsinαdαdθ1dθ2\operatorname{dVol}_{\mathbb{S}^{3}}=\cos\alpha\sin\alpha\,d\alpha\wedge d\theta_{1}\wedge d\theta_{2}. In these coordinates, the volume of F(λ;P)F\ell(\lambda;P) is easy to compute by hand, as it reduces to a simple uu-substitution:

Vol(F(λ;P))=02ππ/4π/40π/28cosαsinαdαdθ1dθ2=4π2\operatorname{Vol}(F\ell(\lambda;P))=\int_{0}^{2\pi}\!\!\!\int_{-\pi/4}^{\pi/4}\int_{0}^{\pi/2}\!\!\!8\cos\alpha\sin\alpha\,d\alpha\,d\theta_{1}d\theta_{2}=4\pi^{2}

We want to compute the expectation of twice the spherical distance from 11 to a random point in the region π4<θ1<π4-\frac{\pi}{4}<\theta_{1}<\frac{\pi}{4}. The distance is simply arccos(cosαcosθ1)\arccos(\cos\alpha\cos\theta_{1}), and so the expected distance between two random points in F(λ;P)F\ell(\lambda;P) is

1Vol(F(λ;P))πππ/4π/40π/22arccos(cosαcosθ1)8cosαsinαdαdθ1dθ2=4π2πππ/4π/40π/2arccos(cosαcosθ1)cosαsinαdαdθ1dθ2=16π0π/40π/2arccos(cosαcosθ1)cosαsinαdαdθ1\frac{1}{\operatorname{Vol}(F\ell(\lambda;P))}\int_{-\pi}^{\pi}\int_{-\pi/4}^{\pi/4}\int_{0}^{\pi/2}\!\!2\arccos(\cos\alpha\cos\theta_{1})8\cos\alpha\sin\alpha\,d\alpha\,d\theta_{1}d\theta_{2}\\ =\frac{4}{\pi^{2}}\int_{-\pi}^{\pi}\int_{-\pi/4}^{\pi/4}\int_{0}^{\pi/2}\!\!\arccos(\cos\alpha\cos\theta_{1})\cos\alpha\sin\alpha\,d\alpha\,d\theta_{1}d\theta_{2}\\ =\frac{16}{\pi}\int_{0}^{\pi/4}\!\!\!\int_{0}^{\pi/2}\!\!\arccos(\cos\alpha\cos\theta_{1})\cos\alpha\sin\alpha\,d\alpha\,d\theta_{1}

by integrating out θ2\theta_{2} and using the fact that the integrand is even in θ1\theta_{1}.

This is slightly tedious but essentially straightforward to compute using the substitutions u=cosαu=\cos\alpha and sinv=ucosθ1{\sin v=u\cos\theta_{1}}, producing the first half of Theorem 1, which we restate in slightly more general form:

Theorem 4.

For i=1,2,3i=1,2,3, the expected distance between two random points in F((1,1,1);Pi)F\ell((1,1,1);P_{i}) is

𝔼[d;F((1,1,1);Pi)]=1+π4.\mathbb{E}[d;F\ell((1,1,1);P_{i})]=1+\frac{\pi}{4}.

Note that

|1+π41.78548266|0.0000844966\left|1+\frac{\pi}{4}-1.78548266\right|\approx 0.0000844966

which once again shows that our Monte Carlo experiment does a good job of approximating the analytic result.

4.2.3 Flags

Finally, we consider the case when PP is the trivial partition, so SGλPSG_{\lambda}^{P} contains four matrices as in 2.4 and F(λ;P)F(1,2,3)F\ell(\lambda;P)\cong F\ell(1,2,3), the manifold of (complete) flags on 3\mathbb{R}^{3}. We may readily apply Algorithm 3 with N=10,000,000N=10,\!000,\!000 to find that the expected distance between two random points in F(1,2,3)F\ell(1,2,3) is 1.311751687\approx 1.311751687.

Finding an explicit integral for this calculation only requires a few additional changes to the bounds from the previous section. The orbit of the identity lifts to {±1,±i,±j,±k}\{\pm 1,\pm i,\pm j,\pm k\}, which are the vertices of the regular 16-cell dual to the standard hypercube. Other orbits are simply rotated copies of the orbit of the identity, so they also get lifted to regular 16-cells. Hence, computing the expected distance between points in F(1,2,3)F\ell(1,2,3) is equivalent to computing the expected distance from 11 to all the other unit quaternions which are closer to 11 than any of the other integer points on 𝕊3\mathbb{S}^{3}.

This set is nothing but the radial projection of the cube

{(x,y,z,w):x=1,1|y|,|z|,|w|1}\{(x,y,z,w):x=1,-1\leq|y|,|z|,|w|\leq 1\}

to 𝕊3\mathbb{S}^{3}, namely those points with x|y|x\geq|y|, x|z|x\geq|z|, and x|w|x\geq|w|. This spherical cube is partitioned into 3!×233!\times 2^{3} spherical tetrahedra, each congruent to the spherical tetrahedron xyzw0x\geq y\geq z\geq w\geq 0. To integrate over this tetrahedron in hyperspherical coordinates we get the limits of integration φ1[0,arctan(secφ2)]\varphi_{1}\in[0,\arctan(\sec\varphi_{2})], φ2[0,arctan(secφ3)]\varphi_{2}\in[0,\arctan(\sec\varphi_{3})], and φ3[0,π/4]\varphi_{3}\in[0,\pi/4]. Since the simplex is 148\frac{1}{48} of the full spherical cube, we see that

Vol(F(1,2,3))=480π/40arctan(sec(φ3))0arctan(sec(φ2))8sin2φ1sinφ2dφ1dφ2dφ3;\operatorname{Vol}(F\ell(1,2,3))=48\int_{0}^{\pi/4}\!\!\!\!\int_{0}^{\arctan(\sec(\varphi_{3}))}\!\!\!\!\int_{0}^{\arctan(\sec(\varphi_{2}))}\!\!8\sin^{2}\varphi_{1}\sin\varphi_{2}\,d\varphi_{1}d\varphi_{2}d\varphi_{3};

using Mathematica’s numerical integration algorithm reassuringly yields a number numerically indistinguishable from 2π22\pi^{2}, which we know from 3 is the true volume.

Therefore, the expected distance between two points on F(1,2,3)F\ell(1,2,3) is given by the integral

482π20π/40arctan(sec(φ3))0arctan(sec(φ2))2φ18sin2φ1sinφ2dφ1dφ2dφ3.\frac{48}{2\pi^{2}}\int_{0}^{\pi/4}\!\!\!\!\int_{0}^{\arctan(\sec(\varphi_{3}))}\!\!\!\!\int_{0}^{\arctan(\sec(\varphi_{2}))}\!\!2\varphi_{1}8\sin^{2}\varphi_{1}\sin\varphi_{2}\,d\varphi_{1}d\varphi_{2}d\varphi_{3}.

In join coordinates, the corresponding integral turns out to be

42π2π/4π/4π/4π/40arctan(cosθ1cosθ2)2arccos(cosαcosθ1) 8cosαsinαdαdθ1dθ2.\frac{4}{2\pi^{2}}\int_{-\pi/4}^{\pi/4}\int_{-\pi/4}^{\pi/4}\int_{0}^{\arctan\left(\frac{\cos\theta_{1}}{\cos\theta_{2}}\right)}\!\!2\arccos(\cos\alpha\cos\theta_{1})\,8\cos\alpha\sin\alpha\,d\alpha\,d\theta_{1}d\theta_{2}.

It is not clear how to evaluate either of these integrals exactly, though the former can be reduced to the one-dimensional integral given in the second half of Theorem 1, which we restate:

Theorem 5.

The expected distance between two random (1,2,3)(1,2,3)-flags is

𝔼[d;F(1,2,3)]=3π2+96π2\bigintsss0π/4[arctan(tan2(arctan(secφ3)2))arctan2(1+sec2φ3)1+sec2φ3]dφ3.\mathbb{E}[d;F\ell(1,2,3)]=\frac{3\pi}{2}+\frac{96}{\pi^{2}}\bigintsss_{0}^{\pi/4}\!\left[\arctan\left(\tan^{2}\left(\frac{\arctan(\sec\varphi_{3})}{2}\right)\right)-\frac{\arctan^{2}\left(\sqrt{1+\sec^{2}\varphi_{3}}\right)}{\sqrt{1+\sec^{2}\varphi_{3}}}\right]\!d\varphi_{3}.

Of course, this can be numerically evaluated to an arbitrary degree of precision; to 20 digits, we can compute that the expected distance between two random points in F(1,2,3)F\ell(1,2,3) is 1.31172503472244459291.3117250347224445929. Using the PSLQ algorithm [5], this does not appear to be in the vector space over \mathbb{Q} generated by 1,π,1,\pi, and 1π\frac{1}{\pi}, unlike all the other expected values we have computed.

5 Conclusion and Open Questions

The manifolds of partially oriented flags described in this paper have the potential to be a natural home for data which is interpretable in terms of nested subspaces, of which some may be oriented. We encourage mathematicians, engineers, and other practitioners who are beginning to see the usefulness of flag manifolds in data analysis to keep these spaces in mind.

While partially oriented flag manifolds have been studied by algebraic topologists [7, 11, 12], we have not been able to find much evidence of their being studied by geometers. Given the fundamental role played by flag varieties in algebraic geometry, it would be interesting to find a more algebraic definition or interpretation of these spaces. We also look forward to further geometric computation on these spaces, whether it be computing expected distances on a larger class of partially oriented flag manifolds or determining other geometric quantities of interest.

For data living in a metric space, the expected distance between two random points in that space is a simple statistical baseline for distance-based similarity measures. While this quantity can often be estimated effectively using Monte Carlo techniques, it would be interesting to see analytic expressions for expected distance on spaces which are nice geometrically or useful as data models.

Acknowledgments

This project grew out of conversations in the Pattern Analysis Lab at Colorado State University, and we are very grateful to all of the participants in the lab for ongoing inspiration. This work was partially supported by the National Science Foundation (ATD #1712788, CCF–BSF:CIF #1830676, CP) and the Simons Foundation (#354225, CS).

References

  • [1] Pierre-Antoine Absil, Alan Edelman, and Plamen Koev. On the largest principal angle between random subspaces. Linear Algebra and its Applications, 414(1):288–294, 2006.
  • [2] Yasuko Chikuse. Statistics on Special Manifolds, volume 174 of Lecture Notes in Statistics. Springer–Verlag, New York, NY, 2003.
  • [3] Bruce Draper, Michael Kirby, Justin Marks, Tim Marrinan, and Chris Peterson. A flag representation for finite collections of subspaces of mixed dimensions. Linear Algebra and its Applications, 451:15–32, 2014.
  • [4] Alan Edelman, Tomás A Arias, and Steven T Smith. The geometry of algorithms with orthogonality constraints. SIAM Journal on Matrix Analysis and Applications, 20(2):303–353, 1998.
  • [5] Helaman R P Ferguson, David H Bailey, and Steve Arno. Analysis of PSLQ, an integer relation finding algorithm. Mathematics of Computation, 68:351–369, 1999.
  • [6] Vyacheslav Leonidovich Girko. Distribution of eigenvalues and eigenvectors of orthogonal random matrices. Ukrainian Mathematical Journal, 37(5):457–463, 1985. Translated from Ukrainskii Matematicheskii Zhurnal 37(5):568–575, 1985.
  • [7] Kee Yuen Lam. A formula for the tangent bundle of flag manifolds and related manifolds. Transactions of the American Mathematical Society, 213:305–314, 1975.
  • [8] Tim Marrinan, J Ross Beveridge, Bruce Draper, Michael Kirby, and Chris Peterson. Flag manifolds for the characterization of geometric structure in large data sets. In Assyr Abdulle, Simone Deparis, Daniel Kressner, Fabio Nobile, and Marco Picasso, editors, Numerical Mathematics and Advanced Applications – ENUMATH 2013, pages 457–465. Springer International Publishing, Cham, 2015.
  • [9] Yasunori Nishimori, Shotaro Akaho, and Mark D Plumbley. Riemannian optimization method on generalized flag manifolds for complex and subspace ICA. AIP Conference Proceedings, 872(1):89–96, 2006.
  • [10] Eugene Salamin. Application of quaternions to computation with rotations. Working paper, Stanford AI Lab, 1979.
  • [11] Parameswaran Sankaran and Peter Zvengrowski. Stable parallelizability of partially oriented flag manifolds. Pacific Journal of Mathematics, 128(2):349–359, 1987.
  • [12] Parameswaran Sankaran and Peter Zvengrowski. Stable parallelizability of partially oriented flag manifolds. II. Canadian Journal of Mathematics. Journal Canadien de Mathématiques, 49(6):1323–1339, 1997.
  • [13] Ke Ye, Ken Sze-Wai Wong, and Lek-Heng Lim. Optimization on flag manifolds. Preprint, arXiv:1907.00949 [math.OC], 2019.