From 79c7a3a965e04edee302f40080e3ca206d31f235 Mon Sep 17 00:00:00 2001
From: Kostas Vilkelis <kostasvilkelis@gmail.com>
Date: Tue, 7 May 2024 00:26:53 +0200
Subject: [PATCH] rm kham_to_tb

---
 pymf/__init__.py      |  3 +--
 pymf/tb/transforms.py | 48 -------------------------------------------
 2 files changed, 1 insertion(+), 50 deletions(-)

diff --git a/pymf/__init__.py b/pymf/__init__.py
index 613fc91..b234e9f 100644
--- a/pymf/__init__.py
+++ b/pymf/__init__.py
@@ -14,7 +14,7 @@ from .solvers import solver
 from .model import Model
 from .observables import expectation_value
 from .tb.tb import add_tb, scale_tb
-from .tb.transforms import kham_to_tb, tb_to_khamvector
+from .tb.transforms import tb_to_khamvector
 from .tb.utils import generate_guess, calculate_fermi_energy
 
 
@@ -28,7 +28,6 @@ __all__ = [
     "calculate_fermi_energy",
     "construct_density_matrix",
     "meanfield",
-    "kham_to_tb",
     "tb_to_khamvector",
     "__version__",
     "__version_tuple__",
diff --git a/pymf/tb/transforms.py b/pymf/tb/transforms.py
index 9462ff0..3a0e990 100644
--- a/pymf/tb/transforms.py
+++ b/pymf/tb/transforms.py
@@ -62,51 +62,3 @@ def ifftn_to_tb(ifft_array: np.ndarray) -> tb_type:
     keys = [np.arange(-size[0] // 2 + 1, size[0] // 2) for i in range(len(size))]
     keys = itertools.product(*keys)
     return {tuple(k): ifft_array[tuple(k)] for k in keys}
-
-
-def kham_to_tb(
-    kham: np.ndarray,
-    tb_keys: list[tuple[None] | tuple[int, ...]],
-    ks: ks_type = None,
-) -> tb_type:
-    """Convert a Hamiltonian evaluated on a k-grid to a tight-binding dictionary.
-
-    Parameters
-    ----------
-    kham :
-        Hamiltonian sampled on a grid of k-points with shape (nk, nk, ..., ndof, ndof),
-        where ndof is number of internal degrees of freedom.
-    tb_keys :
-        List of keys for which to compute the tight-binding dictionary.
-    ks :
-        I have no clue why we need this, so this goes on the chopping board.
-    Returns
-    -------
-    :
-        Tight-binding model of Hartree-Fock solution.
-    """
-    if ks is not None:
-        ndim = len(kham.shape) - 2
-        dk = np.diff(ks)[0]
-        nk = len(ks)
-        k_pts = np.tile(ks, ndim).reshape(ndim, nk)
-        k_grid = np.array(np.meshgrid(*k_pts))
-        k_grid = k_grid.reshape(k_grid.shape[0], np.prod(k_grid.shape[1:]))
-        kham = kham.reshape(np.prod(kham.shape[:ndim]), *kham.shape[-2:])
-
-        hopps = (
-            np.einsum(
-                "ij,jkl->ikl",
-                np.exp(1j * np.einsum("ij,jk->ik", tb_keys, k_grid)),
-                kham,
-            )
-            * (dk / (2 * np.pi)) ** ndim
-        )
-
-        h = {}
-        for i, vector in enumerate(tb_keys):
-            h[tuple(vector)] = hopps[i]
-
-        return h
-    else:
-        return {(): kham}
-- 
GitLab