From 6aae7893e1745577963760b4f01c539539a13388 Mon Sep 17 00:00:00 2001 From: rosspeili Date: Tue, 16 Jun 2026 08:55:37 +0300 Subject: [PATCH 1/3] Fix mypy errors in batch 2 part 3 (#1282) plane_wave_hamiltonian: annotate spins as list[Optional[int]]. physical_costing: MagicStateFactory rounds and failure_rate are floats at runtime. --- src/openfermion/hamiltonians/plane_wave_hamiltonian.py | 1 + .../surface_code_compilation/physical_costing.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/openfermion/hamiltonians/plane_wave_hamiltonian.py b/src/openfermion/hamiltonians/plane_wave_hamiltonian.py index 652f1b333..4feb2a71b 100644 --- a/src/openfermion/hamiltonians/plane_wave_hamiltonian.py +++ b/src/openfermion/hamiltonians/plane_wave_hamiltonian.py @@ -56,6 +56,7 @@ def dual_basis_external_potential( if non_periodic and period_cutoff is None: period_cutoff = grid.volume_scale() ** (1.0 / grid.dimensions) operator = None + spins: list[Optional[int]] if spinless: spins = [None] else: diff --git a/src/openfermion/resource_estimates/surface_code_compilation/physical_costing.py b/src/openfermion/resource_estimates/surface_code_compilation/physical_costing.py index 297429b55..cf0b4561e 100644 --- a/src/openfermion/resource_estimates/surface_code_compilation/physical_costing.py +++ b/src/openfermion/resource_estimates/surface_code_compilation/physical_costing.py @@ -9,8 +9,8 @@ class MagicStateFactory: details: str physical_qubit_footprint: int - rounds: int - failure_rate: int + rounds: float + failure_rate: float @dataclasses.dataclass(frozen=True, unsafe_hash=True) From 4c3108b37f99476c14f77e0c49e7009dcb536c1c Mon Sep 17 00:00:00 2001 From: rosspeili Date: Tue, 16 Jun 2026 09:02:32 +0300 Subject: [PATCH 2/3] Use List from typing for spins annotation per review --- src/openfermion/hamiltonians/plane_wave_hamiltonian.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openfermion/hamiltonians/plane_wave_hamiltonian.py b/src/openfermion/hamiltonians/plane_wave_hamiltonian.py index 4feb2a71b..40b592c8d 100644 --- a/src/openfermion/hamiltonians/plane_wave_hamiltonian.py +++ b/src/openfermion/hamiltonians/plane_wave_hamiltonian.py @@ -56,7 +56,7 @@ def dual_basis_external_potential( if non_periodic and period_cutoff is None: period_cutoff = grid.volume_scale() ** (1.0 / grid.dimensions) operator = None - spins: list[Optional[int]] + spins: List[Optional[int]] if spinless: spins = [None] else: From 7279804920a23fa87fda424d3ac7a3d4a24f2b4f Mon Sep 17 00:00:00 2001 From: rosspeili Date: Wed, 17 Jun 2026 09:55:38 +0300 Subject: [PATCH 3/3] Use builtin list annotations in plane_wave_hamiltonian Per review: use list[...] instead of typing.List (3.10+). --- .../hamiltonians/plane_wave_hamiltonian.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/openfermion/hamiltonians/plane_wave_hamiltonian.py b/src/openfermion/hamiltonians/plane_wave_hamiltonian.py index 40b592c8d..c5ffcdfbe 100644 --- a/src/openfermion/hamiltonians/plane_wave_hamiltonian.py +++ b/src/openfermion/hamiltonians/plane_wave_hamiltonian.py @@ -11,7 +11,7 @@ # limitations under the License. """Construct Hamiltonians in plan wave basis and its dual in 3D.""" -from typing import List, Tuple, Optional, Union +from typing import Tuple, Optional, Union import numpy as np @@ -26,7 +26,7 @@ def dual_basis_external_potential( grid: Grid, - geometry: List[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]], + geometry: list[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]], spinless: bool, non_periodic: bool = False, period_cutoff: Optional[float] = None, @@ -56,7 +56,7 @@ def dual_basis_external_potential( if non_periodic and period_cutoff is None: period_cutoff = grid.volume_scale() ** (1.0 / grid.dimensions) operator = None - spins: List[Optional[int]] + spins: list[Optional[int]] if spinless: spins = [None] else: @@ -116,7 +116,7 @@ def filter_plane_wave_operator( def plane_wave_external_potential( grid: Grid, - geometry: List[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]], + geometry: list[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]], spinless: bool, e_cutoff: Optional[float] = None, non_periodic: bool = False, @@ -158,7 +158,7 @@ def plane_wave_external_potential( def plane_wave_hamiltonian( grid: Grid, geometry: Optional[ - List[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]] + list[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]] ] = None, spinless: bool = False, plane_wave: bool = True, @@ -217,7 +217,7 @@ def plane_wave_hamiltonian( def jordan_wigner_dual_basis_hamiltonian( grid: Grid, geometry: Optional[ - List[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]] + list[Tuple[str, Tuple[Union[int, float], Union[int, float], Union[int, float]]]] ] = None, spinless: bool = False, include_constant: bool = False,