As shown in the figure above, I am currently trying to solve a specific correlation vector, which corresponds to the off-diagonal elements of the correlation_matrix
. The correlation_matrix
function requires the computation of two-point correlations across all sites. Therefore, I am wondering if there is a more efficient operation that can allow me to calculate only the correlations as shown in the figure. I tried using the expression
correlation_vector = [inner(psi, apply(op("Adag", s[k]) * op("A", s[N+1-k]), psi)) for k=1:N],
but I found that this method is still slower than using the correlation_matrix(psi, "Adag", "A")
.
(If there is a way to solve this problem, I would also like to ask whether the same method applies if we have a mixed system of qubits and qudits. For instance, if there are N-1 qudits and one qubit, with the qubit placed at the middle site, would this method still be applicable to solve the same special correlation vector for the N-1 qudits? At least, correlation_matrix(psi, "Adag", "A")
is invalid.)