Unipolator allows for n dimensional unitary interpolation, and the calculation of propagators using unitary interpolation. Speeds up your propagators for linear quantum systems.
Project description
unipolator
Unitary Interpolation, for the calculation of propagators of time dependent quantum systems. Speeds up your propagators.
Install
Via pip install unipolator
Import
Via from unipolator import *
How To:
Generate an array of Hamiltonians H_s[0,...] = H_0
, H_s[i,...] = H_i
for a system with Hamiltonian $H(t) = H_0 + \sum_{i=1} c_i(t) H_i$.
Initialize unitary interpolation
ui = UI(H_s, c_mins, c_maxs, c_bins)
Calculate unitary by passing a complex numpy array U_ui
and coefficients c
to, a return argument is not needed, the inputed array is simply modified
ui.expmH( c, U_ui)
Similarly, pass a 3d array dU
and calculate the derivatives as well.
ui.dexpmH( c, U, dU)
A 2d array allows the calculation of a complete pulse via
ui.expmH_pulse(cs, U)
Finally the GRAPE method is supported via (pass an array dI_dj.shape(n, cs.shape[0])
to store the gradients)
ui.grape(cs, U_target, target_indexes, U, dU, dI_dj)
Author:
Michael Schilling
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for unipolator-0.2.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc94f1c42044173458ca48d0c3b693b14c5b12629902a7039c02fca1b62301a0 |
|
MD5 | 31299df23ed9cde12f137071b4398d4d |
|
BLAKE2b-256 | 5ef4e1a41942033b77d2f98f1d8c49213b3d5852617077af0d1c039182efb1c2 |