From 7c8dd674ffc35846b15214158232184c8245e799 Mon Sep 17 00:00:00 2001 From: matulni Date: Tue, 7 Jul 2026 14:01:10 +0200 Subject: [PATCH 1/6] Rename accesors --- .gitignore | 4 ++++ graphix_stim_backend/graphix_stim_backend.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c18dd8d..a3fb408 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ __pycache__/ +*.DS_Store +.venv +*.egg-info/ +*/_version.py \ No newline at end of file diff --git a/graphix_stim_backend/graphix_stim_backend.py b/graphix_stim_backend/graphix_stim_backend.py index 3db33dd..dd90432 100644 --- a/graphix_stim_backend/graphix_stim_backend.py +++ b/graphix_stim_backend/graphix_stim_backend.py @@ -191,7 +191,7 @@ def get_renumbered_graph(pattern: Pattern) -> RenumberedGraph: :param pattern: pattern :return: the renumbering and the graph """ - graph = pattern.extract_graph() + graph = pattern.graph() nodes = list(graph.nodes()) renumbering = {node: i for i, node in enumerate(graph.nodes())} renumbered_edges = [(renumbering[u], renumbering[v]) for (u, v) in graph.edges()] From f1257110357f65a4c514ee232e4f14db420725d8 Mon Sep 17 00:00:00 2001 From: matulni Date: Tue, 7 Jul 2026 14:11:49 +0200 Subject: [PATCH 2/6] Up requirements --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 54dbb11..4bda29d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -graphix @ git+https://github.com/TeamGraphix/graphix.git +graphix @ git+https://github.com/matulni/graphix.git@rename_methods stim>=1.15,<2 From a85ca3e978368b3cf78a258047ffd7514a2b7f37 Mon Sep 17 00:00:00 2001 From: matulni Date: Mon, 13 Jul 2026 13:39:09 +0200 Subject: [PATCH 3/6] Add missing renaming suggested by Thierry --- graphix_stim_backend/single_pauli_noise_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphix_stim_backend/single_pauli_noise_model.py b/graphix_stim_backend/single_pauli_noise_model.py index 47bdcc2..75cb7b5 100644 --- a/graphix_stim_backend/single_pauli_noise_model.py +++ b/graphix_stim_backend/single_pauli_noise_model.py @@ -36,7 +36,7 @@ def nqubits(self) -> int: return 1 @override - def to_kraus_channel(self) -> KrausChannel: + def to_krauschannel(self) -> KrausChannel: if self.error_type == "Z": return KrausChannel([KrausData(self.prob, Ops.Z)]) From 0fa3939fb1195093b3a943d7ffa118152ec08729 Mon Sep 17 00:00:00 2001 From: matulni Date: Mon, 13 Jul 2026 14:03:45 +0200 Subject: [PATCH 4/6] Renaming --- graphix_stim_backend/graphix_stim_backend.py | 10 +++++----- tests/test_graphix_stim_backend.py | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/graphix_stim_backend/graphix_stim_backend.py b/graphix_stim_backend/graphix_stim_backend.py index dd90432..910b4f4 100644 --- a/graphix_stim_backend/graphix_stim_backend.py +++ b/graphix_stim_backend/graphix_stim_backend.py @@ -18,7 +18,7 @@ from graphix.noise_models.depolarising import DepolarisingNoise, TwoQubitDepolarisingNoise from graphix.optimization import StandardizedPattern from graphix.sim.base_backend import Backend, Matrix -from graphix.sim.statevec import Statevec +from graphix.sim.statevec import Statevector from graphix.simulator import DefaultMeasureMethod from graphix.states import BasicStates, PlanarState, State from typing_extensions import assert_never, override @@ -53,14 +53,14 @@ class BasicState(Enum): @staticmethod def try_from_statevector(sv: Matrix) -> BasicState | None: """Return the BasicState corresponding to the parameter, or not if it is not a basic state.""" - return next((bs for bs in BasicState if np.all(bs.value.to_statevector() == sv)), None) + return next((bs for bs in BasicState if np.all(bs.value.to_statevector_numpy() == sv)), None) @staticmethod def try_from_state(s: State) -> BasicState | None: """Return the BasicState corresponding to the parameter, or not if it is not a basic state.""" if isinstance(s, PlanarState): return next((bs for bs in BasicState if bs.value == s), None) - return BasicState.try_from_statevector(s.to_statevector()) + return BasicState.try_from_statevector(s.to_statevector_numpy()) BASIC_STATE_TO_CLIFFORD = { @@ -250,7 +250,7 @@ class _AbstractStimBackend(Backend[stim.TableauSimulator]): @override def add_nodes(self, nodes: Sequence[int], data: Data = BasicStates.PLUS) -> None: - state = BasicState.try_from_statevector(Statevec(data).psi) + state = BasicState.try_from_statevector(Statevector(data).psi) if state is None: msg = f"Incorrect state value: stim can only prepare stabiliser states {data}." @@ -372,7 +372,7 @@ def get_target(node: int) -> stim.GateTarget: if cmd.kind == CommandKind.N: basic_state_or_none = None if fixed_states is None else fixed_states.get(cmd.node) if basic_state_or_none is None: - basic_state_or_none = BasicState.try_from_statevector(Statevec(cmd.state).psi) + basic_state_or_none = BasicState.try_from_statevector(Statevector(cmd.state).psi) if basic_state_or_none is None: msg = f"Non-Pauli preparation: {cmd}" raise ValueError(msg) diff --git a/tests/test_graphix_stim_backend.py b/tests/test_graphix_stim_backend.py index b980e12..4e7c796 100644 --- a/tests/test_graphix_stim_backend.py +++ b/tests/test_graphix_stim_backend.py @@ -17,7 +17,7 @@ from graphix.random_objects import rand_circuit from graphix.sim.base_backend import DenseState, Matrix, outer from graphix.sim.density_matrix import DensityMatrix -from graphix.sim.statevec import Statevec +from graphix.sim.statevec import Statevector from graphix.simulator import DefaultMeasureMethod from graphix.states import BasicStates from numpy.random import PCG64, Generator @@ -41,17 +41,17 @@ def fidelity(u: Matrix, v: Matrix) -> float: def compare_backend_results(state1: DenseState, state2: DenseState) -> float: """Compute fidelity between two backend states.""" - if isinstance(state1, Statevec) and isinstance(state2, Statevec): + if isinstance(state1, Statevector) and isinstance(state2, Statevector): return fidelity(state1.flatten(), state2.flatten()) if isinstance(state1, DensityMatrix): dm1 = state1 - elif isinstance(state1, Statevec): + elif isinstance(state1, Statevector): dm1 = DensityMatrix(state1) else: raise NotImplementedError if isinstance(state2, DensityMatrix): dm2 = state2 - elif isinstance(state2, Statevec): + elif isinstance(state2, Statevector): dm2 = DensityMatrix(state2) else: raise NotImplementedError @@ -147,7 +147,7 @@ def simulate_with_noise_model_to_density_matrix(pattern: Pattern, noise_model: N pattern.simulate_pattern(backend=backend, noise_model=noise_model) second_pattern = backend.to_pattern([], pattern.output_nodes) state = second_pattern.simulate_pattern() - assert isinstance(state, Statevec) + assert isinstance(state, Statevector) return outer(state.psi, state.psi.conj()) From 98592cc4896a6bf138efa88ef942e2c169f6a5b6 Mon Sep 17 00:00:00 2001 From: matulni Date: Tue, 21 Jul 2026 09:52:57 +0200 Subject: [PATCH 5/6] Replace Pattern.graph by Pattern.to_opengraph().graph --- graphix_stim_backend/graphix_stim_backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphix_stim_backend/graphix_stim_backend.py b/graphix_stim_backend/graphix_stim_backend.py index 910b4f4..66b8a54 100644 --- a/graphix_stim_backend/graphix_stim_backend.py +++ b/graphix_stim_backend/graphix_stim_backend.py @@ -191,7 +191,7 @@ def get_renumbered_graph(pattern: Pattern) -> RenumberedGraph: :param pattern: pattern :return: the renumbering and the graph """ - graph = pattern.graph() + graph = pattern.to_opengraph().graph nodes = list(graph.nodes()) renumbering = {node: i for i, node in enumerate(graph.nodes())} renumbered_edges = [(renumbering[u], renumbering[v]) for (u, v) in graph.edges()] From 7c4e48cd173a678192ce680d9ba2c4c796b2e049 Mon Sep 17 00:00:00 2001 From: matulni Date: Wed, 22 Jul 2026 17:25:25 +0200 Subject: [PATCH 6/6] Point deps to Graphix master --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4bda29d..4ca3ac9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -graphix @ git+https://github.com/matulni/graphix.git@rename_methods +graphix @ git+https://github.com/TeamGraphix/graphix.git@master stim>=1.15,<2