Posts

Showing posts from May, 2019

Kinda stuff Professor Shonku never wrote in his diary(to the best of my memory)

Well, I am here to post about failures or at least lack of successes. Shonku's diary posts always reported of instant successes or incessant progresses. But for us, the not-so-gifted folks, success comes slow and late. I have given up on MATLAB coming through with the exact diagonalization programs I was trying out. After couple of weeks I began to suspect that my desktop is hung up. Now, I have bigger fish to fry. The plan has changed. I am to come up with a data structure for defining lattice models in Qutip. I have been busy figuring out the class definitions of Qutip and Quspin. Quspin is a wonderful open source package for calculations on lattice models. I learnt a lot from looking at their codes. It is possible to just load the modules from the two packages individually and make them compatible through their common representation in numpy. However, I would love to initiate Qutip's own efforts on lattice models. It would require a lot of guile to outclass the programs of

Google Summer of Code 2019

Why did I start writing a blog all of a sudden? Very simple. I had an epiphany! It materialized in the form of being asked to do so by my employers. This is for Google Summer of Code 2019. I shall be developing programs for Qutip and NumFOCUS for lattice models calculations(yay!).  https://summerofcode.withgoogle.com/projects/#5960123627864064  I am very excited about this. I have always loved Qutip( http://qutip.org/ ) for the clarity of their codes. I have to develop codes that can deal with lattice models. I already like my mentors. It should be fun being part of this great team. I am very tired of people who do not disclose their codes citing excuses of 'intellectual property'. Getting paid to write open source codes is indeed the dream job!
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