@@ -16,7 +16,7 @@ def __init__(
16
16
* ,
17
17
parity_keys : Iterable [str ] = (),
18
18
relative_keys : Iterable [int ] = (),
19
- pauli_keys : dict [ int , str ] | None = None ,
19
+ pauli_keys : Iterable [ str ] = () ,
20
20
observable_index : int ,
21
21
):
22
22
"""
@@ -29,7 +29,7 @@ def __init__(
29
29
"""
30
30
self .parity_keys = frozenset (parity_keys )
31
31
self .relative_keys = frozenset (relative_keys )
32
- self .pauli_keys = pauli_keys or {}
32
+ self .pauli_keys = frozenset ( pauli_keys )
33
33
self .observable_index = observable_index
34
34
35
35
@property
@@ -45,6 +45,7 @@ def _value_equality_values_(self) -> Any:
45
45
def _circuit_diagram_info_ (self , args : Any ) -> str :
46
46
items : List [str ] = [repr (e ) for e in sorted (self .parity_keys )]
47
47
items += [f'rec[{ e } ]' for e in sorted (self .relative_keys )]
48
+ items += sorted (self .pauli_keys )
48
49
k = "," .join (str (e ) for e in items )
49
50
return f"Obs{ self .observable_index } ({ k } )"
50
51
@@ -53,7 +54,7 @@ def __repr__(self) -> str:
53
54
f'stimcirq.CumulativeObservableAnnotation('
54
55
f'parity_keys={ sorted (self .parity_keys )} , '
55
56
f'relative_keys={ sorted (self .relative_keys )} , '
56
- f'pauli_keys={ self .pauli_keys } , '
57
+ f'pauli_keys={ sorted ( self .pauli_keys ) } , '
57
58
f'observable_index={ self .observable_index !r} )'
58
59
)
59
60
@@ -65,6 +66,7 @@ def _json_dict_(self) -> Dict[str, Any]:
65
66
result = {
66
67
'parity_keys' : sorted (self .parity_keys ),
67
68
'observable_index' : self .observable_index ,
69
+ 'pauli_keys' : sorted (self .pauli_keys ),
68
70
}
69
71
if self .relative_keys :
70
72
result ['relative_keys' ] = sorted (self .relative_keys )
@@ -109,8 +111,8 @@ def _stim_conversion_(
109
111
break
110
112
rec_targets .extend (
111
113
[
112
- stim .target_pauli (qubit_index = k , pauli = self . pauli_keys [ k ])
113
- for k in sorted (self .pauli_keys , reverse = True )
114
+ stim .target_pauli (qubit_index = int ( k [ 1 :]) , pauli = k [ 0 ])
115
+ for k in sorted (self .pauli_keys )
114
116
]
115
117
)
116
118
if remaining :
0 commit comments