Skip to content
Pasqal Documentation

QutipBackend

class pulser_simulation.qutip_backend.QutipBackend(sequence, config=EmulatorConfig(backend_options={}, sampling_rate=1.0, evaluation_times='Full', initial_state='all-ground', with_modulation=False, prefer_device_noise_model=False, noise_model=NoiseModel(noise_types=())), mimic_qpu=False)

Bases: Backend

A backend for emulating the sequences using qutip.

Parameters:
  • sequence (Sequence) – The sequence to emulate.

  • config (EmulatorConfig, default: EmulatorConfig(backend_options={}, sampling_rate=1.0, evaluation_times='Full', initial_state='all-ground', with_modulation=False, prefer_device_noise_model=False, noise_model=NoiseModel(noise_types=()))) – The configuration for the Qutip emulator.

  • mimic_qpu (bool, default: False) – Whether to mimic the validations necessary for execution on a QPU.

Methods

run

Emulates the sequence using QuTiP's solvers.

validate_sequence

Validates a sequence prior to submission.

Signatures

run(progress_bar=False, **qutip_options)

Emulates the sequence using QuTiP’s solvers.

Parameters:
  • progress_bar (bool, default: False) – If True, the progress bar of QuTiP’s solver will be shown. If None or False, no text appears.

  • options

    Given directly to the Qutip solver. If specified, will override SimConfig solver_options. If no max_step value is provided, an automatic one is calculated from the Sequence’s schedule (half of the shortest duration among pulses and delays). Refer to the QuTiP docs (external) for an overview of the parameters.

Returns:

In particular, returns NoisyResults if the noise model in EmulatorConfig requires it. Otherwise, returns CoherentResults.

Return type:

SimulationResults

static validate_sequence(sequence, mimic_qpu=False)

Validates a sequence prior to submission.

Return type:

None