How Do You Solve Harper's Equation in Quantum Mechanics?

  • Context: Graduate 
  • Thread starter Thread starter tobix10
  • Start date Start date
  • Tags Tags
    Recurrence relations
Click For Summary
SUMMARY

Harper's equation, derived from Schrödinger's equation for a single particle in a 2D square lattice under an Abelian magnetic field, is represented as g(m+1) + g(m-1) = [E - 2 cos(2πmα - ν)]g(m). To solve this equation numerically, one must express it in matrix form and utilize tools like MATLAB or Python for diagonalization. The Hofstadter butterfly can be plotted by constructing the Hamiltonian matrix in a specific gauge, such as the Landau gauge. A recommended resource for further understanding is the paper available at this link.

PREREQUISITES
  • Understanding of Schrödinger's equation in quantum mechanics
  • Familiarity with matrix diagonalization techniques
  • Knowledge of the Hofstadter butterfly phenomenon
  • Proficiency in programming with MATLAB or Python for numerical simulations
NEXT STEPS
  • Study the matrix expansion of Harper's equation as detailed in the linked paper
  • Learn how to implement Hamiltonian matrix construction in MATLAB
  • Explore numerical diagonalization methods in Python using libraries like NumPy
  • Investigate the implications of varying parameters E and α on the solutions of Harper's equation
USEFUL FOR

Quantum physicists, computational physicists, and researchers interested in lattice systems and magnetic fields will benefit from this discussion.

tobix10
Messages
6
Reaction score
1
For a single particle in a 2D square lattice in the presence of an Abelian magnetic field Schroedinger's equation transforms into Harper's equation

g(m+1) + g(m-1) = [E - 2 cos(2\pi m \alpha- \nu)]g(m)
where
\psi(x,y)=\psi(ma,na) = e^{i\nu n} g(m) \\ \alpha= \frac{e a^2 B}{h c}

I am familiar with a solution that involves matrix multiplication and the condition about the trace of wilson loop.
I can also plot Hofstatder butterfly by constructing hamiltonian matrix in some gauge (e.g Landau) and diagonalizing it.

What I don't know is how to solve Harper equation in a different way or how to get butterfly by simply finding points (E, \alpha). Solving this kind of equations is new to me. I don't know what to do if I put some particular values of E and \alpha into equation. Do I need to assume how g(0) looks like? Any help?
 
  • Like
Likes   Reactions: Saidi
Physics news on Phys.org
Are you asking how to numerically solve this? Here is a nice paper going over matrix expansion of the Harper equation:
https://arxiv.org/pdf/cond-mat/9808328.pdf
But to numerically solve you need to write the equation in matrix form and loop over possible parameter values. You should just take the raw Hofstandter Hamiltonian, expand it in matrix form, and diagonalize it numerically (MATLAB and Python are good tools for this).
Code:
for k = -pi:pi
       H = %some cell with k plugged in
       E(k,:) = eig(H)
end
 
DeathbyGreen said:
Are you asking how to numerically solve this? Here is a nice paper going over matrix expansion of the Harper equation:
https://arxiv.org/pdf/cond-mat/9808328.pdf
But to numerically solve you need to write the equation in matrix form and loop over possible parameter values. You should just take the raw Hofstandter Hamiltonian, expand it in matrix form, and diagonalize it numerically (MATLAB and Python are good tools for this).
Code:
for k = -pi:pi
       H = %some cell with k plugged in
       E(k,:) = eig(H)
end
tobix10 said:
For a single particle in a 2D square lattice in the presence of an Abelian magnetic field Schroedinger's equation transforms into Harper's equation

g(m+1) + g(m-1) = [E - 2 cos(2\pi m \alpha- \nu)]g(m)
where
\psi(x,y)=\psi(ma,na) = e^{i\nu n} g(m) \\ \alpha= \frac{e a^2 B}{h c}

I am familiar with a solution that involves matrix multiplication and the condition about the trace of wilson loop.
I can also plot Hofstatder butterfly by constructing hamiltonian matrix in some gauge (e.g Landau) and diagonalizing it.

What I don't know is how to solve Harper equation in a different way or how to get butterfly by simply finding points (E, \alpha). Solving this kind of equations is new to me. I don't know what to do if I put some particular values of E and \alpha into equation. Do I need to assume how g(0) looks like? Any help?
please if you found the numerical calculation code you can give me .
 
Saidi said:
please if you found the numerical calculation code you can give me .
Welcome to PF.

This thread is old enough that the participants are no longer with us. Your best bet is to follow the hints and link in Post #2. :smile:
 
berkeman said:
This thread is old enough that the participants are no longer with us.
I can see (by clicking on their usernames, then on the numbers shown under "Messages") that tobix10 has not posted here since 2017, and DeathbyGreen has not posted since 2018.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 9 ·
Replies
9
Views
1K
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
Replies
3
Views
1K
Replies
2
Views
1K
  • · Replies 8 ·
Replies
8
Views
3K