-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Hi,
Have worked a bit on the BTD inversion. One problem there is right now is the for-loops over energy in the NEGF code, which makes the code i have a bit hard to implement in your code. I worked a bit on a workaround, but it didnt work out right now.
In the attached file is a really barebones implementation for a BTD inversion (iG_dropin.py, the use of which is demonstrated in the bottom of the Test_Ribbon.py script)... for the example on a 1440 orbital Hamiltonian it is twice as fast as the scipy implementation. There is a lot of room to make it faster, and the secondlast block in the Test_Ribbon.py script hopefully demonstrates this, but we need to make the inversions in one go instead as this would remove a lot of overhead converting between sparse , block matrix and numpy formats.... :) The code can approach (but still a bit slower than) tbtrans speeds if larger batches of energy-points are used.
The Test_Ribbon script demonstrates the uses, and has an outcommented part where the DFT calculation is made.
Send.tar.gz
BR. Aleksander