@@ -144,6 +144,11 @@ def _unitary_(self):
144
144
def adjoint (self ) -> GateWithRegisters :
145
145
return RandomGate (self .bitsize , self .matrix .conj ().T )
146
146
147
+ def __pow__ (self , power ):
148
+ if power == - 1 :
149
+ return self .adjoint ()
150
+ return NotImplemented
151
+
147
152
def __hash__ (self ):
148
153
return hash (tuple (np .ravel (self .matrix )))
149
154
@@ -208,7 +213,7 @@ def test_generalized_qsp_with_real_poly_on_random_unitaries(bitsize: int, degree
208
213
verify_generalized_qsp (U , P )
209
214
210
215
211
- @pytest .mark .slow
216
+ # @pytest.mark.slow
212
217
@pytest .mark .parametrize ("bitsize" , [1 , 2 , 3 ])
213
218
@pytest .mark .parametrize ("degree" , [2 , 3 , 4 , 5 , 50 , 100 , 120 ])
214
219
@pytest .mark .parametrize ("negative_power" , [0 , 1 , 2 ])
@@ -427,9 +432,9 @@ def verify_hamiltonian_simulation_by_gqsp(
427
432
assert_matrices_almost_equal (expected_top_left , actual_top_left )
428
433
429
434
430
- @pytest .mark .slow
431
- @pytest .mark .parametrize ("select_bitsize" , [1 , 2 , 3 ])
432
- @pytest .mark .parametrize ("target_bitsize" , [1 , 2 , 3 ])
435
+ # @pytest.mark.slow
436
+ @pytest .mark .parametrize ("select_bitsize" , [1 ])
437
+ @pytest .mark .parametrize ("target_bitsize" , [1 ])
433
438
def test_hamiltonian_simulation_by_gqsp (select_bitsize : int , target_bitsize : int ):
434
439
random_state = np .random .RandomState (42 )
435
440
0 commit comments