Currently, spectrum assumes that the matrix $V_{j,\tau}$ is a rank-1 matrix, and takes only the largest eigenvalue (and the corresponding eigenvector) for computing lambda. See footnote 47 in https://arxiv.org/pdf/1612.08471 and compute_lambda() code:
|
lambda = El::View(eigenvectors, 0, num_eigvals - 1, num_eigvals, 1); |
From Slack discussion with Slava:
How will the code behave if some operators in an extremal solution have OPE matrices of rank >1? (In practice this may happen only for isolated operators for which one does not scan over OPE coefficients. Will it report a rank >1 OPE coefficients matrix or will it break down?
I am not an expert but I am a bit worried about the largest eigenvalue only strategy. This can potentially produce OPE coefficients which do not correspond to a solution to crossing. Non-expert or inattentive user can miss this. It would be good if the code printed a warning message if say the subleading eigenvalue is significant relative to the leading one. As a matter of fact, in that case it would be even meaningful to output several operators for this dimension. I sense this problem is potentially serious for any study which imposes an operator dimension as isolated, but does not scan over the OPE coefficients of the isolated operator. (I became aware of this when following a bootstrap study performed by someone else.)
Currently, spectrum assumes that the matrix$V_{j,\tau}$ is a rank-1 matrix, and takes only the largest eigenvalue (and the corresponding eigenvector) for computing lambda. See footnote 47 in https://arxiv.org/pdf/1612.08471 and
compute_lambda()code:sdpb/src/spectrum/compute_spectrum/compute_lambda.hxx
Line 191 in 4554801
From Slack discussion with Slava: