Skip to content

Commit de07e10

Browse files
committed
Merge branch 'release-0-7' into john/fix-u3-clifford-translation
2 parents 8aa84fa + 9631aa8 commit de07e10

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "bloqade-circuit"
3-
version = "0.7.9"
3+
version = "0.7.10"
44
description = "The software development toolkit for neutral atom arrays."
55
readme = "README.md"
66
authors = [

src/bloqade/cirq_utils/noise/model.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,29 @@ class GeminiNoiseModelABC(cirq.NoiseModel, MoveNoiseModelABC):
5656
"""The correlated CZ error rates as a dictionary"""
5757

5858
def __post_init__(self):
59-
if (
59+
is_ambiguous = (
60+
self.cz_paired_correlated_rates is not None
61+
and self.cz_paired_error_probabilities is not None
62+
)
63+
if is_ambiguous:
64+
raise ValueError(
65+
"Received both `cz_paired_correlated_rates` and `cz_paired_error_probabilities` as input. This is ambiguous, please only set one."
66+
)
67+
68+
use_default = (
6069
self.cz_paired_correlated_rates is None
6170
and self.cz_paired_error_probabilities is None
62-
):
71+
)
72+
if use_default:
6373
# NOTE: no input, set to default value; weird setattr for frozen dataclass
6474
object.__setattr__(
6575
self,
6676
"cz_paired_error_probabilities",
6777
_default_cz_paired_correlated_rates(),
6878
)
69-
elif (
70-
self.cz_paired_correlated_rates is not None
71-
and self.cz_paired_correlated_rates is None
72-
):
79+
return
7380

81+
if self.cz_paired_correlated_rates is not None:
7482
if self.cz_paired_correlated_rates.shape != (4, 4):
7583
raise ValueError(
7684
"Expected a 4x4 array of probabilities for cz_paired_correlated_rates"
@@ -82,13 +90,11 @@ def __post_init__(self):
8290
"cz_paired_error_probabilities",
8391
correlated_noise_array_to_dict(self.cz_paired_correlated_rates),
8492
)
85-
elif (
86-
self.cz_paired_correlated_rates is not None
87-
and self.cz_paired_correlated_rates is not None
88-
):
89-
raise ValueError(
90-
"Received both `cz_paired_correlated_rates` and `cz_paired_correlated_rates` as input. This is ambiguous, please only set one."
91-
)
93+
return
94+
95+
assert (
96+
self.cz_paired_error_probabilities is not None
97+
), "This error should not happen! Please report this issue."
9298

9399
@staticmethod
94100
def validate_moments(moments: Iterable[cirq.Moment]):

0 commit comments

Comments
 (0)