Skip to content

Phase summation in sampler produces incorrect σx/σy decomposition #1015

Description

@cedrickperron

Pulser combines (sums) the sampled amplitude, detuning, and phase contributions for each qubit when constructing the effective Hamiltonian.

However, this procedure does not reproduce the correct QuTiP Hamiltonian for pulse sequences intended to generate a Hamiltonian of the form

$$ H = \frac{\Omega(t)}{2} \sum_{i=1}^{N} \left[ \sigma_i^x + \sigma_i^y \right] ;-; \Delta(t) \sum_{i=1}^{N} \hat{n}_i ;+; \sum_{j>i} V_{ij} \hat{n}_i \hat{n}_j. $$

Such a Hamiltonian can be constructed by applying two pulses sequentially:

  1. A first pulse with parameters
    $$ (\Omega(t), \Delta(t), \phi = 0) $$
  2. A second pulse with parameters
    $$(\Omega(t), \Delta(t), \phi = \pi/2)$$

Physically, these two pulses should generate independent contributions proportional to $\sigma^x$ and $\sigma^y$, respectively.

However, Pulser does not reconstruct the correct QuTiP Hamiltonian because it directly sums the phase arrays of pulses acting on the same target qubit instead of converting each pulse into its Cartesian components

$$ \Omega \cos(\phi), \sigma^x \quad \text{and} \quad \Omega \sin(\phi), \sigma^y $$

before summation.

The relevant implementation can be found in:

  • pulser_core/pulser/sampler/samples.py (line 573 for global devices),
  • pulser_core/pulser/sampler/samples.py (line 581 for local devices).

As a result, the combined pulses yield:

  • An effective amplitude of $2 \cdot \Omega(t)/2 = \Omega(t)$,
  • A detuning of $\Delta(t)$,
  • A phase equal to $0 + \pi/2 = \pi/2$,

which does not correspond to the intended Hamiltonian structure in the $\sigma^x / \sigma^y$ basis.

Below, we compare the Hamiltonian expected from QuTiP with the Hamiltonian returned by Pulser.

XY_Pulser_Error.ipynb

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions