Skip to main content

Envelops impelemented by C++ and Python.

Project description

envelopes-qc

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

Installation

pip install envelopes-qc

Or

  1. Cloning the repository to your machine.
  2. Installing envelopes using pip locally by the following command:
python setup.py build_ext --inplace

or directly building package under the folder "site-package":

pip install .

Usage

from envelopes import evc, DRAG # evc (evp) is the envelopes module implemented by C++ (Python)
import numpy as np
# create an envelope
pi_pulse = DRAG(start=0, amp=1, length=30, alpha=0.5, nonlinearity=-0.2, mixing_freq=0.1, phase=0.0, profile='gaussian') # profile can be 'gaussian' or 'cosine'
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 undermine the efficiency:
# 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 defined by the envelope will be used
t_start, wave = evc.decode_envelope(xy, wc, start=-50, end=250)
wave = np.array(wave, copy=False) # convert vector wrapper to numpy array
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.

Speed test

See tests/speed_test.ipynb.

Project details


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.0.9-cp312-cp312-win_amd64.whl (200.5 kB view details)

Uploaded CPython 3.12Windows x86-64

envelopes_qc-0.0.9-cp311-cp311-win_amd64.whl (198.8 kB view details)

Uploaded CPython 3.11Windows x86-64

envelopes_qc-0.0.9-cp310-cp310-win_amd64.whl (198.1 kB view details)

Uploaded CPython 3.10Windows x86-64

envelopes_qc-0.0.9-cp39-cp39-win_amd64.whl (203.0 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7753abfce0351cf86a05efe698d4e595d0bd178224306e31ccf21326f0b29442
MD5 4666c3a174a4b11e078462b544956f3b
BLAKE2b-256 43f3ae5ede5a8d03b926430e2376af822a51ad5af2c7a4ba53255593b193cd11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ea00ddb16d512c83e118d572459de880a64f41e3a2f0e1d44aa27e711dfd2cc9
MD5 683859af10b12e63e94a9d398441a8ab
BLAKE2b-256 fda8ccfa647532f0d4a42aa0f99f8696749be67628f9cace160f459d87cb9c4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fdb4336ba20558a5da7a8c2965be9769f693f9e614e8d2d8e08fc7707664c901
MD5 1abefce46682f015e959a7ad1b60a13e
BLAKE2b-256 9f00d53413cd7a3c4d6f0a31ee710f662306281c712567dd8b2c25ec152e97b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envelopes_qc-0.0.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 203.0 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.0.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 636155258f56ae2acdc73437cbb58635de9ca35aae17b5532dce4bc33634684b
MD5 f86c258db1510722200f0018d7b42130
BLAKE2b-256 6ac6350c5f5f75120f4a33f4a2b4d2d03a582a22b83b2a06bc8678b41ec76429

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page