Is complex annulus a Riemannian manifold?

50 views
Skip to first unread message

Melos

unread,
Feb 12, 2024, 10:18:46 PMFeb 12
to Manopt
The variables that I need to optimize are defined within the interval as shown in the image, which is a subset of the -dimensional complex space with constraints on the magnitudes of the components. Can this set be considered a Riemannian manifold, and is it possible to solve for these variables using the Manopt toolbox?
(a≠0)
Snipaste_2024-02-13_11-11-37.png

Nicolas Boumal

unread,
Feb 13, 2024, 7:44:15 AMFeb 13
to Manopt

Hello,

This is not a smooth manifold (it is a manifold with a boundary), hence it does not fit "as is" in Manopt, but you can still use Manopt to optimize over that set.
The idea is to parameterize the set in a smooth way (lots -- likely too much -- theory for that here: https://arxiv.org/abs/2207.03512 ; Example 4.5 is specifically about how to parameterize an annulus by using a higher-dimensional torus, which is indeed a smooth manifold).

Concretely:

You could optimize over the set of 2n unit-modulus complex numbers. Say x in C^n and y in C^n, where |x_i| = 1 and |y_i| = 1 for all i.

Now, let z_i = ((a+b)/2) x_i + ((b-a)/2) y_i

Notice that z is a simple (linear) function of x and y.

Also, notice that the vectors z you can form in that way are exactly the vectors you want to consider. The parameterization is "complete" (surjective), though admittedly it is not 1-to-1 (it is redundant).

In Manopt, let:

problem.M = complexcirclefactory(n, 2);

Now, your cost function in problem.cost = @(X) ...;  takes as input a matrix X of size n-by-2 whose first column you can think of as x, and whose second column you can think of as y. Form z = X*[(a+b)/2) ; (b-a)/2)];  Express your cost function in terms of z. And for the gradient, you'll have to take that into account as well (but it's just a linear effect).

I hope that makes sense.

Nicolas
Reply all
Reply to author
Forward
0 new messages