Skip to content

Commit 500ff44

Browse files
dwierichscognigami
andauthored
[Demo] Add: Unitary synthesis with recursive KAK decompositions (#1372)
**Title:** Unitary synthesis with recursive KAK decompositions **Summary:** Unitary synthesis, the process of compiling a unitary matrix into a quantum circuit, has been a topic of study for over 25 years. Three interesting techniques for unitary synthesis, namely the first, the (probably) most widely known, and the minimal-CNOT-count ("the best"), all use the same recursive KAK decomposition under the hood, as we recently elaborated [in a paper](https://arxiv.org/abs/2503.19014). This demo builds on our demo on KAK decompositions (added in #1227) and explains how such decompositions can be applied recursively to construct a many-qubit circuit and how the three mentioned techniques all are powered by the same recursion. It defers some optimization details to the literature but provides a brief gate count overview and showcases a simplified numerical implementation of all three techniques. **Relevant references:** Quite a few, see metadata file. **Possible Drawbacks:** N/A **Related GitHub Issues:** [sc-87548] To do - [x] Redo circuit diagrams - [x] Add .tex files to repo - [x] add examples/code ---- If you are writing a demonstration, please answer these questions to facilitate the marketing process. * GOALS — Why are we working on this now? - Promote `qml.liealg` features - [promote a paper we recently did (see link above)] - Follow up on started line of demos (#1227, #1261) * AUDIENCE — Who is this for? - Researchers in quantum compilation and quantum information - Practicioners that want to learn where the complexity of their operations comes from * KEYWORDS — What words should be included in the marketing post? - (Recursive) KAK decomposition - Quantum Shannon decomposition - Block-ZXZ decomposition - Unitary synthesis - Compilation * Which of the following types of documentation is most similar to your file? (more details [here](https://www.notion.so/xanaduai/Different-kinds-of-documentation-69200645fe59442991c71f9e7d8a77f8)) - [ ] Tutorial - [x] Demo - [ ] How-to --------- Co-authored-by: cognigami <53974528+cognigami@users.noreply.github.com>
1 parent eabf9ee commit 500ff44

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1495
-0
lines changed
Binary file not shown.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
\documentclass[]{standalone}
2+
\usepackage{amsmath,quantikz,graphicx,xcolor}
3+
4+
\begin{document}
5+
\begin{quantikz}
6+
& & \gate{R_Y}\wire[d][3]{q} & \\
7+
& \qwbundle{n-3} & |[operator]| & \\
8+
& & |[operator]| & \\
9+
& & |[operator]| &
10+
\end{quantikz}
11+
=
12+
\begin{quantikz}
13+
& & \gate{R_Y(\theta_0)} & \gate{R_Y(\theta_1)} & \gate{R_Y(\theta_2)} & \ \ldots \ & \gate{R_Y(\theta_{2^{n-1}-1})} & \\
14+
& \qwbundle{n-3} & \octrl{-1} & \octrl{-1} & \octrl{-1} & \ \ldots \ & \ctrl{-1} & \\
15+
& & \octrl{-1} & \octrl{-1} & \ctrl{-1} & \ \ldots \ & \ctrl{-1} & \\
16+
& & \octrl{-1} & \ctrl{-1} & \octrl{-1} & \ \ldots \ & \ctrl{-1} &
17+
\end{quantikz}
18+
\end{document}
Binary file not shown.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
\documentclass[]{standalone}
2+
\usepackage{amsmath,quantikz,graphicx,xcolor}
3+
4+
\begin{document}
5+
\begin{quantikz}
6+
& & \gate[2]{U(2^n)} &\\
7+
& \qwbundle{n-1} & &
8+
\end{quantikz}
9+
=
10+
\begin{quantikz}
11+
& & |[operator]| & \gate{R_Y}\wire[d]{q} & |[operator]| &\\
12+
& \qwbundle{n-1} & \gate{U(2^{n-1})}\wire[u]{q} & |[operator]| & \gate{U(2^{n-1})}\wire[u]{q} &
13+
\end{quantikz}
14+
15+
\end{document}
Binary file not shown.

0 commit comments

Comments
 (0)