Conversation
3419aac to
c261963
Compare
| @@ -0,0 +1,26 @@ | |||
| # Amplitude Amplification and Estimation | |||
|
|
|||
| The directory contains algorithmic variations of the amplitude amplification and estimation algorithm. | |||
There was a problem hiding this comment.
The initial description focuses on amplitude amplification and not on estimation.
It is true that they are very related. I think it is OK to mention Grover in this paragraph, although I am not 100% sure if it can be connected to the QSVT and Oblivious usecases.
I suggest:
- Mention Grover operator, but as a canonical building block in several methods.
- Mention that all of these algorithms are typically quadratic in the number of queries.
- Add a sentence about amplitude estimation.
| @@ -0,0 +1,24 @@ | |||
| # Foundational | |||
|
|
|||
| Fundamental quantum algorithms, providing the foundations for future advancements | |||
There was a problem hiding this comment.
For the amplitude estimation and amplification you started with: "This directory contains..."
I would be consistent with the style.
I prefer this one (in Foundational), but feel free to choose whatever you like.
algorithms/foundational/readme.md
Outdated
| $f(x) = (a\cdot x) \mod 2$, where $x$ is also a bit string and $\cdot$ denotes the bitwise multiplication. | ||
| This problem constitutes a specific case of the general hidden-shift problem. | ||
| - **Deutsch Jozsa** - Widely regarded as the first quantum algorithm, it demonstrates an exponential advantage in query | ||
| complexity over classical approaches. Given oracle access to a Boolean function promised to be either |
There was a problem hiding this comment.
classical deterministic
algorithms/foundational/readme.md
Outdated
| - **Deutsch Jozsa** - Widely regarded as the first quantum algorithm, it demonstrates an exponential advantage in query | ||
| complexity over classical approaches. Given oracle access to a Boolean function promised to be either | ||
| constant or balanced, the algorithm deterministically identifies which case holds using a single query to | ||
| the function. We define a general quantum algorithm that accepts a quantum predicate as an input parameter |
There was a problem hiding this comment.
The sentences that follows "We define..." are related to the implementation. Such description does not appear in other examples, so I suggest to remove it.
algorithms/foundational/readme.md
Outdated
| classical communication to transfer ("teleport") an arbitrary qubit state from one place to another. | ||
| - **Simon** - Given an oracle binary function, satisfying $f(x)=f(y)$ if and only if $y=x\oplus s$ for some secret key $s$, the | ||
| algorithm recovers $s$. It does so using a number of oracle queries linear in the input size, yielding an exponential | ||
| improvement in query complexity compared to the best classical approaches. After defining the quantum and classical parts |
There was a problem hiding this comment.
Also here the last sentence.
| - **Hamiltonian simulation guide** - Provides an introduction and overview to standard Hamiltonian simulation methods. | ||
| The methods are described and implemented utilizing Classiq's built-in functions. First, the product formula | ||
| based methods, Suzuki-Trotter decomposition and qDrift are introduced and implemented. Following, | ||
| more advanced block-encoding, as qubitization and quantum singular value decomposition, are presented. |
There was a problem hiding this comment.
In this notebook that block-encoding-based methods are just mentioned (not implemented). I think the word "presented" might be misleading. You can omit the sentence.
There was a problem hiding this comment.
yes, I contemplated on that as well, fixed it.
| - **Hidden shift problem** - Implementation of an algorithm to find the hidden-shift for the family of Boolean bent functions, which | ||
| are characterized by high non-linearity and a perfectly flat Fourier transform. Given access to queries of a functions $f$, | ||
| the algorithm finds the shift, a boolean string, which satisfies $f(x) = f(x \oplus s)$. The quantum algorithm provides | ||
| an exponential separation in query complexity relative to any (even the best) classical algorithm. |
There was a problem hiding this comment.
I did not understand the "(even the best")
There was a problem hiding this comment.
modified it to (including the optimal)
| @@ -0,0 +1,26 @@ | |||
| # QML | |||
| @@ -0,0 +1,18 @@ | |||
| # Quantum Differential Equation Solvers | |||
| @@ -0,0 +1,26 @@ | |||
| # Quantum Linear Solvers | |||
| @@ -0,0 +1,17 @@ | |||
| # Quantum Phase Estimation (QPE) | |||
| @@ -0,0 +1,21 @@ | |||
| # Quantum State Preparation | |||
algorithms/quantum_walks/readme.md
Outdated
| @@ -0,0 +1,7 @@ | |||
| # Quantum Walks/Glued trees | |||
|
|
|||
| - **Quantum Walks** Demonstrates the encoding of a quantum random walk. The example includes a one-to-one | |||
There was a problem hiding this comment.
We do not have a quantum walk in this directory (we have it in the tutorials directory).
Currently, this directory has only the glued trees example, which is related to continuous quantum walk.
There was a problem hiding this comment.
deleted this, we can add a readme file when the folder includes more examples
| belonging to a finite field $\mathbb{F}$, and an optimization function, $f(x)$, depending on $B$ and an input vector $x\in \mathbb{F}^n$, | ||
| the algorithm produces optimal input, maximizing $f$. Shown to give a quantum advantage in Optimal Polynomial Intersection problem. | ||
| In the present notebook, a simplified version of the problem called max-XORSAT, is utilized to demonstrate the key algorithmic steps. | ||
| - **Grover** - A canonical quantum algorithms, providing the solution of an unstructured search problem. |
There was a problem hiding this comment.
A canonical quantum algorithm (remove the s).
33c4245 to
9c8bcb6
Compare
8d206d9 to
c0974de
Compare
|
🎊 Incredible, @roie-d-classiq! You've merged your 18th PR! 🎯🎊 Your ongoing commitment to classiq-library is truly remarkable. You're a driving force in our community! 🚀 We are grateful for your dedication! 💫 |
PR Description
Some notes
Please make sure that the notebook runs successfully with the latest Classiq version.
Please make sure that you placed the files in an appropriate folder
.ipynband.qmodto be unique across this repository..qmod,.synthesis_options.json,.metadata.jsonIf applicable, please include link to the paper on which the notebook is based, in the notebook itself.
Please use
rebaseon your branch (no merge commits)Please link this PR to the relevant issue
Please make sure to run
pre-commitwhen commiting changesgitin the terminal, make sure to installpre-commitvia runningpip install pre-commitfollowed bypre-commit installpre-commitdocumentationpre-commit.pre-commitmay minorly alter some files. Make sure togit addthe changes done bypre-commit