Skip to content
Open
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 docs/blog/posts/2025/a-new-journey.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ At its core, Bloqade strives to be the neutral atom SDK for getting the most out

Many quantum algorithms are hybrid, requiring both classical and quantum resources to work together in tandem. This could be anything from syndrome extraction and measurement-based computing to variational parameter updates in VQE methods and orbital fragmentation methods in molecular simulation. Through the use of the Kirin compiler infrastructure, Bloqade embraces this philosophy of heterogeneous compute. Kirin programs are written as (compositions of) [kernels](https://en.wikipedia.org/wiki/Compute_kernel) -- subroutines that are intended to run on particular hardware (such as QPUs), or orchestrated to run on heterogeneous compute (such as a real-time classical runtime plus a QPU). These subroutines -- plus the built-in hybrid representations-- enable many key primitives, such as error correction.

Additionally, the ability to compose functions together and to use typical classical programming structures like `if` and recursions enables many simplifications in writing complex circuits. In fact, recursions and the ability to dynamically allocate new memory (which is not known until runtime) enables many powerful subroutines and is natively enabled with Bloqade's kernel-based representation; for example, see [this implementation](../../../digital/examples/qasm2/repeat_until_success.py) of a repeat-until-success program.
Additionally, the ability to compose functions together and to use typical classical programming structures like `if` and recursions enables many simplifications in writing complex circuits. In fact, recursions and the ability to dynamically allocate new memory (which is not known until runtime) enables many powerful subroutines and is natively enabled with Bloqade's kernel-based representation.

## Analog, digital, logical: towards real quantum utility

Expand Down
42 changes: 0 additions & 42 deletions docs/digital/examples/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,45 +59,3 @@ While bloqade-circuit provides a number of different dialects (eDSLs), it may al
Learn how to apply our heuristic noise models built to work with the cirq SDK.

</div>


## QASM2

One of the most central languages used to define quantum programs is QASM2.
You can also write your quantum programs using the QASM2 dialect directly in bloqade-circuit.

!!! warning

Some of the examples below use the `qasm2.extended` dialect, which adds more advanced language features, such as control flow.
However, this dialect is deprecated and we recommend using `squin` instead.



<div class="grid cards style=font-size:1px;" markdown>

- [Quantum Fourier Transform](../examples/qasm2/qft/)

---

An example showing how to implement the well-known Quantum Fourier Transform (QFT).

- [GHZ Preparation and Parallelism](../examples/qasm2/ghz/)

---

Learn how to use parallelism to reduce the circuit (execution) depth.

- [Pauli Exponentiation for Quantum Simulation](../examples/qasm2/pauli_exponentiation/)

---

Simulating Hamiltonian dynamics by exponentiating Pauli operators.


- [Repeat until success with STAR gadget](../examples/qasm2/repeat_until_success/)

---

Here's how to implement a Z phase gate with the repeat-until-success protocol.

</div>
165 changes: 0 additions & 165 deletions docs/digital/examples/qasm2/ghz.py

This file was deleted.

100 changes: 0 additions & 100 deletions docs/digital/examples/qasm2/pauli_exponentiation.py

This file was deleted.

Loading
Loading