I decided exact diagonalizing would be the smartest thing to do for a start. In concept, calculating the entanglement entropy from the ground state of a exact diagonalization procedure is fairly straightforward. Conceptualizing and writing the algorithm for diagonalizing a one diimensional Fermionic Hubbard chain has been fun. I shall only mention the trick that makes the whole process really elegant and fun. Any site has four possibilities namely no fermions, only spin-up, only spin-down and both spins. The four possibilities are very neatly cataloged with binary 00,01,10 and 11. So we take a binary string twice as long as the number of sites and every two bits of it represents the occupation of a site. Then we only have to count through the numbers from all 0's to all 1's and all the possible bases of the Hamiltonian are enumerated. I wish that was all the challenge there was. Unfortunately, it looks like I am looking at a long list of woes which starts with limited computer resources. Turns out, exact diagonalizing takes an unbelievably long time. My desktop has not finished a diagonalization of 10 sites in 6+ days, so far. I want to focus on bench-marking the answers first, to make sure the code works right. I shall post again when that is done.
What I cannot code-up, I do not understand
There you go! Paraphrasing Richard Feynman-- done! Google Summer of Code -- done! I have gained valuable experience from the internship. Also, I hope to become a part of QuTiP soon. The title of this post more or less sums up my experience from the program. This will be a poor man's version of Feynman's dying quotes(on his blackboard!) "What I cannot create, I do not understand" "Know how to solve every problem that has been solved." With some awesome guidance from my mentors, I have been able to simulate some very well known concepts of lattice physics. Recreating a problem gives me an immense satisfaction as well as the confidence of understanding a problem inside out. I have never been in the elite bracket of physicists who can solve any problem on a piece of paper or a board. I am a computational person. So, to me redoing a problem means coding it up on a computer. I daresay, the list of problems that I believe to understand well has grown con...
Comments
Post a Comment