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

Uploaded CPython 3.12Windows x86-64

envelopes_qc-0.0.7-cp311-cp311-win_amd64.whl (197.1 kB view details)

Uploaded CPython 3.11Windows x86-64

envelopes_qc-0.0.7-cp310-cp310-win_amd64.whl (196.4 kB view details)

Uploaded CPython 3.10Windows x86-64

envelopes_qc-0.0.7-cp39-cp39-win_amd64.whl (201.1 kB view details)

Uploaded CPython 3.9Windows x86-64

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5fe2357a56ef478b91e25c8c9f24267de206872334585a15ec80db99da38e360
MD5 95fb5011403a37ceadfebbfbc43de9cc
BLAKE2b-256 836cff561f1b588f669e4f26cd5e071f7f3e11fe1ffd7886ddb725d5c2657f92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e9adc7fa9dc14224eab587aa156dc8108d158ce44de49257ba043aa1da5f70a8
MD5 ba89ac6f95efac195354964f191bf731
BLAKE2b-256 bf8df15f3bede28ab473853b75eaeec01ddf2c71bf3952817cfe267b101bac62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envelopes_qc-0.0.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 382b3e2fbb1820b8e4ccf968fd07bdc7b8ac78610a65a973a493c83634fb64bb
MD5 e791fa26a0d88e8b24a886faf94a890f
BLAKE2b-256 23c9452d7bfce940b0263915467753e51a1693b62364f7fc516594a442eaef00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envelopes_qc-0.0.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 201.1 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.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8a7291f87ab3fc89e9a8c76026b542f6bf2b8b09e719e7fd972741e25b13a746
MD5 8479ae9a193279ab2915336d2e1c4cee
BLAKE2b-256 2a25e1632fb7084ae08dec8b3ba9249bd5332ed7b8acbbb964073c73d6a4d42a

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