3.1.3. qctoolkit.qcmatlab package

3.1.3.1. Submodules

3.1.3.2. qctoolkit.qcmatlab.manager module

3.1.3.3. qctoolkit.qcmatlab.pulse_control module

class qctoolkit.qcmatlab.pulse_control.PulseControlInterface(sample_rate: float, time_scaling: float = 0.001) → None[source]

Bases: object

Pulse

alias of Dict

PulseGroup

alias of Dict

create_pulse_group(sequence: typing.List[qctoolkit.pulses.instructions.Instruction], name: str) → typing.Tuple[typing.PulseControlInterface.PulseGroup, typing.List[typing.PulseControlInterface.Pulse]][source]

Construct a dictionary adhering to the pulse group struct definition in pulse control.

All waveforms in the given InstructionSequence are converted to waveform pulse structs and returned as a list in the second component of the returned tuple. The first component of the result is a pulse group dictionary denoting the sequence of waveforms using their indices in the returned list. create_pulse_group detects multiple use of waveforms and sets up the pulse group dictionary accordingly.

Note that pulses are not registered in pulse control. To achieve this and update the pulse group struct accordingly, the dedicated MATLAB script has to be invoked.

The function will raise an Exception if the given InstructionBlock does contain branching instructions, which are not supported by pulse control.

Arguments: sequence – The InstructionSequence to convert. name – Value for the name field in the resulting pulse group dictionary.

create_waveform_struct(waveform: qctoolkit.pulses.instructions.Waveform, name: str) → typing.Dict[str, typing.Any][source]

Construct a dictionary adhering to the waveform struct definition in pulse control.

Arguments: waveform – The Waveform object to convert. name – Value for the name field in the resulting waveform dictionary.

3.1.3.4. Module contents