def test_rotated_toric_pauli_path(size, a_index, b_index): code = RotatedToricCode(*size) pauli = code.new_pauli().path(a_index, b_index) syndrome = pt.bsp(pauli.to_bsf(), code.stabilizers.T) syndrome_indices = code.syndrome_to_plaquette_indices(syndrome) if a_index == b_index: assert len(syndrome_indices) == 0, 'Unexpected syndrome for null path' else: dim_y, dim_x = code.size a_index = tuple(np.mod(a_index, (dim_x, dim_y))) b_index = tuple(np.mod(b_index, (dim_x, dim_y))) assert syndrome_indices == {a_index, b_index }, 'Path does not give expected syndrome'
def test_rotated_toric_pauli_properties(size): code = RotatedToricCode(*size) pauli = code.new_pauli() assert pauli.code == code assert isinstance(repr(pauli), str) assert isinstance(str(pauli), str)