Skip to content

Can we apply generalized pauli channel in parallel? #1

@ZhideLu

Description

@ZhideLu

If we want to model crosstalk in a QEC circuit using the leaky simulator and need to apply a generalized Pauli channel (GPC) to pairs of neighboring qubits. The idea would be to bind the channel to a two-qubit identity gate, for example:

"""
s = leaky.Simulator(4)
channel_2q = leaky.LeakyPauliChannel(is_single_qubit_channel=False)
channel_2q.add_transition(0x00, 0x10, 0, 1.0)

s.bind_leaky_channel(leaky.Instruction("I2", [0,1]), channel_2q)
s.do(leaky.Instruction("I2", [0, 1]))
"""

However, Stim does not recognize the "I2" instruction (two-qubit identity) and throws an error.
My Questions:

  1. Is there a natural way to define a two-qubit identity gate in Stim that would serve as a dummy operation to attach the GPC?

  2. Alternatively, we could directly apply " s.apply_2q_leaky_pauli_channel([0, 1], channel_2q)". But this doesn't support parallel application of channels on disjoint qubit pairs, which limits running speed in larger circuits. How to solve this problem ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions