This repository contains all the material written and created during the QOSF mentorship program by Francesco Scala and Jakob Kottmann. The goal is the implementation of Krylov method (arXiv:1911.05163v1, published paper) inside the tequila package. Full contributions can be seen in the pull request I did for the tequila and for the tutorials.
random_generators.py
contains two functions:
make_random_circuit
: creates a circuit with random rotations or random control rotations.make_random_hamiltonian
: creates a random Hamiltonian, given the list of Pauli operators to use and the number of Pauli strings.
These two functions will be useful in the testing framework.
The braket module inside braket.py
contains the braket
function that allows one to calculate the overlap between two states, the expectation value of one operator with respect to a given state or the transition element of one operator with respect to two given states. Checkout Braket_tutorial.ipynb
to have a complete overview of the possible applications of this function as well as a detailed explenation of the underlying theoretical framework.
test_braket.py
contains the testing of the braket function and of all its components.
The test_functions.py
file contains some initial versions of this module.
The krylov.py
file contains the function krylov_method
which allows to apply the Krylov method. A simple example using this function is reported in test_krylov.py
. The same example together with the theoretical framework is reported in Krylov.ipynb
.