Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
- Subsystem:


* **Other information** (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
* **Other information** (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
4 changes: 2 additions & 2 deletions .github/workflows/check_copyright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
- name: Check license & copyright headers
uses: viperproject/check-license-header@v2
with:
path:
path:
config: .github/workflows/check_copyright_config.json
# strict: true
# strict: true
2 changes: 1 addition & 1 deletion .github/workflows/check_mkdocs_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ jobs:
uses: astral-sh/setup-uv@v4
# - run: cp -r examples/ docs/examples/
- run: uv pip install .[docs] --system
- run: mkdocs build
- run: mkdocs build
2 changes: 1 addition & 1 deletion .github/workflows/copyright.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -175,4 +175,5 @@ _scripts/

# ignore copied examples files when building docs
docs/examples/
tests/test.bat
tests/test.bat
.pre-commit-config.yaml
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,4 @@ at [https://www.contributor-covenant.org/translations][translations].
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
[translations]: https://www.contributor-covenant.org/translations
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ pip install .
```

This OQD repository depends on the [`oqd-core`](https://github.com/OpenQuantumDesign/oqd-core.git)
and [`oqd-compiler-infrastructure`](https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git) packages, which should be installed with all other dependencies.
and [`oqd-compiler-infrastructure`](https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git) packages, which should be installed with all other dependencies.
If needed, these can be manually installed via,
```bash
pip install oqd-compiler-infrastructure
Expand Down Expand Up @@ -82,47 +82,47 @@ plt.plot(results.times, results.metrics["Z"], label=f"$\\langle Z \\rangle$")
```mermaid
block-beta
columns 3

block:Interface
columns 1
InterfaceTitle("<i><b>Interfaces</b><i/>")
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
space
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
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"]
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"]

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"]
RTSoftware["ARTIQ, DAX, OQDAX"]
space
RTGateware["Sinara Real-Time Control"]
space
Expand All @@ -132,38 +132,38 @@ block-beta
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.
The stack components highlighted in red are contained in this repository.
4 changes: 2 additions & 2 deletions docs/explanation/qutip-simulation.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
## Compilation

We first compile `AnalogCircuit` to a [`QutipExperiment`][oqd_analog_emulator.conversion.QutipExperimentVM]
We first compile `AnalogCircuit` to a [`QutipExperiment`][oqd_analog_emulator.conversion.QutipExperimentVM]
using the ConversionRule [`QutipBackendCompiler`][oqd_analog_emulator.conversion.QutipBackendCompiler].
We also then separately convert the args of Analog layer to a corresponding representation of the args
which can be processed by QuTip. The [`compile`][oqd_analog_emulator.qutip_backend.QutipBackend.compile] functions
is used to compile `AnalogCircuit` to a
is used to compile `AnalogCircuit` to a
[`QutipExperiment`][oqd_analog_emulator.conversion.QutipExperimentVM] and also used to convert the args.

## Simulation
Expand Down
Binary file added docs/img/oqd-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/oqd-logo-black.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/img/oqd-logo-text.png
Binary file not shown.
Binary file added docs/img/oqd-logo-white.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/img/oqd-logo.png
Binary file not shown.
55 changes: 32 additions & 23 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
# ![Open Quantum Design](./img/oqd-logo-text.png)
#

<p align="center">
<img src="img/oqd-logo-black.png#only-light" alt="Logo" style="max-height: 200px;">
<img src="img/oqd-logo-white.png#only-dark" alt="Logo" style="max-height: 200px;">
</p>

<div align="center">
<h2 align="center">
Open Quantum Design: Analog Emulators
Open Quantum Design: Analog Emulator
</h2>
</div>

![Python](https://img.shields.io/badge/Python-3.10_|_3.11_|_3.12-blue)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![PyPI Version](https://img.shields.io/pypi/v/oqd-analog-emulator)](https://pypi.org/project/oqd-analog-emulator)
[![CI](https://github.com/OpenQuantumDesign/oqd-analog-emulator/actions/workflows/pytest.yml/badge.svg)](https://github.com/OpenQuantumDesign/oqd-analog-emulator/actions/workflows/pytest.yml)
![versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)
[![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

<!-- prettier-ignore -->
/// admonition | Note
type: note
Expand All @@ -19,47 +28,47 @@ This documentation is still under development, we welcome contributions! © Open
```mermaid
block-beta
columns 3

block:Interface
columns 1
InterfaceTitle("<i><b>Interfaces</b><i/>")
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
space
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
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"]
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"]

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"]
RTSoftware["ARTIQ, DAX, OQDAX"]
space
RTGateware["Sinara Real-Time Control"]
space
Expand All @@ -69,38 +78,38 @@ block-beta
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.
The stack components highlighted in red are contained in this repository.
1 change: 0 additions & 1 deletion docs/reference/qutip_backend.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
::: oqd_analog_emulator.qutip_backend

::: oqd_analog_emulator.interface

2 changes: 1 addition & 1 deletion docs/stylesheets/admonition_template.css
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
background-color: #FFFFFF;
-webkit-mask-image: var(--md-admonition-icon--template);
mask-image: var(--md-admonition-icon--template);
}
}
1 change: 0 additions & 1 deletion docs/stylesheets/admonitions.css
Original file line number Diff line number Diff line change
Expand Up @@ -110,4 +110,3 @@
-webkit-mask-image: var(--md-admonition-icon--example);
mask-image: var(--md-admonition-icon--example);
}

Loading