How to compute the tangent space

78 views
Skip to first unread message

lineya...@gmail.com

unread,
Jan 16, 2017, 4:24:43 PM1/16/17
to Manopt
Hi,

Recently I'm trying to get the details of manopt and manifold optimization, and I really appreciate your work a lot. Since tangent space is a very important and fundamental concept, I wonder how to compute the tangent space at one point. In book [AMS08] chapter 3, some examples are given on some embeded manifold and quotient manifold. 

I already know that for embeded manifold, if manifold M is defined by an equality constraint, we can just differentiating the equation and get the expression of tangent space.  Just like the examples: sphere (example 3.5.1), orthogonal Stiefel manifold (example 3.5.2) and orthogonal group (example 3.5.3).

But for quotient manifold such as real projective space RP^{n-1}, equivalent class is given by [x] := {x*alpha: alpha in R_*}. The tangent space to equivalent class is the vertical space, so why it's given by  V_x := {x*alpha: alpha in R} ? And furthermore, the tangent space to the abstract manifold M, denoted TxM = V_x + H_x. Here M is R_*^n, then what's the TxM and how to obtaint it? I just can conclude from the given vertical space and horizontal space that TxM = R^n. But why the whole linear space becomes tangent space at x ?

Hope for your insightful comments and explanations.

Kai

Nicolas Boumal

unread,
Jan 16, 2017, 5:40:50 PM1/16/17
to Manopt
Hello Kai,

These are good questions. A full answer might take more space than I can fill here, though.

The key concept to understand about quotient spaces is that they are abstract spaces, and as a result we need to "do something" to decide upon a good numerical representation of both points on the manifold and of tangent vectors to that manifold.

The relevant concept here is that of "horizontal lift". See Figure 3.8 in Absil's book and section 3.6.2.

If the quotient space is Q = M / ~, then a point on Q is an equivalence class [x] = {y \in M : x ~ y}, where x is a point on M. One obvious way to represent [x] numerically is to store x in memory. Now, at x, M has a tangent space: T_x M. Certain directions in T_x M are parallel to the equivalence class [x] (which itself is a manifold), and the other directions are orthogonal to it. The parallel directions are called the vertical space V_x, and the other directions are called the horizontal directions, H_x. Of course, T_x M = V_x + H_x. The nice thing about horizontal lifts is that they allow one to numerically represent tangent vectors at [x] simply as elements of H_x, which typically are concrete objects (matrices) one can store in memory.

Perhaps, it is best to look at example. One example (certainly not the best one, but the first that came to mind because I was an author):
Cramér-Rao bounds for synchronization of rotations
Go to section 3 and subsection 3.2. The derivation there is explicit.

I hope this helps.
Best,
Nicolas

lineya...@gmail.com

unread,
Jan 17, 2017, 6:04:02 PM1/17/17
to Manopt
Hi Nicolas,

Thanks for your explanations and references. In addition, would you please introduce me more about how to compute the tangent space of quotient manifold? I'm quite confused about how to obtain that, for example, fixed-rank symmetric positive semidefinite matrices factory, since the abstract manifold is all non-degenerated  n x p matrices. Why its tangent space is all n x p matrices?

Kai

Nicolas Boumal

unread,
Jan 24, 2017, 5:54:53 PM1/24/17
to Manopt
Hello Kai,

About your last question: this is because we are working in an open set. See Figure 3.4 in Absil's book, and the explanations around it.

I hope this helps,
Best,
Nicolas
Reply all
Reply to author
Forward
0 new messages