Hubbard Dimer and FCI

Full Configuration Interaction

The Hubbard dimer is a minimal model system consisting of two sites that can each hold up to two electrons (one with spin up, one with spin down). It serves as an excellent pedagogical example for understanding Full Configuration Interaction (FCI) because the FCI space is small enough to be solved exactly, yet rich enough to demonstrate key concepts in quantum chemistry.

Basic Facts About the Hubbard Model

The Hubbard model is a simplified lattice Hamiltonian that captures essential features of strongly correlated electron systems. Here are key facts about the model:

Model Hamiltonian

The Hubbard Hamiltonian for a dimer (two-site system) is:

where:

FCI Configuration Space

For the Hubbard dimer with electrons, we can enumerate all possible Slater determinants. The basis consists of two spatial orbitals (sites), each with two spin orbitals (up and down), giving a total of 4 spin orbitals.

For electrons (half-filled case), the number of configurations is:

The six possible configurations are:

FCI Wavefunction

The FCI wavefunction is a linear combination of all configurations:

where are the Slater determinants and are the expansion coefficients.

Hamiltonian Matrix

The Hamiltonian matrix elements are computed using the second-quantized operators. The matrix has the structure:

For the two-site Hubbard model with electrons, the Hamiltonian matrix in the basis is:

where the basis states are ordered as:

  1. - Both electrons on site 1
  2. - Both electrons on site 2
  3. - Both electrons spin up, one on each site
  4. - Both electrons spin down, one on each site
  5. - One electron on each site, opposite spins
  6. - One electron on each site, opposite spins (different ordering)

Key features of the matrix:

Note: The signs of the off-diagonal elements depend on the ordering of creation operators in the Slater determinants and follow from the fermionic anticommutation relations.

Subspace Decomposition

The Hamiltonian matrix naturally decomposes into subspaces based on the total spin . For the two-site Hubbard model with 2 electrons, we can organize the basis into singlet () and triplet () subspaces.

Sz=0 Subspace

The subspace consists of states with zero z-component of total spin. For 2 electrons, this includes all states where one electron has spin up and one has spin down:

In the subspace, the Hamiltonian matrix (in the basis ) is:

This matrix contains both singlet () and triplet () components. The ground state of the system lies in this subspace.

Singlet Subspace ()

Within the subspace, we can further decompose into singlet () and triplet () states. The singlet state is the antisymmetric combination:

In the basis , the singlet block of the Hamiltonian is:

This matrix captures all the physics of the singlet states. The ground state of the system lies in this subspace.

Triplet Subspace ()

The triplet subspace consists of states with total spin . For 2 electrons, this includes:

In the standard Hubbard model (without spin-flip terms), these triplet states are decoupled from the singlet states and have zero energy:

This means the triplet states are eigenstates with eigenvalue 0. They represent states where both electrons have the same spin, which is not possible when both electrons are on the same site (due to Pauli exclusion), and when they're on different sites, there's no interaction energy in the Hubbard model.

Block-Diagonal Structure

The full Hamiltonian matrix has a block-diagonal structure when organized by spin:

where is the singlet block and is the triplet block. The zero blocks indicate that singlet and triplet states do not mix under the Hamiltonian.

Physical Interpretation

This subspace decomposition is crucial for understanding the physics: the competition between kinetic energy (hopping) and potential energy (on-site repulsion) occurs entirely within the singlet subspace.

Ground State Energy

For the half-filled case (), the ground state energy is:

This can be derived by diagonalizing the Hamiltonian matrix and taking the lowest eigenvalue.

Physical Interpretation

Python Implementation

Here is a Python implementation to solve the Hubbard dimer using FCI:

import numpy as np
from scipy.linalg import eigh

def hubbard_dimer_fci(t, U, n_electrons=2):
    """
    Solve the Hubbard dimer using Full Configuration Interaction.
    
    Parameters:
    -----------
    t : float
        Hopping parameter
    U : float
        On-site repulsion parameter
    n_electrons : int
        Number of electrons (default: 2 for half-filled)
    
    Returns:
    --------
    energies : array
        Eigenvalues (energies) of the system
    wavefunctions : array
        Eigenvectors (wavefunction coefficients)
    """
    # For N=2 electrons, we have 6 configurations
    # Basis: |1↑1↓⟩, |2↑2↓⟩, |1↑2↑⟩, |1↓2↓⟩, |1↑2↓⟩, |1↓2↑⟩
    
    H = np.zeros((6, 6))
    
    # Diagonal elements (on-site repulsion)
    H[0, 0] = U  # |1↑1↓⟩: both electrons on site 1
    H[1, 1] = U  # |2↑2↓⟩: both electrons on site 2
    # Other diagonal elements are 0 (no double occupancy)
    
    # Off-diagonal elements (hopping)
    # Hopping connects configurations that differ by moving one electron
    
    # |1↑1↓⟩ <-> |1↑2↓⟩ (move down electron from site 1 to 2)
    H[0, 4] = -t
    H[4, 0] = -t
    
    # |1↑1↓⟩ <-> |1↓2↑⟩ (move up electron from site 1 to 2)
    H[0, 5] = t
    H[5, 0] = t
    
    # |2↑2↓⟩ <-> |1↑2↓⟩ (move up electron from site 2 to 1)
    H[1, 4] = t
    H[4, 1] = t
    
    # |2↑2↓⟩ <-> |1↓2↑⟩ (move down electron from site 2 to 1)
    H[1, 5] = -t
    H[5, 1] = -t
    
    # |1↑2↑⟩ <-> |1↑2↓⟩ (flip spin on site 2)
    # This requires a spin-flip term, but in the standard Hubbard model
    # without spin-flip, these don't connect directly
    
    # |1↓2↓⟩ <-> |1↓2↑⟩ (flip spin on site 2)
    # Similar to above
    
    # Solve the eigenvalue problem
    energies, wavefunctions = eigh(H)
    
    return energies, wavefunctions

# Example: Solve for different U/t ratios
t = 1.0
U_values = [0.5, 1.0, 2.0, 5.0]

print("Hubbard Dimer FCI Results (t = 1.0)")
print("=" * 50)
print("{:>8} {:>15} {:>15}".format("U/t", "E_0 (FCI)", "E_0 (Exact)"))
print("-" * 50)

for U in U_values:
    energies, _ = hubbard_dimer_fci(t, U)
    E0_fci = energies[0]
    
    # Exact analytical result
    E0_exact = U/2 - np.sqrt((U/2)**2 + 4*t**2)
    
    print("{:>8.2f} {:>15.6f} {:>15.6f}".format(U/t, E0_fci, E0_exact))

print("\n")
print("Note: The exact formula is E_0 = U/2 - sqrt((U/2)^2 + 4t^2)")

Connection to FCI

The Hubbard dimer demonstrates several key aspects of FCI:

Limitations and Extensions

While the Hubbard dimer is exactly solvable, it has limitations:

Extensions include:

References

For more details on FCI, see the Full Configuration Interaction page.

Key Reference on the Hubbard Model and DFT:

This comprehensive review explains the relationship between density functional theory and strongly correlated models using the two-site Hubbard model, including its connection to traditional quantum chemistry, exact solutions, and benchmark calculations of approximate functionals.