Skip to content

Commit 3c694c7

Browse files
authored
Update numpy_backend.py
1 parent d1c61a7 commit 3c694c7

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

backends/numpy_backend.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# quantum_sim/backends/numpy_backend.py
2-
31
import numpy as np
42
from typing import Dict, List, Optional, Any
53

64
from quantum_sim.backends.backend import QuantumBackend
7-
# Note: Ensure GateOperation is defined/exported in quantum_sim.core.circuit
85
from quantum_sim.core.circuit import QuantumCircuit, GateOperation
96
from quantum_sim.core.noise import NoiseChannel, ThermalRelaxationChannel
107

@@ -56,7 +53,7 @@ def run_circuit(self, circuit: QuantumCircuit) -> np.ndarray:
5653
qubit_last_op_time: Dict[int, float] = {q_id: 0.0 for q_id in range(circuit.num_qubits)}
5754
current_rho_tensor = self._create_initial_density_matrix(circuit.num_qubits)
5855
qubit_map = {q_id: q_id for q_id in range(circuit.num_qubits)}
59-
56+
6057
for component in getattr(circuit, "_components", []):
6158
gate_duration = 0.0
6259
if isinstance(component, GateOperation):
@@ -81,7 +78,8 @@ def run_circuit(self, circuit: QuantumCircuit) -> np.ndarray:
8178
current_rho_tensor = component.apply_to_density_matrix(current_rho_tensor, circuit.num_qubits, qubit_map)
8279

8380
# --- Apply PER-GATE Noise ---
84-
affected_qubits = [qubit_map[local_id] for local_id in component.get_involved_qubit_local_ids()]
81+
local_ids = component.get_involved_qubit_local_ids()
82+
affected_qubits = [qubit_map[local_id] for local_id in local_ids]
8583
for q_global_id in affected_qubits:
8684
if q_global_id in self.per_qubit_noise_channels:
8785
for noise_channel in self.per_qubit_noise_channels[q_global_id]:

0 commit comments

Comments
 (0)