Skip to content

Commit

Permalink
[WIP] [g-sim 3] (g + P)-sim (#1118)
Browse files Browse the repository at this point in the history
Merged the approach from #1106
with the branching approach here. This has neater illustrations anyway 👍

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

* GOALS — Why are we working on this now?
Lie algebras in QC and simulation techniques like g-sim are a hot topic
due to their relevance to barren plateaus. This is an extension of g-sim
to a small number of non-DLA gates. It bears some intriguing theoretical
features but, like g-sim itself, is of rather limited practical
relevance.

* AUDIENCE — Who is this for?
This is an expert demo targeted towards people familiar with Lie
algebras, g-sim in particular.

* KEYWORDS — What words should be included in the marketing post?
  - dynamical Lie algebra / Lie groups
  - g-sim

* 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 

[sc-62859]

---------

Co-authored-by: Ivana Kurečić <[email protected]>
  • Loading branch information
Qottmann and ikurecic authored Jun 18, 2024
1 parent 24bf0ec commit a32d925
Show file tree
Hide file tree
Showing 12 changed files with 650 additions and 5 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 6 additions & 1 deletion demonstrations/tutorial_liesim.metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
}
],
"dateOfPublication": "2024-06-07T00:00:00+00:00",
"dateOfLastModification": "2024-06-07T00:00:00+00:00",
"dateOfLastModification": "2024-06-18T00:00:00+00:00",
"categories": [
"Quantum Computing",
"Getting Started"
Expand Down Expand Up @@ -154,6 +154,11 @@
"type": "demonstration",
"id": "tutorial_How_to_optimize_QML_model_using_JAX_and_Optax",
"weight": 1.0
},
{
"type": "demonstration",
"id": "tutorial_liesim_extension",
"weight": 1.0
}
]
}
10 changes: 6 additions & 4 deletions demonstrations/tutorial_liesim.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@
operators and explicitly add imaginary units in the exponents where appropriate.
For more details, see the note in the "Lie algebras" section of our :doc:`Intro to (Dynamical) Lie Algebras for quantum practitioners </demos/tutorial_liealgebra//#lie-algebras>`.
g-sim theory
------------
:math:`\mathfrak{g}`-sim theory
-------------------------------
In Lie algebra simulation, :math:`\mathfrak{g}`-sim, we are interested in how expectation values of Lie algebra elements are transformed under unitary evolution.
We start from an initial expectation value vector of the input state :math:`\rho^0` with respect to each DLA element,
Expand Down Expand Up @@ -148,8 +148,8 @@
vector in :math:`\mathfrak{g}`-sim, which is more efficient whenever :math:`\text{dim}(\mathfrak{g}) < 2^n`. In general, it is efficient
whenever :math:`\text{dim}(\mathfrak{g}) = O\left(\text{poly}(n)\right)`.
g-sim in PennyLane
------------------
:math:`\mathfrak{g}`-sim in PennyLane
-------------------------------------
Let us put this into practice and write a differentiable :math:`\mathfrak{g}`-simulator in PennyLane.
We start with some boilerplate PennyLane imports.
Expand Down Expand Up @@ -403,6 +403,8 @@ def forward(theta):
# and saw how this connection can be used for classical simulation. In particular, for specific systems like the TFIM we can efficiently simulate circuit
# expectation values.
#
# In case you are more curious about Lie algebraic simulation techniques, check out the follow-up demo on :doc:`(g+P)-sim </demos/tutorial_liesim_extension>`
# an extension of :math:`\mathfrak{g}`-sim.



Expand Down
99 changes: 99 additions & 0 deletions demonstrations/tutorial_liesim_extension.metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{
"title": "(g + P)-sim: Extending g-sim by non-DLA observables and gates",
"authors": [
{
"id": "korbinian_kottmann"
}
],
"dateOfPublication": "2024-06-18T00:00:00+00:00",
"dateOfLastModification": "2024-06-18T00:00:00+00:00",
"categories": [
"Quantum Computing",
"Quantum Machine Learning"
],
"tags": [],
"previewImages": [
{
"type": "thumbnail",
"uri": "/_static/demonstration_assets/liesim_extension/thumbnail_liesim_extension.png"
},
{
"type": "large_thumbnail",
"uri": "/_static/large_demo_thumbnails/thumbnail_large_liesim_extension.png"
}
],
"seoDescription": "(g + P)-sim: Extending g-sim by non-DLA observables and gates",
"doi": "",
"canonicalURL": "/qml/demos/tutorial_liesim_extension",
"references": [
{
"id": "Wiersema",
"type": "preprint",
"title": "Classification of dynamical Lie algebras for translation-invariant 2-local spin systems in one dimension",
"authors": "Roeland Wiersema, Efekan Kökcü, Alexander F. Kemper, Bojko N. Bakalov",
"year": "2023",
"publisher": "",
"journal": "",
"doi": "10.48550/arXiv.2309.05690",
"url": "https://arxiv.org/abs/2309.05690"
},
{
"id": "Goh",
"type": "preprint",
"title": "Lie-algebraic classical simulations for variational quantum computing",
"authors": "Matthew L. Goh, Martin Larocca, Lukasz Cincio, M. Cerezo, Frédéric Sauvage",
"year": "2023",
"publisher": "",
"journal": "",
"doi": "10.48550/arXiv.2308.01432",
"url": "https://arxiv.org/abs/2308.01432"
},
{
"id": "Somma",
"type": "preprint",
"title": "Quantum Computation, Complexity, and Many-Body Physics",
"authors": "Rolando D. Somma",
"year": "2005",
"publisher": "",
"journal": "",
"doi": "10.48550/arXiv.quant-ph/0512209",
"url": "https://arxiv.org/abs/quant-ph/0512209"
},
{
"id": "Somma2",
"type": "preprint",
"title": "Efficient solvability of Hamiltonians and limits on the power of some quantum computational models",
"authors": "Rolando Somma, Howard Barnum, Gerardo Ortiz, Emanuel Knill",
"year": "2006",
"publisher": "",
"journal": "",
"doi": "10.48550/arXiv.quant-ph/0601030",
"url": "https://arxiv.org/abs/quant-ph/0601030"
},
{
"id": "Galitski",
"type": "preprint",
"title": "Quantum-to-Classical Correspondence and Hubbard-Stratonovich Dynamical Systems, a Lie-Algebraic Approach",
"authors": "Victor Galitski",
"year": "2010",
"publisher": "",
"journal": "",
"doi": "10.48550/arXiv.1012.2873",
"url": "https://arxiv.org/abs/1012.2873"
}
],
"basedOnPapers": ["10.48550/arXiv.2308.01432"],
"referencedByPapers": [],
"relatedContent": [
{
"type": "demonstration",
"id": "tutorial_liealgebra",
"weight": 1.0
},
{
"type": "demonstration",
"id": "tutorial_liesim",
"weight": 1.0
}
]
}
Loading

0 comments on commit a32d925

Please sign in to comment.