quant-met 0.0.6__py3-none-any.whl → 0.0.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,46 +4,60 @@
4
4
 
5
5
  """Provides the implementation for Graphene."""
6
6
 
7
+ import pathlib
7
8
  from typing import Any
8
9
 
10
+ import h5py
9
11
  import numpy as np
10
12
  import numpy.typing as npt
11
13
 
12
- from ._utils import _check_valid_array, _validate_float
14
+ from quant_met.geometry import GrapheneLattice
15
+ from quant_met.mean_field._utils import _check_valid_array, _validate_float
16
+ from quant_met.parameters.hamiltonians import GrapheneParameters
17
+
13
18
  from .base_hamiltonian import BaseHamiltonian
14
19
 
15
20
 
16
- class GrapheneHamiltonian(BaseHamiltonian):
21
+ class Graphene(BaseHamiltonian):
17
22
  """Hamiltonian for Graphene."""
18
23
 
19
24
  def __init__(
20
25
  self,
21
- hopping: float,
22
- lattice_constant: float,
23
- chemical_potential: float,
24
- hubbard_int_gr: float,
25
- delta: npt.NDArray[np.float64] | None = None,
26
+ parameters: GrapheneParameters,
26
27
  *args: tuple[Any, ...],
27
28
  **kwargs: tuple[dict[str, Any], ...],
28
29
  ) -> None:
29
30
  del args
30
31
  del kwargs
31
- self.hopping = _validate_float(hopping, "Hopping")
32
- if lattice_constant <= 0:
32
+ self._name = parameters.name
33
+ self.hopping = _validate_float(parameters.hopping, "Hopping")
34
+ if parameters.lattice_constant <= 0:
33
35
  msg = "Lattice constant must be positive"
34
36
  raise ValueError(msg)
35
- self.lattice_constant = _validate_float(lattice_constant, "Lattice constant")
36
- self.chemical_potential = _validate_float(chemical_potential, "Chemical potential")
37
- self.hubbard_int_gr = _validate_float(hubbard_int_gr, "hubbard_int interaction")
38
- self._hubbard_int_orbital_basis = np.array([self.hubbard_int_gr, self.hubbard_int_gr])
37
+ self._lattice = GrapheneLattice(
38
+ lattice_constant=np.float64(
39
+ _validate_float(parameters.lattice_constant, "Lattice constant")
40
+ )
41
+ )
42
+ self.lattice_constant = self._lattice.lattice_constant
43
+ self.chemical_potential = _validate_float(
44
+ parameters.chemical_potential, "Chemical potential"
45
+ )
46
+ self.hubbard_int = _validate_float(parameters.hubbard_int, "Hubbard interaction")
47
+ self._hubbard_int_orbital_basis = np.array([self.hubbard_int, self.hubbard_int])
39
48
  self._number_of_bands = 2
40
- if delta is None:
49
+ if parameters.delta is None:
41
50
  self._delta_orbital_basis = np.zeros(self.number_of_bands, dtype=np.complex64)
42
51
  else:
43
- if delta.shape != (self.number_of_bands,):
44
- msg = "Invalid input value for gaps."
45
- raise ValueError(msg)
46
- self._delta_orbital_basis = np.astype(delta, np.complex64)
52
+ self._delta_orbital_basis = np.astype(parameters.delta, np.complex64)
53
+
54
+ @property
55
+ def name(self) -> str: # noqa: D102
56
+ return self._name
57
+
58
+ @property
59
+ def lattice(self) -> GrapheneLattice: # noqa: D102
60
+ return self._lattice
47
61
 
48
62
  @property
49
63
  def number_of_bands(self) -> int: # noqa: D102
@@ -61,6 +75,14 @@ class GrapheneHamiltonian(BaseHamiltonian):
61
75
  def delta_orbital_basis(self, new_delta: npt.NDArray[np.complex64]) -> None:
62
76
  self._delta_orbital_basis = new_delta
63
77
 
78
+ @classmethod
79
+ def from_file(cls, filename: pathlib.Path) -> "BaseHamiltonian": # noqa: D102
80
+ with h5py.File(f"{filename}", "r") as f:
81
+ config_dict = dict(f.attrs.items())
82
+ config_dict["delta"] = f["delta"][()]
83
+ parameters = GrapheneParameters.model_validate(config_dict)
84
+ return cls(parameters=parameters)
85
+
64
86
  def hamiltonian(self, k: npt.NDArray[np.float64]) -> npt.NDArray[np.complex64]:
65
87
  """
66
88
  Return the normal state Hamiltonian in orbital basis.
@@ -78,7 +100,7 @@ class GrapheneHamiltonian(BaseHamiltonian):
78
100
  """
79
101
  assert _check_valid_array(k)
80
102
  hopping = self.hopping
81
- lattice_constant = self.lattice_constant
103
+ lattice_constant = self.lattice.lattice_constant
82
104
  chemical_potential = self.chemical_potential
83
105
  if k.ndim == 1:
84
106
  k = np.expand_dims(k, axis=0)
@@ -120,7 +142,7 @@ class GrapheneHamiltonian(BaseHamiltonian):
120
142
  assert direction in ["x", "y"]
121
143
 
122
144
  hopping = self.hopping
123
- lattice_constant = self.lattice_constant
145
+ lattice_constant = self.lattice.lattice_constant
124
146
  if k.ndim == 1:
125
147
  k = np.expand_dims(k, axis=0)
126
148
 
@@ -4,46 +4,58 @@
4
4
 
5
5
  """Provides the implementation for Graphene."""
6
6
 
7
+ import pathlib
7
8
  from typing import Any
8
9
 
10
+ import h5py
9
11
  import numpy as np
10
12
  import numpy.typing as npt
11
13
 
12
- from ._utils import _check_valid_array, _validate_float
14
+ from quant_met.geometry import SquareLattice
15
+ from quant_met.mean_field._utils import _check_valid_array, _validate_float
16
+ from quant_met.parameters import OneBandParameters
17
+
13
18
  from .base_hamiltonian import BaseHamiltonian
14
19
 
15
20
 
16
- class OneBandTightBindingHamiltonian(BaseHamiltonian):
21
+ class OneBand(BaseHamiltonian):
17
22
  """Hamiltonian for Graphene."""
18
23
 
19
24
  def __init__(
20
25
  self,
21
- hopping: float,
22
- lattice_constant: float,
23
- chemical_potential: float,
24
- hubbard_int: float,
25
- delta: npt.NDArray[np.float64] | None = None,
26
+ parameters: OneBandParameters,
26
27
  *args: tuple[Any, ...],
27
28
  **kwargs: tuple[dict[str, Any], ...],
28
29
  ) -> None:
29
30
  del args
30
31
  del kwargs
31
- self.hopping = _validate_float(hopping, "Hopping")
32
- if lattice_constant <= 0:
32
+ self._name = parameters.name
33
+ self.hopping = _validate_float(parameters.hopping, "Hopping")
34
+ if parameters.lattice_constant <= 0:
33
35
  msg = "Lattice constant must be positive"
34
36
  raise ValueError(msg)
35
- self.lattice_constant = _validate_float(lattice_constant, "Lattice constant")
36
- self.chemical_potential = _validate_float(chemical_potential, "Chemical potential")
37
- self.hubbard_int = _validate_float(hubbard_int, "hubbard_int interaction")
37
+ self._lattice = SquareLattice(
38
+ np.float64(_validate_float(parameters.lattice_constant, "Lattice constant"))
39
+ )
40
+ self.lattice_constant = self._lattice.lattice_constant
41
+ self.chemical_potential = _validate_float(
42
+ parameters.chemical_potential, "Chemical potential"
43
+ )
44
+ self.hubbard_int = _validate_float(parameters.hubbard_int, "Hubbard interaction")
38
45
  self._hubbard_int_orbital_basis = np.array([self.hubbard_int])
39
46
  self._number_of_bands = 1
40
- if delta is None:
47
+ if parameters.delta is None:
41
48
  self._delta_orbital_basis = np.zeros(self.number_of_bands, dtype=np.complex64)
42
49
  else:
43
- if delta.shape != (self.number_of_bands,):
44
- msg = "Invalid input value for gaps."
45
- raise ValueError(msg)
46
- self._delta_orbital_basis = np.astype(delta, np.complex64)
50
+ self._delta_orbital_basis = np.astype(parameters.delta, np.complex64)
51
+
52
+ @property
53
+ def name(self) -> str: # noqa: D102
54
+ return self._name
55
+
56
+ @property
57
+ def lattice(self) -> SquareLattice: # noqa: D102
58
+ return self._lattice
47
59
 
48
60
  @property
49
61
  def number_of_bands(self) -> int: # noqa: D102
@@ -61,6 +73,14 @@ class OneBandTightBindingHamiltonian(BaseHamiltonian):
61
73
  def delta_orbital_basis(self, new_delta: npt.NDArray[np.complex64]) -> None:
62
74
  self._delta_orbital_basis = new_delta
63
75
 
76
+ @classmethod
77
+ def from_file(cls, filename: pathlib.Path) -> "BaseHamiltonian": # noqa: D102
78
+ with h5py.File(f"{filename}", "r") as f:
79
+ config_dict = dict(f.attrs.items())
80
+ config_dict["delta"] = f["delta"][()]
81
+ parameters = OneBandParameters.model_validate(config_dict)
82
+ return cls(parameters=parameters)
83
+
64
84
  def hamiltonian(self, k: npt.NDArray[np.float64]) -> npt.NDArray[np.complex64]:
65
85
  """
66
86
  Return the normal state Hamiltonian in orbital basis.
@@ -78,7 +98,7 @@ class OneBandTightBindingHamiltonian(BaseHamiltonian):
78
98
  """
79
99
  assert _check_valid_array(k)
80
100
  hopping = self.hopping
81
- lattice_constant = self.lattice_constant
101
+ lattice_constant = self.lattice.lattice_constant
82
102
  chemical_potential = self.chemical_potential
83
103
  if k.ndim == 1:
84
104
  k = np.expand_dims(k, axis=0)
@@ -115,7 +135,7 @@ class OneBandTightBindingHamiltonian(BaseHamiltonian):
115
135
  assert direction in ["x", "y"]
116
136
 
117
137
  hopping = self.hopping
118
- lattice_constant = self.lattice_constant
138
+ lattice_constant = self.lattice.lattice_constant
119
139
  if k.ndim == 1:
120
140
  k = np.expand_dims(k, axis=0)
121
141
 
@@ -7,22 +7,21 @@
7
7
  import numpy as np
8
8
  import numpy.typing as npt
9
9
 
10
- from .base_hamiltonian import BaseHamiltonian
10
+ from quant_met.mean_field.hamiltonians.base_hamiltonian import BaseHamiltonian
11
11
 
12
12
 
13
13
  def quantum_metric(
14
- h: BaseHamiltonian, k_grid: npt.NDArray[np.float64], band: int
14
+ h: BaseHamiltonian, k_grid: npt.NDArray[np.float64], bands: list[int]
15
15
  ) -> npt.NDArray[np.float64]:
16
16
  """Calculate the quantum metric in the normal state.
17
17
 
18
18
  Parameters
19
19
  ----------
20
+ bands
20
21
  h : :class:`~quant_met.BaseHamiltonian`
21
22
  Hamiltonian object.
22
23
  k_grid : :class:`numpy.ndarray`
23
24
  List of k points.
24
- band : int
25
- Index of band for which the quantum metric is calculated.
26
25
 
27
26
  Returns
28
27
  -------
@@ -36,25 +35,26 @@ def quantum_metric(
36
35
 
37
36
  quantum_geom_tensor = np.zeros(shape=(2, 2), dtype=np.complex64)
38
37
 
39
- for i, direction_1 in enumerate(["x", "y"]):
40
- h_derivative_direction_1 = h.hamiltonian_derivative(k=k_grid, direction=direction_1)
41
- for j, direction_2 in enumerate(["x", "y"]):
42
- h_derivative_direction_2 = h.hamiltonian_derivative(k=k_grid, direction=direction_2)
43
- for k_index in range(len(k_grid)):
44
- for n in [i for i in range(h.number_of_bands) if i != band]:
45
- quantum_geom_tensor[i, j] += (
46
- (
47
- bloch[k_index][:, band].conjugate()
48
- @ h_derivative_direction_1[k_index]
49
- @ bloch[k_index][:, n]
50
- )
51
- * (
52
- bloch[k_index][:, n].conjugate()
53
- @ h_derivative_direction_2[k_index]
54
- @ bloch[k_index][:, band]
38
+ for band in bands:
39
+ for i, direction_1 in enumerate(["x", "y"]):
40
+ h_derivative_direction_1 = h.hamiltonian_derivative(k=k_grid, direction=direction_1)
41
+ for j, direction_2 in enumerate(["x", "y"]):
42
+ h_derivative_direction_2 = h.hamiltonian_derivative(k=k_grid, direction=direction_2)
43
+ for k_index in range(len(k_grid)):
44
+ for n in [i for i in range(h.number_of_bands) if i != band]:
45
+ quantum_geom_tensor[i, j] += (
46
+ (
47
+ bloch[k_index][:, band].conjugate()
48
+ @ h_derivative_direction_1[k_index]
49
+ @ bloch[k_index][:, n]
50
+ )
51
+ * (
52
+ bloch[k_index][:, n].conjugate()
53
+ @ h_derivative_direction_2[k_index]
54
+ @ bloch[k_index][:, band]
55
+ )
56
+ / (energies[k_index][band] - energies[k_index][n]) ** 2
55
57
  )
56
- / (energies[k_index][band] - energies[k_index][n]) ** 2
57
- )
58
58
 
59
59
  return np.real(quantum_geom_tensor) / number_k_points
60
60
 
@@ -66,12 +66,11 @@ def quantum_metric_bdg(
66
66
 
67
67
  Parameters
68
68
  ----------
69
+ bands
69
70
  h : :class:`~quant_met.BaseHamiltonian`
70
71
  Hamiltonian object.
71
72
  k_grid : :class:`numpy.ndarray`
72
73
  List of k points.
73
- band : int
74
- Index of band for which the quantum metric is calculated.
75
74
 
76
75
  Returns
77
76
  -------
@@ -91,7 +90,7 @@ def quantum_metric_bdg(
91
90
  for j, direction_2 in enumerate(["x", "y"]):
92
91
  h_derivative_dir_2 = h.bdg_hamiltonian_derivative(k=k_grid, direction=direction_2)
93
92
  for k_index in range(len(k_grid)):
94
- for n in [i for i in range(h.number_of_bands) if i != band]:
93
+ for n in [i for i in range(2 * h.number_of_bands) if i != band]:
95
94
  quantum_geom_tensor[i, j] += (
96
95
  (
97
96
  bdg_functions[k_index][:, band].conjugate()
@@ -5,41 +5,45 @@
5
5
  """Self-consistency loop."""
6
6
 
7
7
  import numpy as np
8
+ import numpy.typing as npt
8
9
 
9
- from quant_met import geometry
10
-
11
- from .base_hamiltonian import BaseHamiltonian
10
+ from quant_met.mean_field.hamiltonians.base_hamiltonian import BaseHamiltonian
12
11
 
13
12
 
14
13
  def self_consistency_loop(
15
- h: BaseHamiltonian, beta: np.float64, number_of_k_points: int, epsilon: float
14
+ h: BaseHamiltonian,
15
+ k_space_grid: npt.NDArray[np.float64],
16
+ beta: np.float64,
17
+ epsilon: float,
18
+ q: npt.NDArray[np.float64] | None = None,
16
19
  ) -> BaseHamiltonian:
17
20
  """Self-consistency loop.
18
21
 
19
22
  Parameters
20
23
  ----------
24
+ lattice
25
+ q
21
26
  beta
22
27
  number_of_k_points
23
28
  h
24
29
  epsilon
25
30
  """
26
- lattice = geometry.Graphene(lattice_constant=np.sqrt(3))
27
- k_space_grid = lattice.generate_bz_grid(ncols=number_of_k_points, nrows=number_of_k_points)
31
+ if q is None:
32
+ q = np.array([0, 0])
33
+
28
34
  rng = np.random.default_rng()
29
- delta_init = np.zeros(shape=h.delta_orbital_basis.shape, dtype=np.float64)
30
- rng.random(size=h.delta_orbital_basis.shape, out=delta_init)
31
- h.delta_orbital_basis = delta_init.astype(np.float64)
35
+ delta_init = np.zeros(shape=h.delta_orbital_basis.shape, dtype=np.complex64)
36
+ delta_init += (
37
+ 2 * rng.random(size=h.delta_orbital_basis.shape)
38
+ - 1
39
+ + 1.0j * (2 * rng.random(size=h.delta_orbital_basis.shape) - 1)
40
+ )
41
+ h.delta_orbital_basis = delta_init
32
42
 
33
43
  while True:
34
- new_gap = h.gap_equation(k=k_space_grid, beta=beta)
35
- if (np.abs(h.delta_orbital_basis - np.abs(new_gap)) < epsilon).all():
44
+ new_gap = h.gap_equation(k=k_space_grid, q=q, beta=beta)
45
+ if (np.abs(h.delta_orbital_basis - new_gap) < epsilon).all():
36
46
  h.delta_orbital_basis = new_gap
37
- print("Finished")
38
47
  return h
39
- """
40
- print(f"Old: {h.delta_orbital_basis}")
41
- print(f"New: {new_gap}")
42
- print(f"Difference {np.abs(h.delta_orbital_basis) - np.abs(new_gap)}")
43
- """
44
- mixing_greed = 0.2
48
+ mixing_greed = 0.1
45
49
  h.delta_orbital_basis = mixing_greed * new_gap + (1 - mixing_greed) * h.delta_orbital_basis
@@ -7,7 +7,7 @@
7
7
  import numpy as np
8
8
  import numpy.typing as npt
9
9
 
10
- from .base_hamiltonian import BaseHamiltonian
10
+ from quant_met.mean_field.hamiltonians.base_hamiltonian import BaseHamiltonian
11
11
 
12
12
 
13
13
  def superfluid_weight(
@@ -0,0 +1,21 @@
1
+ # SPDX-FileCopyrightText: 2024 Tjark Sievers
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ """
6
+ Parameters (:mod:`quant_met.parameters`)
7
+ ========================================
8
+
9
+ .. autosummary::
10
+ :toctree: generated/parameters/
11
+
12
+ DressedGrapheneParameters
13
+ GrapheneParameters
14
+ OneBandParameters
15
+ Parameters
16
+ """ # noqa: D205, D400
17
+
18
+ from .hamiltonians import DressedGrapheneParameters, GrapheneParameters, OneBandParameters
19
+ from .main import Parameters
20
+
21
+ __all__ = ["Parameters", "DressedGrapheneParameters", "GrapheneParameters", "OneBandParameters"]
@@ -0,0 +1,47 @@
1
+ # SPDX-FileCopyrightText: 2024 Tjark Sievers
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ """Pydantic models to hold parameters for Hamiltonians."""
6
+
7
+ from typing import Literal
8
+
9
+ import numpy as np
10
+ from numpydantic import NDArray, Shape
11
+ from pydantic import BaseModel
12
+
13
+
14
+ class DressedGrapheneParameters(BaseModel):
15
+ """Parameters for the dressed Graphene model."""
16
+
17
+ name: Literal["DressedGraphene"] = "DressedGraphene"
18
+ hopping_gr: float
19
+ hopping_x: float
20
+ hopping_x_gr_a: float
21
+ lattice_constant: float
22
+ chemical_potential: float
23
+ hubbard_int_gr: float
24
+ hubbard_int_x: float
25
+ delta: NDArray[Shape["3"], np.complex64] | None = None
26
+
27
+
28
+ class GrapheneParameters(BaseModel):
29
+ """Parameters for Graphene model."""
30
+
31
+ name: Literal["Graphene"] = "Graphene"
32
+ hopping: float
33
+ lattice_constant: float
34
+ chemical_potential: float
35
+ hubbard_int: float
36
+ delta: NDArray[Shape["2"], np.complex64] | None = None
37
+
38
+
39
+ class OneBandParameters(BaseModel):
40
+ """Parameters for Graphene model."""
41
+
42
+ name: Literal["OneBand"] = "OneBand"
43
+ hopping: float
44
+ lattice_constant: float
45
+ chemical_potential: float
46
+ hubbard_int: float
47
+ delta: NDArray[Shape["1"], np.complex64] | None = None
@@ -0,0 +1,40 @@
1
+ # SPDX-FileCopyrightText: 2024 Tjark Sievers
2
+ #
3
+ # SPDX-License-Identifier: MIT
4
+
5
+ """Pydantic models to hold parameters to run a simulation."""
6
+
7
+ import pathlib
8
+
9
+ from numpydantic import NDArray, Shape
10
+ from pydantic import BaseModel, Field
11
+
12
+ from .hamiltonians import DressedGrapheneParameters, GrapheneParameters, OneBandParameters
13
+
14
+
15
+ class Control(BaseModel):
16
+ """Control for the calculation."""
17
+
18
+ calculation: str
19
+ prefix: str
20
+ outdir: pathlib.Path
21
+ conv_treshold: float
22
+ beta: float
23
+ q: NDArray[Shape["2"], int | float] | None = None
24
+
25
+
26
+ class KPoints(BaseModel):
27
+ """Control for k points."""
28
+
29
+ nk1: int
30
+ nk2: int
31
+
32
+
33
+ class Parameters(BaseModel):
34
+ """Class to hold the parameters for a calculation."""
35
+
36
+ control: Control
37
+ model: DressedGrapheneParameters | GrapheneParameters | OneBandParameters = Field(
38
+ ..., discriminator="name"
39
+ )
40
+ k_points: KPoints
quant_met/utils.py CHANGED
@@ -14,7 +14,7 @@ Functions
14
14
  .. autosummary::
15
15
  :toctree: generated/
16
16
 
17
- generate_uniform_grid - Generate a uniform grid of points in 2D.
17
+ generate_uniform_grid
18
18
  """ # noqa: D205, D400
19
19
 
20
20
  import numpy as np
@@ -1,19 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quant-met
3
- Version: 0.0.6
3
+ Version: 0.0.8
4
4
  Summary: Calculate superconductivity in flat-band systems.
5
5
  Home-page: https://quant-met.tjarksievers.de
6
6
  Author: Tjark Sievers
7
7
  Author-email: tsievers@physnet.uni-hamburg.de
8
- Requires-Python: >=3.11,<4.0
8
+ Requires-Python: >=3.11,<3.13
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: h5py (>=3.11.0,<4.0.0)
12
+ Requires-Dist: click (>=8.1.7,<9.0.0)
13
+ Requires-Dist: h5py (>=3.12.1,<4.0.0)
13
14
  Requires-Dist: matplotlib (>=3.9.2,<4.0.0)
14
- Requires-Dist: numpy (>=2.0.0,<3.0.0)
15
- Requires-Dist: pandas (>=2.2.2,<3.0.0)
16
- Requires-Dist: scipy (>=1.14.0,<2.0.0)
15
+ Requires-Dist: numpy (>=2.1.2,<3.0.0)
16
+ Requires-Dist: numpydantic (>=1.6.4,<2.0.0)
17
+ Requires-Dist: pandas (>=2.2.3,<3.0.0)
18
+ Requires-Dist: pydantic (>=2.9.2,<3.0.0)
19
+ Requires-Dist: scipy (>=1.14.1,<2.0.0)
17
20
  Project-URL: Repository, https://github.com/Ruberhauptmann/quant-met
18
21
  Description-Content-Type: text/markdown
19
22
 
@@ -0,0 +1,31 @@
1
+ quant_met/__init__.py,sha256=ZO1UFz1awUYTI7B9ZkBwucvDz7GMGXnLLUGnEwLBhkc,155
2
+ quant_met/cli/__init__.py,sha256=If5Jdi7mG-5PbIyjQGxnt9o2bsY5VyE3qtdcO5yTGnQ,321
3
+ quant_met/cli/main.py,sha256=EZTRRTfrN3z-srgbG2BoDg64iYBjzZLuuMtrxTdZU8s,698
4
+ quant_met/cli/scf.py,sha256=x9qxjQizXAKH7217dBuHTlA26eGenzcC2LDpN1q7030,1435
5
+ quant_met/geometry/__init__.py,sha256=uCLEDBrYuMUkEgJmPnLAvR2WlmvoM9X9_cV_Q2zMzoA,620
6
+ quant_met/geometry/base_lattice.py,sha256=QVHuZVy6bOvBSITY_mKhr7hYW1jHJ5UAm3sMCFClYZ0,2276
7
+ quant_met/geometry/bz_path.py,sha256=q_eNhKYjhKLeFNjio8BdKVsseO6slQKlwKKSQQYTVJQ,2497
8
+ quant_met/geometry/graphene.py,sha256=86C1LiYFunoSGSS1_A79dPq24FiiOxpHvOLUVrdRq_E,1271
9
+ quant_met/geometry/square.py,sha256=1fSrHab07uB6ildNzlbTwINJvPa5C2Az0B0uuOVJmMc,1216
10
+ quant_met/mean_field/__init__.py,sha256=yH_UovKDaP5c06cb1uWPtvIO2WQ76pi6ZTsNBzE8oso,793
11
+ quant_met/mean_field/_utils.py,sha256=plkx6eYjyYV3CT3BWwlulqW7L-Q0t1TzZTLR4k7u0dg,666
12
+ quant_met/mean_field/hamiltonians/__init__.py,sha256=FcqhV5fG_gzngVuiVfBucripdbNTzOxPRafu7sZ4ueA,644
13
+ quant_met/mean_field/hamiltonians/base_hamiltonian.py,sha256=fL1dl1ZX3I_4gzARiQl5o2eCTIr-udRA23qZo4VWq0k,13622
14
+ quant_met/mean_field/hamiltonians/dressed_graphene.py,sha256=zzHRVmp8749I2ll5N-wjks8l5dJLdtmhWR7smR7ezM0,6542
15
+ quant_met/mean_field/hamiltonians/graphene.py,sha256=Zg_S9xTMYi_7v_6PBK7NUdiwgmyqyCPElUfezuiozm0,5611
16
+ quant_met/mean_field/hamiltonians/one_band_tight_binding.py,sha256=kBYqthKUPby754PhOwf0mzHLTHNVbdKZbtJhvp2yc3E,4766
17
+ quant_met/mean_field/quantum_metric.py,sha256=5FC3NU_ObbHlUUZMCAP1DyZuyifgnEr3s2cSH6cA8-8,3903
18
+ quant_met/mean_field/self_consistency.py,sha256=xkZIWkOopekhDufJnSGK6ARsro6XaIuVhhrnJmb6sk8,1291
19
+ quant_met/mean_field/superfluid_weight.py,sha256=m_x2uVYcEVdbItwEV3-Ml80Qad7X-YWLgb38fJKLJsY,4004
20
+ quant_met/parameters/__init__.py,sha256=DvzEtTAnHcRcJufZV7bwYGZUeA-0Q2B8N9syGA9uNRM,552
21
+ quant_met/parameters/hamiltonians.py,sha256=Q5uGTzxM8kIdUnRuIpEJNPmSHF27Zj7LBV3kgKd5dP4,1213
22
+ quant_met/parameters/main.py,sha256=yrDME_KfDZ_9xf3ofTt7V8kw_8qbgD9EfVlxLcymcNE,899
23
+ quant_met/plotting/__init__.py,sha256=s-DS22impzozKiS7p-v3yCmeccDQfXmBbtPiYMKwH0Y,620
24
+ quant_met/plotting/plotting.py,sha256=_SqL8GrDqlBtccHnUWpZPqdSJy0Yd_4dhFdUOxOzPpY,7447
25
+ quant_met/utils.py,sha256=JG_tShSL1JIi-Fn-N6mVD6J0sl7Egf-zuHnOSEKu7VA,1666
26
+ quant_met-0.0.8.dist-info/LICENSE.txt,sha256=QO_duPQihSJlaxSLxPAXo52X3esROP5wBkhxqBd1Z4E,1104
27
+ quant_met-0.0.8.dist-info/LICENSES/MIT.txt,sha256=QO_duPQihSJlaxSLxPAXo52X3esROP5wBkhxqBd1Z4E,1104
28
+ quant_met-0.0.8.dist-info/METADATA,sha256=vh99nVcyAhUECV32kkXxfDjne2LvBufs6ekW60m8pYs,2953
29
+ quant_met-0.0.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
30
+ quant_met-0.0.8.dist-info/entry_points.txt,sha256=fuVnEk5wiqPMEhn-Cc7q0Hdk2s_OniOn0zfdFPicH4Y,47
31
+ quant_met-0.0.8.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 1.9.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ quant-met=quant_met.cli:cli
3
+