Skip to content

Commit 2934800

Browse files
update links
1 parent cdf64a1 commit 2934800

File tree

5 files changed

+6
-6
lines changed

5 files changed

+6
-6
lines changed

algorithms/hamiltonian_simulation/hamiltonian_simulation_with_block_encoding/hamiltonian_simulation_with_block_encoding.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"* & *\n",
5757
"\\end{pmatrix}.\n",
5858
"$$\n",
59-
"This will be acheived by implementing a block-encoding for the polynomial approximation of a function of the Hamiltonian, $P(H)\\approx \\frac{1}{\\tilde{s}}e^{-iHt}$, with $\\tilde{s}$ being some scaling factor. Note that to get the approximated unitary of $e^{-iHt}$, we have to apply amplitude amplification for $\\tilde{s}\\rightarrow 1$, see for example the [Oblivious Amplitude Amplification noteook](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification/oblivious_amplitude_amplification/oblivious_amplitude_amplification.ipynb), or apply some post-selection. The amplification step is beyond the scope of the current example, and we simply employ projected statevector simulation.\n",
59+
"This will be acheived by implementing a block-encoding for the polynomial approximation of a function of the Hamiltonian, $P(H)\\approx \\frac{1}{\\tilde{s}}e^{-iHt}$, with $\\tilde{s}$ being some scaling factor. Note that to get the approximated unitary of $e^{-iHt}$, we have to apply amplitude amplification for $\\tilde{s}\\rightarrow 1$, see for example the [Oblivious Amplitude Amplification noteook](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification_and_estimation/oblivious_amplitude_amplification/oblivious_amplitude_amplification.ipynb), or apply some post-selection. The amplification step is beyond the scope of the current example, and we simply employ projected statevector simulation.\n",
6060
"\n",
6161
"\n",
6262
"**<div class=\"alert alert-success\"> This notebook demonstrates how to implement Hamiltonian simulation with all three methods: GQSP, Qubitization, and QSVT. Each method is explained and defined independently. We start with some preliminary steps, that are common to all three methods. In addition, in the last section we present a summary that compares between the properties of the three methods.</div>**"

algorithms/quantum_differential_equations_solvers/time_marching/time_marching.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"source": [
5858
"The problem is that when this block-encoding has some prefactor $s$ (for example, because some LCU is block-encoding the integration), the prefactor of the entire simulation is amplified by $s$ on each iteration. This means that the probability to sample the wanted block decreases exponentially with the number of long timesteps.\n",
5959
"\n",
60-
"This is the main pain-point that the algorithm in the paper resolves. In the case of Hamiltonian simulation, it is possible to wrap each timestep with oblivious amplitude amplification [[4](#OAA)] (see [oblivious amplitude amplification](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification/oblivious_amplitude_amplification/oblivious_amplitude_amplification.ipynb)) and get rid of the prefactor. However, it is only possible in the case of a unitary block-encoding. The authors address this issue by using uniform singular amplitude amplification [[5](#USVA)] instead, within the QSVT framework."
60+
"This is the main pain-point that the algorithm in the paper resolves. In the case of Hamiltonian simulation, it is possible to wrap each timestep with oblivious amplitude amplification [[4](#OAA)] (see [oblivious amplitude amplification](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification_and_estimation/oblivious_amplitude_amplification/oblivious_amplitude_amplification.ipynb)) and get rid of the prefactor. However, it is only possible in the case of a unitary block-encoding. The authors address this issue by using uniform singular amplitude amplification [[5](#USVA)] instead, within the QSVT framework."
6161
]
6262
},
6363
{

algorithms/search_and_optimization/grover/grover.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"$$\n",
3939
"U_s = 2|s\\rangle\\langle s|-1 \\qquad \\text{usually called a \"Diffuser\", reflects around the full search space.}\n",
4040
"$$\n",
41-
"The number of times we need to repeat the combination of these two reflections (sometimes called a \"Grover Operator\") depends on the number of solutions: for $k$ solutions in a search space of size $N$, we shall perform $r\\sim \\pi \\sqrt{N/k}$ iterations. In practice, however, the number of solutions is often unknown. In that case, one can perform a [quantum counting algorithm](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_estimation/quantum_counting/quantum_counting.ipynb) prior to the search, or run the search algorithm repeatedly, with an increasing number of repetitions $r_i\\sim \\frac{\\pi}{4} \\sqrt{2^i}$ for $i=0,1,\\dots$. Both approaches do not affect the complexity of the search algorithm. In this notebook we take the second approach.\n",
41+
"The number of times we need to repeat the combination of these two reflections (sometimes called a \"Grover Operator\") depends on the number of solutions: for $k$ solutions in a search space of size $N$, we shall perform $r\\sim \\pi \\sqrt{N/k}$ iterations. In practice, however, the number of solutions is often unknown. In that case, one can perform a [quantum counting algorithm](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification_and_estimation/quantum_counting/quantum_counting.ipynb) prior to the search, or run the search algorithm repeatedly, with an increasing number of repetitions $r_i\\sim \\frac{\\pi}{4} \\sqrt{2^i}$ for $i=0,1,\\dots$. Both approaches do not affect the complexity of the search algorithm. In this notebook we take the second approach.\n",
4242
"\n",
4343
"For a given problem, Grover's algorithm depends on two functions, one for preparing the search space and another for applying the oracle, as well as on the number of repetitions. Below we address two canonical search problems, a 3-SAT problem and a Max-Cut problem on a graph. In this notebook we work with the `grover_operator` function, and define a classical postprocess function for iterating over different $r$ values and obtianing the marked states.\n",
4444
"\n",

applications/finance/option_pricing/option_pricing.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@
294294
"source": [
295295
"### Wrapping to an Amplitude Estimation Model\n",
296296
"\n",
297-
"After defining the probability distribution and the payoff function, pack them together as a state preparation in the [Iterative Quantum Amplitude Estimation algorithm](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_estimation/quantum_counting/quantum_counting.ipynb) [[5](#IQAE)]. The oracle is very simple and only needs to recognize whether the indicator qubit is in the $|1\\rangle$ state.\n",
297+
"After defining the probability distribution and the payoff function, pack them together as a state preparation in the [Iterative Quantum Amplitude Estimation algorithm](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification_and_estimation/quantum_counting/quantum_counting.ipynb) [[5](#IQAE)]. The oracle is very simple and only needs to recognize whether the indicator qubit is in the $|1\\rangle$ state.\n",
298298
"\n",
299299
"The returned amplitude from the algorithm is according to the formula:\n",
300300
"$$\n",

tutorials/workshops/finance_workshops/Option_Pricing_Workshop.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"\n",
4848
"- Evaluate the expected payoff using amplitude estimation.\n",
4949
"\n",
50-
"The algorithmic framework is called Quantum Monte-Carlo Integration. For a basic example, see [QMCI](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_estimation/qmc_user_defined/qmc_user_defined.ipynb).\n",
50+
"The algorithmic framework is called Quantum Monte-Carlo Integration. For a basic example, see [QMCI](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification_and_estimation/qmc_user_defined/qmc_user_defined.ipynb).\n",
5151
"Here we use the same framework to estimate european call option, where the underlying asset distribution at the maturity data is modeled as log-normal distribution."
5252
]
5353
},
@@ -357,7 +357,7 @@
357357
"In our case, the oracle function $O_f=\\ket{x} \\rightarrow (-1)^{f(x)}\\ket{x}$ is quite simple, and only needs to flip the sign when the indicator qubit is in the $\n",
358358
"\\ket{1}$ state (meaning $f(1)=1,\\; f(0)=0$)\n",
359359
"\n",
360-
"After the initial probability and payoff loading, iterations of the Grover operator are applied within the [Iterative Quantum Amplitude Estimation algorithm](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_estimation/quantum_counting/quantum_counting.ipynb) [[5](#IQAE)], which is a generalization of the Grover search algorithm, utilized for the estimation of the amplitude $a$ to arbitrary precision, given the state (now taking the prepared probability amplitudes into account):\n",
360+
"After the initial probability and payoff loading, iterations of the Grover operator are applied within the [Iterative Quantum Amplitude Estimation algorithm](https://github.com/Classiq/classiq-library/blob/main/algorithms/amplitude_amplification_and_estimation/quantum_counting/quantum_counting.ipynb) [[5](#IQAE)], which is a generalization of the Grover search algorithm, utilized for the estimation of the amplitude $a$ to arbitrary precision, given the state (now taking the prepared probability amplitudes into account):\n",
361361
"$$\n",
362362
"|\\Psi\\rangle = \\sum_x|x\\rangle[\\sqrt{p(x)f(x)}|1\\rangle_{ind} + \\sqrt{p(x)(1-f(x))}|0\\rangle_{ind}]=\\sqrt{a}|\\Psi_1\\rangle + \\sqrt{1-a}|\\Psi_0\\rangle\n",
363363
"$$\n",

0 commit comments

Comments
 (0)