-
Notifications
You must be signed in to change notification settings - Fork 155
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #155 from kmckiern/jordan_docs
docs for jordan gradient
- Loading branch information
Showing
1 changed file
with
21 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
Jordan Gradient | ||
========================== | ||
|
||
Overview | ||
-------- | ||
|
||
This is an implementation of Stephen Jordan's "Fast Quantum Algorithm for | ||
Numerical Gradient Estimation" [1]_. Jordan's algorithm utilizes an oracle to sample some | ||
function at some distance, h, from the point of evaluation. | ||
These samples are then `kicked back` to output register via modular addition. | ||
A quantum Fourier transform (QFT) is then used to transform the output register and | ||
recover the oracle outputs. To first approximation, this can be used to | ||
estimate the gradient of the function of interest. | ||
|
||
In our implementation, the ``phase_estimation`` algorithm is used to perform the phase kickback and QFT | ||
transformation. Note that this is computationally more | ||
expensive than the original formulation by Jordan. | ||
|
||
See the ``examples`` folder, ``JordanGradient.ipynb`` for more details on using this module. | ||
|
||
.. [1] https://doi.org/10.1103/PhysRevLett.95.050501 |