A How to numerically diagonalize a Hamiltonian in a subspace?

Luqman Saleem
Messages
17
Reaction score
3
I want to exactly diagonalize the following Hamiltonian for ##10## number of sites and ##5## number of spinless fermions
$$H = -t\sum_i^{L-1} \big[c_i^\dagger c_{i+1} - c_i c_{i+1}^\dagger\big] + V\sum_i^{L-1} n_i n_{i+1}$$
here ##L## is total number of sites, creation (##c^\dagger##) and annihilation (##c##) operators are defined as following
$$
c =
\begin{bmatrix}
0&0\\1&0
\end{bmatrix}
$$
and ##n_i = c_i^\dagger c_i## is number operator.

To exactly diagonalize (for simplicity let's take ##L=4## sites), one can expand ##H## as

$$H = -t\big[
c_1^\dagger \sigma_1^z \otimes c_2\otimes I_3 \otimes I_4 \\
+ I_1 \otimes c_2^\dagger \sigma_2^z \otimes c_3\otimes I_4\\
+ I_1 \otimes I_2 \otimes c_3^\dagger\sigma_3^z \otimes c_4
\big]+h.c.\\
+V\big[
n_1 \otimes n_2 \otimes I_3 \otimes I_4\\
+I_1 \otimes n_2 \otimes n_3 \otimes I_4\\
+I_1 \otimes I_2 \otimes n_3 \otimes n_4
\big]$$
where ##\sigma^z## (Pauli matrix) is just simple matrix multiplication for the sake of anti-commutation relation.

So far so good. (please correct me if I am doing anything wrong)!

**Question:**

I used the above method and numerically calculated the ground state and found that the above method gives the correct results for ##V=0## but when ##V\ne0## the results are wrong.

Eventually, I get to the point that I am not taking care of the number of particles in the system. How do we numerically diagonalize a Hamiltonian matrix in the subsector of Hilbert space with a chosen number of particles?

**Note:**

I want to use this diagonalization in DMRG algorithm (in finding the ground state energy of the Hamiltonian at half-filling)
 
Physics news on Phys.org
Luqman Saleem said:
I want to exactly diagonalize the following Hamiltonian for ##10## number of sites and ##5## number of spinless fermions
$$H = -t\sum_i^{L-1} \big[c_i^\dagger c_{i+1} - c_i c_{i+1}^\dagger\big] + V\sum_i^{L-1} n_i n_{i+1}$$
here ##L## is total number of sites, creation (##c^\dagger##) and annihilation (##c##) operators are defined as following
$$
c =
\begin{bmatrix}
0&0\\1&0
\end{bmatrix}
$$
and ##n_i = c_i^\dagger c_i## is number operator.

To exactly diagonalize (for simplicity let's take ##L=4## sites), one can expand ##H## as

$$H = -t\big[
c_1^\dagger \sigma_1^z \otimes c_2\otimes I_3 \otimes I_4 \\
+ I_1 \otimes c_2^\dagger \sigma_2^z \otimes c_3\otimes I_4\\
+ I_1 \otimes I_2 \otimes c_3^\dagger\sigma_3^z \otimes c_4
\big]+h.c.\\
+V\big[
n_1 \otimes n_2 \otimes I_3 \otimes I_4\\
+I_1 \otimes n_2 \otimes n_3 \otimes I_4\\
+I_1 \otimes I_2 \otimes n_3 \otimes n_4
\big]$$
where ##\sigma^z## (Pauli matrix) is just simple matrix multiplication for the sake of anti-commutation relation.

So far so good. (please correct me if I am doing anything wrong)!

**Question:**

I used the above method and numerically calculated the ground state and found that the above method gives the correct results for ##V=0## but when ##V\ne0## the results are wrong.

Eventually, I get to the point that I am not taking care of the number of particles in the system. How do we numerically diagonalize a Hamiltonian matrix in the subsector of Hilbert space with a chosen number of particles?

**Note:**

I want to use this diagonalization in DMRG algorithm (in finding the ground state energy of the Hamiltonian at half-filling)

How do you know what the right answers are? Are you working from a reference article?
 
atyy said:
How do you know what the right answers are? Are you working from a reference article?

Yes. I am comparing my results with https://arxiv.org/abs/1809.05199.
 
  • Like
Likes atyy
atyy said:
How do you know what the right answers are? Are you working from a reference article?

Actually, the following reason has forced me to think that I am doing it wrong:

In the above formalism (that I have mentioned), the basis set is also tensor multiplied. The degree of freedom per site is 2 i.e. occupied (1) or empty (0). For 2 sites, basis set will be:
$$
\begin{bmatrix}
1\\0
\end{bmatrix}
\otimes
\begin{bmatrix}
1\\0
\end{bmatrix} =
\begin{bmatrix}
11\\10\\01\\00
\end{bmatrix}
$$
and for 4 sites, basis will be:
$$
\begin{bmatrix}
11\\10\\01\\00
\end{bmatrix}
\otimes
\begin{bmatrix}
11\\10\\01\\00
\end{bmatrix}
=
\begin{bmatrix}
1111&1110&1101&1100&1011&1010&1001&1000&0111&0110&0101&0100&0011&0010&0001&0000
\end{bmatrix}
$$

As, it can be seen that if we construct full Hamiltonian (for 4 sites) using the above method, we will be dealing with total 16 bases. And the number of particles is not conserved i.e. in the first basis (1111) all sites are filled while the last basis (0000) is fully empty. I want to calculate groundstate only for the half-filled system.
 
  • Like
Likes atyy
Luqman Saleem said:
Actually, the following reason has forced me to think that I am doing it wrong:

In the above formalism (that I have mentioned), the basis set is also tensor multiplied. The degree of freedom per site is 2 i.e. occupied (1) or empty (0). For 2 sites, basis set will be:

...

and for 4 sites, basis will be:

...

As, it can be seen that if we construct full Hamiltonian (for 4 sites) using the above method, we will be dealing with total 16 bases. And the number of particles is not conserved i.e. in the first basis (1111) all sites are filled while the last basis (0000) is fully empty. I want to calculate groundstate only for the half-filled system.

I think that your approach in this post is the right idea. But I don't know why you say that the number of particles is not conserved - your original Hamiltonian does conserve particle number ##N = \sum_i c^{\dagger}_i c_i##. What this means is that your Hamiltonian is block diagonal, where the blocks are the spaces of constant values of ##N##.

What this means is that it suffices to work in a subspace of these bases you've mentioned. For the two-site case, if you write the Hamiltonian matrix in the basis
$$
\begin{bmatrix}
11\\10\\01\\00
\end{bmatrix}
$$
Then the Hamiltonian must take the form
$$
H =
\begin{bmatrix}
h_{11} & 0 & 0 & 0 \\
0 & h_{22} & h_{23} & 0 \\
0 & h_{23}^{\ast} & h_{33} & 0 \\
0 & 0 & 0 & h_{44}
\end{bmatrix}
$$
Now if you are only interested in the half-filled (##N=1##) subspace, you only need to diagonalize the 2x2 block in the middle of this thing. (Be sure you understand why this is the case!)

Extrapolating this idea to larger system sizes, you just need to find the matrix elements of ##H## in the ##N=L/2## sector and diagonalize that. Just ignore the other states. In your four-site example, you only need to diagonalize the 6x6 matrix ##H_{ij} = v^{\dagger}Hv## where
$$
v = \begin{bmatrix}
1100 \\
1010 \\
1001 \\
0110 \\
0101 \\
0011
\end{bmatrix}
$$
This makes the process much faster for small system sizes, though unfortunately the size of the ##N=L/2## subspace still grows exponentially in ##L## as ##L## gets large. If my quick calculation is correct, the case of 5 particles on 10 sites reduces to diagonalizing a 252x252 matrix (much easier than attempting the full 1024x1024 matrix for arbitrary number of particles).
 
  • Like
Likes aaroman
Not an expert in QM. AFAIK, Schrödinger's equation is quite different from the classical wave equation. The former is an equation for the dynamics of the state of a (quantum?) system, the latter is an equation for the dynamics of a (classical) degree of freedom. As a matter of fact, Schrödinger's equation is first order in time derivatives, while the classical wave equation is second order. But, AFAIK, Schrödinger's equation is a wave equation; only its interpretation makes it non-classical...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. Towards the end of the first lecture for the Qiskit Global Summer School 2025, Foundations of Quantum Mechanics, Olivia Lanes (Global Lead, Content and Education IBM) stated... Source: https://www.physicsforums.com/insights/quantum-entanglement-is-a-kinematic-fact-not-a-dynamical-effect/ by @RUTA
Is it possible, and fruitful, to use certain conceptual and technical tools from effective field theory (coarse-graining/integrating-out, power-counting, matching, RG) to think about the relationship between the fundamental (quantum) and the emergent (classical), both to account for the quasi-autonomy of the classical level and to quantify residual quantum corrections? By “emergent,” I mean the following: after integrating out fast/irrelevant quantum degrees of freedom (high-energy modes...
Back
Top