Package: rydiqule
The Rydberg Interactive Quantum module is a modeling library designed to simulate
the response of Rydberg atoms to arbitrary input RF waveforms.
It also functions as a general master equation solver based on the semi-classical density matrix method.Please cite asB. N Miller, D. H. Meyer, T. Virtanen, C. M O'Brien, and K. C. Cox,
RydIQule: A Graph-based paradigm for modeling Rydberg and atomic sensors,Computer Physics Communications,294, 108952 (2024)https://doi.org/10.1016/j.cpc.2023.108952InstallationPresently, installation is done via pip.
See below for detailed instructions.In all cases, it is highly recommended to install rydiqule in a virtual environment.Conda/pip installationIf using a conda to provide the virtual environmnet,
it can often be advantageous to install as many packages as possible via conda before running the pip installation command.Assuming you have not already created a separate environment for RydIQule (recommended), run the following to create a new environment:(base)~/>condacreate-nrydiqulepython=3.9(base)~/>condaactivaterydiquleRydIQule currently requires python >3.8.Now install dependencies that are available via conda.
To capture as many dependencies as possible,
we will add theconda-forgechannel at a lower priority.(rydiqule)~/>condaconfig--env--appendchannelsconda-forge(rydiqule)~/>condaconfig--setchannel_prioritystrict(rydiqule)~/>condainstallnumpyscipymatplotlibnetworkxnumbapsutil# ARC specific dependencies available via conda(rydiqule)~/>condainstallsympyastevallmfituncertaintiesNow use pip to install rydiqule and remaining dependencies.# for normal installation(rydiqule)~/>pipinstallrydiqule# for editable installation of cloned repo, so source can be modified locally(rydiqule)~/>pipinstall-e.Pure pip installationTo install normally, run:pipinstallrydiquleThis command will use pip to install all necessary dependencies.To install in an editable way (which allows edits of the source code),
run the following from the root directory of the cloned repository:pipinstall-e.Confirm installationProper installation can be confirmed by executing the following commands in a python terminal.>>>importrydiquleasrq
>>>rq.about()Rydiqule================RydiquleVersion:1.1.0
InstallationPath:~\Miniconda3\envs\rydiqule\lib\site-packages\rydiquleDependencies================NumPyVersion:1.24.3
SciPyVersion:1.10.1
MatplotlibVersion:3.7.1
ARCVersion:3.3.0
PythonVersion:3.9.16
PythonInstallPath:~\Miniconda3\envs\rydiqule
PlatformInfo:Windows(AMD64)CPUCount:12TotalSystemMemory:128GBUpdating an existing installationUpgrading an existing installation is simple.
Simply run the pip installation commands described above.
Optionally, include the update flag to greedily update dependencies as well.pipinstall-UrydiquleThis command will also install any new dependencies that are required.If using an editable install, simply replacing the files in the same directory is sufficient.
Though it is recommended to also run the appropriate pip update command as well to capture updated dependencies.pipinstall-U-e.DependenciesThis package requires installation of the excellentARCpackage, which is used to get Rydberg atomic properties.
It also requires other standard computation dependenices, such asnumpy,scipy,matplotlib, etc.
These dependencies will be automatically installed by pip if not already present.Rydiqule's performance does depend on these depedencies.
In particular,numpycan be compiled with a variety of backends that implements
BLAS and LAPACK routines that can have different performance for different computer architectures.
When using Windows, it is recommended to installnumpyfrom conda,
which is built against the IntelMKL and has generally shown the best performance for Intel-based PCs.Optional timesolver backend dependencies include thenumbakit-odeandCyRKpackages.
Both are available viapip.
They can be installed automatically via the optional extras specification for thepipcommand.pipinstallrydiqule[backends]DocumentationDocumentation is available online atreadthedocs.
PDF or EPUB formats of the documentation can be downloaded from the online documentation.ExamplesExample jupyter notebooks that demonstrate RydIQule can be found in theexamplessubdirectory.
Printouts of these notebooks are available in the documentation as well.SupportCreation of this software was supported in part by the Defense Advanced Research Projects Agency (DARPA) Quantum Apertures program, DEVCOM Army Research Laboratory, and the Quantum Technology Center at the University of Maryland.DisclaimerThe views, opinions and/or findings expressed are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.ContactThe github repository is for code distribution only.
While we monitor it,
we will not directly respond to issues or pull requests posted to it.
If you would like a response from the developers, please e-maildavid.h.meyer3.civ@army.milorkevin.c.cox29.civ@army.mil