@@ -94,7 +94,7 @@ def test_elementary_errorgen_bases(self):
94
94
class RandomErrorgenRatesTester (BaseCase ):
95
95
96
96
def test_default_settings (self ):
97
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , seed = 1234 , label_type = 'local' )
97
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , seed = 1234 , label_type = 'local' )
98
98
99
99
#make sure that we get the expected number of rates:
100
100
self .assertEqual (len (random_errorgen_rates ), 240 )
@@ -105,31 +105,31 @@ def test_default_settings(self):
105
105
106
106
def test_sector_restrictions (self ):
107
107
#H-only:
108
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,), seed = 1234 )
108
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,), seed = 1234 )
109
109
#make sure that we get the expected number of rates:
110
110
self .assertEqual (len (random_errorgen_rates ), 15 )
111
111
#also make sure this is CPTP, do so by constructing an error generator and confirming it doesn't fail
112
112
#with CPTP parameterization. This should fail if the error generator dictionary is not CPTP.
113
113
errorgen = LindbladErrorgen .from_elementary_errorgens (random_errorgen_rates , parameterization = 'CPTPLND' , truncate = False , state_space = QubitSpace (2 ))
114
114
115
115
#S-only
116
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('S' ,), seed = 1234 )
116
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('S' ,), seed = 1234 )
117
117
#make sure that we get the expected number of rates:
118
118
self .assertEqual (len (random_errorgen_rates ), 15 )
119
119
#also make sure this is CPTP, do so by constructing an error generator and confirming it doesn't fail
120
120
#with CPTP parameterization. This should fail if the error generator dictionary is not CPTP.
121
121
errorgen = LindbladErrorgen .from_elementary_errorgens (random_errorgen_rates , parameterization = 'CPTPLND' , truncate = False , state_space = QubitSpace (2 ))
122
122
123
123
#H+S
124
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ), seed = 1234 )
124
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ), seed = 1234 )
125
125
#make sure that we get the expected number of rates:
126
126
self .assertEqual (len (random_errorgen_rates ), 30 )
127
127
#also make sure this is CPTP, do so by constructing an error generator and confirming it doesn't fail
128
128
#with CPTP parameterization. This should fail if the error generator dictionary is not CPTP.
129
129
errorgen = LindbladErrorgen .from_elementary_errorgens (random_errorgen_rates , parameterization = 'CPTPLND' , truncate = False , state_space = QubitSpace (2 ))
130
130
131
131
#H+S+A
132
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ,'A' ), seed = 1234 )
132
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ,'A' ), seed = 1234 )
133
133
#make sure that we get the expected number of rates:
134
134
self .assertEqual (len (random_errorgen_rates ), 135 )
135
135
#also make sure this is CPTP, do so by constructing an error generator and confirming it doesn't fail
@@ -138,7 +138,7 @@ def test_sector_restrictions(self):
138
138
139
139
def test_error_metric_restrictions (self ):
140
140
#test generator_infidelity
141
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
141
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
142
142
error_metric = 'generator_infidelity' ,
143
143
error_metric_value = .99 , seed = 1234 )
144
144
#confirm this has the correct generator infidelity.
@@ -152,7 +152,7 @@ def test_error_metric_restrictions(self):
152
152
assert abs (gen_infdl - .99 )< 1e-5
153
153
154
154
#test generator_error
155
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
155
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
156
156
error_metric = 'total_generator_error' ,
157
157
error_metric_value = .99 , seed = 1234 )
158
158
#confirm this has the correct generator infidelity.
@@ -166,7 +166,7 @@ def test_error_metric_restrictions(self):
166
166
assert abs (gen_error - .99 )< 1e-5
167
167
168
168
#test relative_HS_contribution:
169
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
169
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
170
170
error_metric = 'generator_infidelity' ,
171
171
error_metric_value = .99 ,
172
172
relative_HS_contribution = (.5 , .5 ), seed = 1234 )
@@ -181,7 +181,7 @@ def test_error_metric_restrictions(self):
181
181
182
182
assert abs (gen_infdl_S - gen_infdl_H )< 1e-5
183
183
184
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
184
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
185
185
error_metric = 'total_generator_error' ,
186
186
error_metric_value = .99 ,
187
187
relative_HS_contribution = (.5 , .5 ), seed = 1234 )
@@ -198,41 +198,41 @@ def test_error_metric_restrictions(self):
198
198
199
199
def test_fixed_errorgen_rates (self ):
200
200
fixed_rates_dict = {GlobalElementaryErrorgenLabel ('H' , ('X' ,), (0 ,)): 1 }
201
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
201
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
202
202
fixed_errorgen_rates = fixed_rates_dict ,
203
203
seed = 1234 )
204
204
205
205
self .assertEqual (random_errorgen_rates [GlobalElementaryErrorgenLabel ('H' , ('X' ,), (0 ,))], 1 )
206
206
207
207
def test_label_type (self ):
208
208
209
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
209
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
210
210
label_type = 'local' , seed = 1234 )
211
211
assert isinstance (next (iter (random_errorgen_rates )), LocalElementaryErrorgenLabel )
212
212
213
213
def test_sslbl_overlap (self ):
214
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
214
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ),
215
215
sslbl_overlap = (0 ,),
216
216
seed = 1234 )
217
217
for coeff in random_errorgen_rates :
218
218
assert 0 in coeff .sslbls
219
219
220
220
def test_weight_restrictions (self ):
221
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ,'C' ,'A' ),
221
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ,'C' ,'A' ),
222
222
label_type = 'local' , seed = 1234 ,
223
223
max_weights = {'H' :1 , 'S' :1 , 'C' :1 , 'A' :1 })
224
224
assert len (random_errorgen_rates ) == 24
225
225
#confirm still CPTP
226
226
errorgen = LindbladErrorgen .from_elementary_errorgens (random_errorgen_rates , parameterization = 'CPTPLND' , truncate = False , state_space = QubitSpace (2 ))
227
227
228
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ,'C' ,'A' ),
228
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , errorgen_types = ('H' ,'S' ,'C' ,'A' ),
229
229
label_type = 'local' , seed = 1234 ,
230
230
max_weights = {'H' :2 , 'S' :2 , 'C' :1 , 'A' :1 })
231
231
assert len (random_errorgen_rates ) == 42
232
232
errorgen = LindbladErrorgen .from_elementary_errorgens (random_errorgen_rates , parameterization = 'CPTPLND' , truncate = False , state_space = QubitSpace (2 ))
233
233
234
234
def test_global_labels (self ):
235
- random_errorgen_rates = lt .random_error_generator_rates (num_qubits = 2 , seed = 1234 , label_type = 'global' )
235
+ random_errorgen_rates = lt .random_CPTP_error_generator_rates (num_qubits = 2 , seed = 1234 , label_type = 'global' )
236
236
237
237
#make sure that we get the expected number of rates:
238
238
self .assertEqual (len (random_errorgen_rates ), 240 )
0 commit comments