How can I find the unitary matrix for diagonalizing a Hamiltonian numerically?

In summary, the conversation is about understanding how to diagonalize a Hamiltonian numerically. The problem involves a Hamiltonian with dimensions of 2N and a solution attempt using a QR factorization algorithm. However, the mistake is in using an eig(\textbf{H}) function and instead, a unitary matrix needs to be found. The solution involves using a Bogoliubov type transformation to find a unitary orthogonal matrix, but the issue is in mapping the original states to quasiparticle states. The question is how to find W in the equation (a, a^{\dagger}) = W (ua+va^{\dagger}; u^{\dagger}a-va).
  • #1
DeathbyGreen
84
16
Hi!

I'm trying to understand how to diagonalize a Hamiltonian numerically. Basically I have a problem with a Hamiltonian such as

[tex] H = \frac{1}{2}c^{\dagger}\textbf{H}c[/tex]

where [tex] c = (c_1,c_2,...c_N)^T [/tex]

The dimensions of the total Hamiltonian are 2N, because each [tex] c_i [/tex] is a 2 spinor. I need to numerically calculate the eigenvalues of this. My solution attempt was to simply use a QR factorization algorithm to diagonalize [tex] \textbf{H} [/tex] which is a tridiagonal matrix. I think my mistake is my solution attempt, I think I can't simply use like an [tex] eig(\textbf{H}) [/tex] function. I think I need to find a unitary matrix...but I've not done this before. Is that the correct solution attempt? And if so, could someone provide an example of how to do that with the unitary matrix? Like a explicit example and solution...I would really appreciate any help!

Thank you!
 
Physics news on Phys.org
  • #2
I think I've made progress in a solution but am not quite there...So my QR algorithm wasn't working because the eigenvalues come in +/- pairs on either side of the matrix diagonal. so I need to perform a Bogoliubov type transformation to find a unitary orthogonal matrix which can be used to multiply the original matrix by. My problem is that I don't know how to map my original states to the quasiparticle states. In other words:

[tex] (a, a^{\dagger}) = W (ua+va^{\dagger}; u^{\dagger}a-va) [/tex]

How can I find W?
 

FAQ: How can I find the unitary matrix for diagonalizing a Hamiltonian numerically?

What is numerical diagonalization?

Numerical diagonalization is a computational method used to find the eigenvalues and eigenvectors of a matrix. It involves converting a matrix into a diagonal matrix, where the only non-zero elements are on the diagonal, by using an iterative algorithm.

What is the importance of numerical diagonalization in science?

Numerical diagonalization is important in many areas of science, including physics, chemistry, and engineering. It is used to solve problems involving matrices, such as finding the normal modes of a system or solving differential equations. It is also essential in quantum mechanics for finding the energy levels of a system.

How does numerical diagonalization differ from analytical diagonalization?

Numerical diagonalization is a numerical method that uses algorithms and computer programs to find the eigenvalues and eigenvectors of a matrix. Analytical diagonalization, on the other hand, involves finding the eigenvalues and eigenvectors of a matrix using mathematical formulas and techniques.

What are the limitations of numerical diagonalization?

Numerical diagonalization can be computationally expensive and time-consuming for large matrices. Additionally, it can produce rounding errors and inaccuracies due to the finite precision of computers. It also requires a good initial guess for the iterative algorithm to converge to the correct solution.

What are some real-world applications of numerical diagonalization?

Numerical diagonalization has a wide range of applications in various fields, such as predicting the behavior of systems in physics and engineering, analyzing large datasets in data science, and solving quantum mechanical problems in chemistry. It is also used in machine learning and image processing techniques.

Similar threads

Back
Top