Integrate KPM for large systems

Integrate a KPM implementation that handles large systems where getting all eigenvalues in B is either to expensive or impossible. The outline of achieving this task is:

  1. Implement P_B H_0 P_B = (Id-P_A)H_0(Id-P_A).
  2. implement divide_energies function that handles non-diagonal inputs. This is achieved by transforming into diagonal basis, dividing the energies, and transforming back.
  3. replace diagonalization of B-space by Greens function containing KPM.
Edited by Sebastian Miles
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information