Hello Jiancheng,
Unfortunately, I have no good code for this using Manopt.
You would be optimizing over a collection of points on the same manifold, instead of a single point. Certain manifolds allow you to do this directly (and efficiently). For example to optimize over 25 points on the Grassmann manifold of size (n, p), do this:
problem.M = grassmannfactory(n, p, 25);
Some manifolds do not allow to work with "tuples" natively. Instad, you can use the function powermanifold:
So, a (less efficient) way of working on 25 points on the Grassmannian simultaneously is:
problem.M = powermanifold(grassmannfactory(n, p), 25);
In the first case, points and vectors are represented as three-dimensional matrices (arrays) in Matlab, of size n x p x 25
In the second example, they are represented as cells of size n x 1, each entry containing a matrix of size n x p.
I hope this can get you a head start.
Best,
Nicolas