Skip to main content

Envelops impelemented by C++ and Python.

Project description

envelopes

High performance tools for building and decoding envelopes used in superconducting quantum 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.5-cp312-cp312-win_amd64.whl (192.0 kB view details)

Uploaded CPython 3.12Windows x86-64

envelopes_qc-0.0.5-cp311-cp311-win_amd64.whl (191.6 kB view details)

Uploaded CPython 3.11Windows x86-64

envelopes_qc-0.0.5-cp310-cp310-win_amd64.whl (190.4 kB view details)

Uploaded CPython 3.10Windows x86-64

envelopes_qc-0.0.5-cp39-cp39-win_amd64.whl (187.8 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 73fedfc616d6fb279167d8aa6c2ca65afcfda16dc728597170cc5b9d318a166d
MD5 00ef57fdc648f8495471d3a7de019e65
BLAKE2b-256 2887317160babdc6aa85000280e339284aab44e847e69ca28c87b11ceea9e6e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 036e93beee3ca7b3c5ff73fd30a8db2ab9a0645c8acfb1b50015daf8fcb3d879
MD5 f9dde4c404745ced7a751a1bc8e611ae
BLAKE2b-256 8e1f1578537415713930d5b72c56cf87e7db42b0b0cdaa14bb43fc719ca65b78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 16f08d0a526334549a6cffc09ced8bfd52e90bd9d3a1e3a5f035dd825edf9fb1
MD5 a8e090bc13cbf77d5cf864b63481a0f6
BLAKE2b-256 b19482bb9813b58f7d3a4ad1f3621d9ce68ac8de5535aca5964b916d68efaac3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envelopes_qc-0.0.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 187.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.7

File hashes

Hashes for envelopes_qc-0.0.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 631a6dff44ca17afb38d887322ae5a720c79afe319d13311045e5cb61eca3cc3
MD5 211703a3a9bd11d12682d264bddcf0d1
BLAKE2b-256 27960010820ca61e4bcdb7af4af0d2d92e66c292a689b6dc387a78239cb22dcc

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