No project description provided
Project description
Open Quantum Design: Analog Emulator
What's here
Installation
To install,
pip install oqd-analog-emulator
or
pip install git+https://github.com/OpenQuantumDesign/oqd-analog-emulator.git
To clone the repository locally for development:
git clone https://github.com/OpenQuantumDesign/oqd-analog-emulator.git
pip install .
This OQD repository depends on the oqd-core
and oqd-compiler-infrastructure
packages, which should be installed with all other dependencies.
If needed, these can be manually installed via,
pip install oqd-compiler-infrastructure
pip install oqd-core
Getting Started
For example, to simulate a simple Rabi flopping experiment:
import matplotlib.pyplot as plt
from oqd_core.interface.analog.operator import *
from oqd_core.interface.analog.operation import *
from oqd_core.backend.metric import *
from oqd_core.backend.task import Task, TaskArgsAnalog
from oqd_analog_emulator.qutip_backend import QutipBackend
X = PauliX()
Z = PauliZ()
circuit = AnalogCircuit()
circuit.evolve(duration=10, gate=AnalogGate(hamiltonian=X))
args = TaskArgsAnalog(
n_shots=100,
fock_cutoff=4,
metrics={"Z": Expectation(operator=Z)},
dt=1e-3,
)
task = Task(program=circuit, args=args)
backend = QutipBackend()
results = backend.run(task=task)
plt.plot(results.times, results.metrics["Z"], label=f"$\\langle Z \\rangle$")
Where in the stack
block-beta
columns 3
block:Interface
columns 1
InterfaceTitle("<i><b>Interfaces</b><i/>")
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
space
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
space
InterfaceAtomic["<b>Atomic Interface</b>\nLight-matter interactions between lasers and ions"]
space
end
block:IR
columns 1
IRTitle("<i><b>IRs</b><i/>")
IRDigital["Quantum circuit IR\nopenQASM, LLVM+QIR"]
space
IRAnalog["openQSIM"]
space
IRAtomic["openAPL"]
space
end
block:Emulator
columns 1
EmulatorsTitle("<i><b>Classical Emulators</b><i/>")
EmulatorDigital["Pennylane, Qiskit"]
space
EmulatorAnalog["QuTiP, QuantumOptics.jl"]
space
EmulatorAtomic["TrICal, QuantumIon.jl"]
space
end
space
block:RealTime
columns 1
RealTimeTitle("<i><b>Real-Time</b><i/>")
space
RTSoftware["ARTIQ, DAX, OQDAX"]
space
RTGateware["Sinara Real-Time Control"]
space
RTHardware["Lasers, Modulators, Photodetection, Ion Trap"]
space
RTApparatus["Trapped-Ion QPU (<sup>171</sup>Yt<sup>+</sup>, <sup>133</sup>Ba<sup>+</sup>)"]
space
end
space
InterfaceDigital --> IRDigital
InterfaceAnalog --> IRAnalog
InterfaceAtomic --> IRAtomic
IRDigital --> IRAnalog
IRAnalog --> IRAtomic
IRDigital --> EmulatorDigital
IRAnalog --> EmulatorAnalog
IRAtomic --> EmulatorAtomic
IRAtomic --> RealTimeTitle
RTSoftware --> RTGateware
RTGateware --> RTHardware
RTHardware --> RTApparatus
classDef title fill:#d6d4d4,stroke:#333,color:#333;
classDef digital fill:#E7E08B,stroke:#333,color:#333;
classDef analog fill:#E4E9B2,stroke:#333,color:#333;
classDef atomic fill:#D2E4C4,stroke:#333,color:#333;
classDef realtime fill:#B5CBB7,stroke:#333,color:#333;
classDef highlight fill:#f2bbbb,stroke:#333,color:#333,stroke-dasharray: 5 5;
class InterfaceTitle,IRTitle,EmulatorsTitle,RealTimeTitle title
class InterfaceDigital,IRDigital,EmulatorDigital digital
class InterfaceAnalog,IRAnalog,EmulatorAnalog analog
class InterfaceAtomic,IRAtomic,EmulatorAtomic atomic
class RTSoftware,RTGateware,RTHardware,RTApparatus realtime
class EmulatorAnalog highlight
The stack components highlighted in red are contained in this repository.
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file oqd_analog_emulator-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: oqd_analog_emulator-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59b3016c979542954a7c0ed7f1be79c76f56af64b1f18901d6eb1616e918bf4c |
|
MD5 | 68461ad59b3abf5d8d1c67a94c5a9845 |
|
BLAKE2b-256 | 725dad96965bab03244a555bb9e7d17b9e237113a295d5f3927061e777083ce5 |