Skip to main content

envelopes-qc

High performance tools for building and decoding envelopes used in superconducting qubit experiments.

Build

Before building on Linux, install the libcerf3 and libcerf-dev packages in the src/libcerf folder, or download and install them according to your Linux distribution.

python -m build -w -v

Installation

pip install envelopes-qc

Or build from source:

  1. Clone the repository to your machine.
  2. Install the package locally with one of the following commands:
# Development build (compile in place)
python setup.py build_ext --inplace
# Install into the active Python environment
pip install .

Usage

from envelopes import evc
import numpy as np

# Create a GaussianDRAG envelope
center = 15
width = 10
pi_pulse = evc.GaussianDRAG(
    t0=center, w=width, amp=1.0, coef=0.5, df=0.1, phase=0.0
)

# Schedule multiple pulses
amp = np.array([1, 0.3, 0.7, 0.8])
dt = np.array([0, 50, 100, 200])
xy = evc.align(pi_pulse, dt, amp)  # align the envelope to the given dt and amplitude

# The following code has equivalent effect but is less efficient:
# xy = 0
# for _dt, _amp in zip(dt, amp):
#     xy += (pi_pulse >> _dt) * _amp

# Decode the envelope
resolution = 0.5
wc = evc.WaveCache(resolution)
# t, wave = evc.decode_envelope(xy, wc)  # default start and end from the envelope
t_start, wave = evc.decode_envelope(xy, wc, start=-50, end=250)
# wave is already a zero-copy numpy ndarray view of the internal buffer
t_list = np.arange(t_start, t_start + len(wave) * resolution, resolution)

import matplotlib.pyplot as plt

plt.figure()
plt.plot(t_list, wave.real, '.-', label='real')
plt.plot(t_list, wave.imag, '.-', label='imag')
plt.legend()
plt.xlabel('time')
plt.ylabel('amplitude')
plt.tight_layout()
plt.show()

Supported Envelopes

See tests/supported_envelopes.ipynb and the detailed envelope reference in doc/envelope_reference.md.

Speed Test

See tests/speed_test.ipynb.

Documentation

Detailed usage documentation is available in the doc/ folder. Start from doc/index.md:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

envelopes_qc-0.1.4-cp312-cp312-win_amd64.whl (225.4 kB view details)

Uploaded CPython 3.12Windows x86-64

envelopes_qc-0.1.4-cp311-cp311-win_amd64.whl (223.6 kB view details)

Uploaded CPython 3.11Windows x86-64

envelopes_qc-0.1.4-cp310-cp310-win_amd64.whl (223.0 kB view details)

Uploaded CPython 3.10Windows x86-64

envelopes_qc-0.1.4-cp39-cp39-win_amd64.whl (230.8 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

Details for the file envelopes_qc-0.1.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for envelopes_qc-0.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ba707bc3ffaece6509fb88c0995267f555aa47c3cd0a8ef8a6bfda4627607de2
MD5 7b166c9a880d1ed892ecb049024985a3
BLAKE2b-256 9fe1e1c64f5fd331f03f62595a977e749208433a8d122b6a7676aa3a282bb4d7

See more details on using hashes here.

File details

Details for the file envelopes_qc-0.1.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for envelopes_qc-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9970351cb4591e0fab41b42f8d18bd7109c221849be2eee167874c4d28dfbea1
MD5 c75f0689ea4dda0f81fc31ce938b2d67
BLAKE2b-256 ca9d9c4acc26cc4516ad71a772101b7b6cc971feb9e39d50f75b72aa02d45b95

See more details on using hashes here.

File details

Details for the file envelopes_qc-0.1.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for envelopes_qc-0.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7bad05db34c98bc0b2f5452548af7336a2c525029ef186f98e682f93fe3dd7e2
MD5 b79d453795cd2ef2cfc39fd5f24c46c2
BLAKE2b-256 8f2c7423e6c967d077cabb08d5e42336e4f2f65364c6c8188ab17c96fcb32649

See more details on using hashes here.

File details

Details for the file envelopes_qc-0.1.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: envelopes_qc-0.1.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 230.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for envelopes_qc-0.1.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 64aa7e1691b02aca11a01e70a75e2c65cf4d3af955cb3c2814437af1844e5c77
MD5 2902662f91e290271acf4dc5de29fd78
BLAKE2b-256 77aecd1a3ea3ddb15a2f65a2fa386e24c66b49e5caf39c1d300fca9d37e85029

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.5

30 files

This release

0.1.4 This release

4 files

0.1.3

4 files

0.1.2

4 files

0.1.1

4 files

0.0.16

4 files

0.0.15

4 files

0.0.14

4 files

0.0.13

4 files

0.0.12

4 files

0.0.11

4 files

0.0.10

4 files

0.0.9

4 files

0.0.8

4 files

0.0.7

4 files

0.0.6

4 files

0.0.5

4 files

0.0.4

4 files

0.0.3

4 files

0.0.2

4 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page