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

Uploaded CPython 3.12Windows x86-64

envelopes_qc-0.0.13-cp311-cp311-win_amd64.whl (204.8 kB view details)

Uploaded CPython 3.11Windows x86-64

envelopes_qc-0.0.13-cp310-cp310-win_amd64.whl (204.4 kB view details)

Uploaded CPython 3.10Windows x86-64

envelopes_qc-0.0.13-cp39-cp39-win_amd64.whl (208.9 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 22baf28434e5f4960b44aafa439205a742390170716d80501ca95dfa5414bafa
MD5 70dbc2def37bf2f76c53b1c0552f570b
BLAKE2b-256 9a379e4067986ce014845006b44550f7c9b142d37f6d3f252dc33088d4f94280

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ea7648f09e2b79bb192ba5a1ac24e2c77bfdd664c29ff13a88c891fab4f8e604
MD5 6afc8f6a0bad9c57b507f079a303d7a0
BLAKE2b-256 7573efbddef5b49c56ba815dee53464213b8e23da1d28797d8299c343cb799e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 309af589915f1ca38ef586a419846c8787dfc8db0a150d850732b11fdffadd3d
MD5 f0f34752faa33e5d17dcb678a08d97f4
BLAKE2b-256 5e184604973c17763afa48c9fb6248b23b5b379be8b56945703fe17e20de39c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d9e7ff5417ba2dd6d701fc56e942793b3d958c4738996659a5d66fa650875c12
MD5 5817128bc5cddb9c2636b53ceca286a3
BLAKE2b-256 823dd402c5ea5a1dcb6950a3814294fbbed5fbe57f82425e6f210390c302d39c

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