Skip to content

Commit c9cf55b

Browse files
Stephanie Wehnerclaude
andcommitted
Switch default backend to qutip, remove projectq dependency from CI
Examples use stabilizer explicitly for speed; global default is now qutip so students can use non-Clifford gates without confusion. Also fixes numpy deprecation warning in qutip_simulator.py. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent feeb218 commit c9cf55b

11 files changed

Lines changed: 12 additions & 12 deletions

File tree

examples/new-sdk/corrRNG/simulaqron_settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"recv_retry_time": 0.1,
88
"recv_max_retries": 10,
99
"log_level": 30,
10-
"sim_backend": "projectq",
10+
"sim_backend": "stabilizer",
1111
"noisy_qubits": false,
1212
"max_app_waiting_time": -1.0,
1313
"t1": 1.0

examples/new-sdk/extendGHZ/simulaqron_settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"recv_retry_time": 0.1,
88
"recv_max_retries": 10,
99
"log_level": 30,
10-
"sim_backend": "projectq",
10+
"sim_backend": "stabilizer",
1111
"noisy_qubits": false,
1212
"max_app_waiting_time": -1.0,
1313
"t1": 1.0

examples/new-sdk/teleport/simulaqron_settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"recv_retry_time": 0.1,
88
"recv_max_retries": 10,
99
"log_level": 30,
10-
"sim_backend": "projectq",
10+
"sim_backend": "stabilizer",
1111
"noisy_qubits": false,
1212
"max_app_waiting_time": -1.0,
1313
"t1": 1.0

examples/new-sdk/template-client-server/simulaqron_settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"recv_retry_time": 0.1,
88
"recv_max_retries": 10,
99
"log_level": 30,
10-
"sim_backend": "projectq",
10+
"sim_backend": "stabilizer",
1111
"noisy_qubits": false,
1212
"max_app_waiting_time": -1.0,
1313
"t1": 1.0

examples/new-sdk/template-quantum-local/simulaqron_settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"recv_retry_time": 0.1,
88
"recv_max_retries": 10,
99
"log_level": 30,
10-
"sim_backend": "projectq",
10+
"sim_backend": "stabilizer",
1111
"noisy_qubits": false,
1212
"max_app_waiting_time": -1.0,
1313
"t1": 1.0

simulaqron/run/run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def run_applications(
117117
network_cfg: Union[str, PathLike, Path] = None, # WARNING - The type of this argument *cannot* be harmonized
118118
nv_cfg: Any = None, # Unused; it's here for harmonization with squidasm "simulate_application"
119119
log_cfg: LogConfig = None,
120-
formalism: Formalism = Formalism.KET,
120+
formalism: Formalism = Formalism.DM,
121121
use_app_config: bool = True,
122122
post_function: Optional[Callable] = None,
123123
enable_logging: bool = True,

simulaqron/settings/simulaqron_config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class SimulaqronConfig(JSONSerializerMixin):
7676
recv_retry_time: float = 0.1
7777
recv_max_retries: int = 10
7878
log_level: int = logging.WARNING
79-
sim_backend: SimBackend = SimBackend.STABILIZER
79+
sim_backend: SimBackend = SimBackend.QUTIP
8080
noisy_qubits: bool = False
8181
max_app_waiting_time: float = -1.0 # In seconds, negative means unlimited waiting
8282
t1: float = 1.0
@@ -152,7 +152,7 @@ def default_settings(self):
152152
* recv_retry_time = 0.1
153153
* recv_max_retries = 10
154154
* log_level = logging.WARNING
155-
* sim_backend = SimBackend.STABILIZER
155+
* sim_backend = SimBackend.QUTIP
156156
* noisy_qubits = False
157157
* max_app_waiting_time = -1.0 # In seconds, negative means unlimited waiting
158158
* t1: float = 1.0

simulaqron/virtual_node/qutip_simulator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ def measure_qubit_inplace(self, qubitNum: int):
427427
p0, p1 = 0.5, 0.5
428428

429429
# Sample the measurement outcome from these probabilities
430-
outcome = int(np.random.choice([0, 1], 1, p=[p0, p1]))
430+
outcome = np.random.choice([0, 1], p=[p0, p1]).item()
431431

432432
# Compute the post-measurement state, getting rid of the measured qubit
433433
if outcome == 0:

tests/quick/general/test_classical_sockets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class TestClassicalSocket:
1111
@pytest.fixture(autouse=True)
1212
def configurations(self):
1313
simulaqron_settings.default_settings()
14-
simulaqron_settings.sim_backend = SimBackend.PROJECTQ
14+
simulaqron_settings.sim_backend = SimBackend.STABILIZER
1515
network_config.using_default_network()
1616
yield
1717

tests/quick/netqasm/test_get_qubit_state.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class TestGetQubitState:
2121
@pytest.fixture(autouse=True)
2222
def reset_configs(self):
2323
simulaqron_settings.default_settings()
24-
simulaqron_settings.sim_backend = SimBackend.PROJECTQ
24+
simulaqron_settings.sim_backend = SimBackend.QUTIP
2525
network_config.using_default_network()
2626

2727
# Here we define the quantum programs used in the tests

0 commit comments

Comments
 (0)