How to efficiently solve a specific correlation_matrix(acctually is a vector)?

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.)

You could try: GitHub - ITensor/ITensorCorrelators.jl. I think you should also be able to use mixed qubit and qudit sites as well with the right inputs (i.e. only using operators relevant to qubit or qudit depending on the site).