Example #1
0
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'
Example #2
0
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)