Module Contents

class c3.signal.gates.Instruction(name: str = ' ', targets: list = None, params: dict = None, ideal: numpy.ndarray = None, channels: List[str] = [], t_start: float = 0.0, t_end: float = 0.0)[source]

Collection of components making up the control signal for a line.

  • t_start (np.float64) – Start of the signal.

  • t_end (np.float64) – End of the signal.

  • channels (list) – List of channel names (strings)


Nested dictionary with lines and components as keys



comps = {

‘envelope1’: envelope1, ‘envelope2’: envelope2, ‘carrier’: carrier }



Return repr(self).

__str__(self) str[source]

Return str(self).

add_component(self, comp: c3.c3objs.C3obj, chan: str, options=None, name=None) None[source]

Add one component, e.g. an envelope, local oscillator, to a channel.

  • comp (C3obj) – Component to be added.

  • chan (str) – Identifier for the target channel

  • options (dict) –

    Options for this component, available keys are
    delay: Quantity

    Delay execution of this component by a certain time

    trigger_comp: Tuple[str]

    Tuple of (chan, name) of component acting as trigger. Delay time will be counted beginning with end of trigger

    t_final_cut: Quantity

    Length of component, signal will be cut after this time. Also used for the trigger. If not given this invokation from components t_final will be attempted.

    drag: bool

    Use drag correction for this component.

  • t_end (float) – End of this component. None will use the full instruction. If t_end is None and t_start is given a length will be inherited from the instruction.

quick_setup(self, chan, qubit_freq, gate_time, v2hz=1, sideband=None) None[source]

Initialize this instruction with a default envelope and carrier.