Skip to content

Commit 4e1d39f

Browse files
authored
Making sure conditional error modeling works (#154)
* Making sure conditional error modeling works
1 parent 597324e commit 4e1d39f

4 files changed

Lines changed: 29 additions & 2 deletions

File tree

crates/pecos-cli/tests/simple_determinism_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ fn test_noise_impact_on_determinism() -> Result<(), Box<dyn std::error::Error>>
254254
///
255255
/// NOTE: Currently skipped as worker count determinism is an open issue in PECOS
256256
#[test]
257-
#[ignore]
257+
#[ignore = "worker count determinism is an open issue in PECOS"]
258258
fn test_worker_count_consistency() -> Result<(), Box<dyn std::error::Error>> {
259259
let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
260260
let phir_path = manifest_dir.join("../../examples/phir/simple_test.json");

python/quantum-pecos/src/pecos/engines/hybrid_engine_old.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def run(
158158
error_circuits = error_gen.generate_tick_errors(
159159
tick_circuit,
160160
time,
161-
# output,
161+
output,
162162
**params,
163163
)
164164
errors = error_circuits.get(time, {})

python/quantum-pecos/src/pecos/error_models/fake_error_model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def generate_tick_errors(
6060
self,
6161
_tick_circuit: QuantumCircuit,
6262
_time: int | tuple[int, ...],
63+
_output: dict,
6364
**_params: GateParams,
6465
) -> ErrorCircuits:
6566
"""Generate tick errors that ignores parameters and returns pre-configured error circuits."""
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""Integration tests for hybrid engine with old error model."""
2+
3+
from pecos import HybridEngine, QuantumCircuit
4+
from pecos.error_models.error_depolar import DepolarizingErrorModel
5+
from pecos.simulators import SparseSim
6+
7+
8+
def test_simple_conditional() -> None:
9+
"""Verify simulation and noise modeling works with conditional operations."""
10+
qc = QuantumCircuit(cvar_spec={"m": 1, "a": 1}, num_qubits=1)
11+
qc.append("X", {0}, cond={"a": "a", "op": "==", "b": 0})
12+
qc.append("measure Z", {0}, var_output={0: ("m", 0)})
13+
14+
eng = HybridEngine()
15+
state = SparseSim(1)
16+
err = DepolarizingErrorModel()
17+
18+
error_params = {
19+
"p1": 0.01,
20+
"p2": 0.01,
21+
"p_init": 0.01,
22+
"p_meas": 0.01,
23+
"p2_mem": 0.01,
24+
}
25+
26+
eng.run(state, qc, error_gen=err, shot_id=0, error_params=error_params)

0 commit comments

Comments
 (0)