I'm trying to simulate an impurity problem, and wondering if I can just calculate local observables such as local population, and currents between the impurity and the rest.
It costs a lot to calculate correlation functions between all the L sites , but I only need a few of them. I appreciate if you can help me how to do this. Maybe we can use DensityMatrix_ij?
Best,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
yes, you can pass a list of pairs of sites to DensityMatrix_ij and only measure the two reduced density matrix of the impurity and its left/right neighbor. The empty list from some examples is a shortcut to all possible combinations. Let us know if you have problems to set this up. For medium to large systems, you should see a benefit. But you cannot define a list for the correlation measurement itself; it always runs over the full range.
Best regards,
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for the advise. I can now calculate the density matrix between an impurity and the next sites, but I'm not 100% sure which basis they are given. Let us suppose that the local Hilbert space is spanned by a basis {| u >, | d >}. So the (1,1)-component of a local operator O is < u | O | u >, and (2,2)-component is < d | O | d >.
Is the density matrix for sites [i,j] given by {|uu>,|ud>,|du>, |dd>}, or {|uu>,|du>,|ud>, |dd>}, or other ordering of the Schmidt basis?
Since I have to take trace in the end with the local operators, the representation seems importnat to check.
Best,
Last edit: Tomio Hashimoto 2019-07-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
I'm trying to simulate an impurity problem, and wondering if I can just calculate local observables such as local population, and currents between the impurity and the rest.
It costs a lot to calculate correlation functions between all the L sites , but I only need a few of them. I appreciate if you can help me how to do this. Maybe we can use DensityMatrix_ij?
Best,
Hello Tomio,
yes, you can pass a list of pairs of sites to DensityMatrix_ij and only measure the two reduced density matrix of the impurity and its left/right neighbor. The empty list from some examples is a shortcut to all possible combinations. Let us know if you have problems to set this up. For medium to large systems, you should see a benefit. But you cannot define a list for the correlation measurement itself; it always runs over the full range.
Best regards,
Daniel
Dear Daniel,
Thank you for the advise. I can now calculate the density matrix between an impurity and the next sites, but I'm not 100% sure which basis they are given. Let us suppose that the local Hilbert space is spanned by a basis {| u >, | d >}. So the (1,1)-component of a local operator O is < u | O | u >, and (2,2)-component is < d | O | d >.
Is the density matrix for sites [i,j] given by {|uu>,|ud>,|du>, |dd>}, or {|uu>,|du>,|ud>, |dd>}, or other ordering of the Schmidt basis?
Since I have to take trace in the end with the local operators, the representation seems importnat to check.
Best,
Last edit: Tomio Hashimoto 2019-07-23