Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to establish the hamiltonian matrix as soon as possible?

  1. Aug 16, 2009 #1
    in the bose-hubbard model, we need to enumerate all the possible basis

    usually, the basis vectors are taken as the fock states

    The problem is that, how to arrange the basis and how to establish the matrix of the hamiltonian as soon as possible

    It is apparent the the matrix will be very sparse

    then how can we avoid to set the matrix elements that are surely zero ?

    i find this problem non-trivial
  2. jcsd
  3. Aug 16, 2009 #2
    Well, you need to find some operator that commutes with your Hamiltonian, and then you know that its eigenvalues are good quantum numbers, so the Hamiltonian will be block diagonal with each block corresponding to a different quantum number of this other operator. For instance, every term in the Bose-Hubbard model contains the same number of creation and annihilation operators, so the total particle number is conserved. This means that the Hamiltonian will only have matrix elements between states with the same particle number.

    I'm not an expert on exact diagonalization, but I think that is probably about as far as you can go with it, due to the non-local nature of the hopping and the local nature of the interaction.
  4. Aug 17, 2009 #3

    yes, this is a trick

    but i want more

    i want such trick that faciliate the coding and programming

    especially, i want to know quickly where the matrix elements are nonzero

    generally, the matrix can be millions by millions, and i cannot test whether each element is zero or not. That requies too much time, though each testing can be very simple.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook