Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Demo] The KAK theorem #1227

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

[Demo] The KAK theorem #1227

wants to merge 23 commits into from

Conversation

dwierichs
Copy link
Contributor

@dwierichs dwierichs commented Oct 3, 2024

Title:
The KAK theorem

Summary:
The KAK theorem is a group theoretical tool to decompose operators into a sequence of smaller operators.
It brings an abstract mathematical structure to direct use in compilation and simulation tasks.

In this demo we will explain the mathematical objects "Lie subalgebra", "Cartan involution", and "symmetric space", which are prerequisites to the KAK theorem.
Then we state the theorem and explain how it powers a standard circuit decomposition/template construction technique, which also proves the universality of single- and two-qubit operations for quantum computing.
All steps are illustrated with mathematical and code examples.

Relevant references:

TBD

Possible Drawbacks:
N/A

Related GitHub Issues:
TBD: FDHS demo PR

[sc-74884]


If you are writing a demonstration, please answer these questions to facilitate the marketing process.

  • GOALS — Why are we working on this now?
  • The theorem uses Lie algebra theory, for which functionalities were recently added to PennyLane.
  • It can be seen as a follow-up/extension/application of the more basic Introduction to Lie algebras demo and it is related to content about Lie algebraic simulation (g-sim| (g+P)-sim).
  • There will be a close follow-up demo on "Fixed-depth Hamiltonian simulation", which makes use of the KAK theorem.
  • AUDIENCE — Who is this for?
  • Researchers/Learners that would like to understand the mathematical structure behind the KAK theorem and Khaneja-Glaser circuit templates.
  • Researchers/Learners that would like to familiarize themselves with Lie algebraic tools in PennyLane beyond a basic introduction and the simulation-related tools in the existing content pieces.
  • Researchers/Learners that would like to read/understand the "Fixed-depth Hamiltonian simulation" demo.
  • KEYWORDS — What words should be included in the marketing post?

"KAK theorem"
"Lie algebra"
"Symmetric space"
"Cartan decomposition" and/or "Cartan involution"
"Khaneja-Glaser decomposition"
"Circuit templates"
"Universality"

  • Which of the following types of documentation is most similar to your file?
    (more details here)
  • Tutorial
  • Demo
  • How-to

Copy link

github-actions bot commented Oct 3, 2024

👋 Hey, looks like you've updated some demos!

🐘 Don't forget to update the dateOfLastModification in the associated metadata files so your changes are reflected in Glass Onion (search and recommendations).

Please hide this comment once the field(s) are updated. Thanks!

demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
@dwierichs dwierichs changed the title [Empty Draft] Demo: The KAK theorem [Draft] Demo: The KAK theorem Oct 23, 2024
@dwierichs dwierichs marked this pull request as ready for review October 23, 2024 09:09
Copy link

github-actions bot commented Oct 23, 2024

Thank you for opening this pull request.

You can find the built site at this link.

Deployment Info:

  • Pull Request ID: 1227
  • Deployment SHA: 09629fd67f7bf6f23800cdc1efc8b41fddee16f4
    (The Deployment SHA refers to the latest commit hash the docs were built from)

Note: It may take several minutes for updates to this pull request to be reflected on the deployed site.

Copy link
Collaborator

@Qottmann Qottmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I absolutely love this and can see this become a super valuable resource for anyone with a physics brackground wanting to dive deeper into the topic (think, in particular, future residents)

In terms of length, it is indeed a chonker but honestly that is fine for this kind of demo. I'd even go as far as saying that it could do with more content, in particular a more non-trivial example beyond su(2). At least for my taste, feel free to go all in.

We should perhaps have someone that is unfamiliar with these concepts also read the demo

demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Show resolved Hide resolved
demonstrations/tutorial_kak_theorem.py Outdated Show resolved Hide resolved
Co-authored-by: Korbinian Kottmann <[email protected]>
# to one of them. The quotient space is a manifold like the two groups :math:`G` and
# :math:`K,` but in general it will *not* be a group itself. For example, a product
# of two elements is :math:`(g'K)(gK)=g'g(g^{-1} K g) K,` which only is of the form
# :math:`g'' K` if :math:`g^{-1} K g\subset K.` Subgroups for which this condition holds
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# :math:`g'' K` if :math:`g^{-1} K g\subset K.` Subgroups for which this condition holds
# :math:`g'' K` if :math:`g^{-1} K g\subset G.` Subgroups for which this condition holds

?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mhm. I think K is correct 🤔 The condition is that some arbitrary $g$ that might not be in $K$ also leaves $K$ untouched, which is a strong condition ($K$ being a normal subgroup) and usually is not true.
But maybe I confused myself 😅

@dwierichs dwierichs changed the title [Draft] Demo: The KAK theorem [Demo] The KAK theorem Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants