Dear manopt team,
Thanks for developing such an amazing toolbox!
I just began exploring solving some graph-related SDPs using manopt.
I begin with the maxcut.m code in the examples.
However, it didn't converge as expected.
Below is a minimal working example.
function Test_maxcut(graph)
% maybe need to change the path
A = load(['~/datasets/graphs/', graph, '.mat']).A;
A = abs(A);
n = size(A, 1);
D = diag(sum(A, 2));
L = D - A;
r = ceil(sqrt(8*n+1)/2);
[x, cutvalue, cutvalue_upperbound, Y] = maxcut(L, r);
end
and I call Test_maxcut('G1') where G1 is the first graph from Gset. I observed that the smallest eigenvalue of S stays around ~0.01 for a few iterations and becomes NaN starting from rr = 14. I feel a bit confused because this experiment seems almost identical to those in the paper "The non-convex BurerMonteiro approach works on smooth semidefinite programs". Here for my own needs, I make sure all edges have positive weights.
Are there any options I need to change?
Best Regards,
Yufan