Quantum Singular Value Transformation (QSVT) is a relatively new and promising framework for gate-based quantum computation, which allows for efficientcircuit representations of a large class of polynomial transformations, including non-unitary operations. This significantly expands the potential range of NISQ-era applications and quantum algorithms in general. QSVT also serves as a unification scheme for many quantum algorithms by showing that they can all be expressed in terms of the same circuit structure. The simple universal circuit structure that realizes the polynomial transformations generally uses only a constant number of ancilla qubits, regardless of the size of the input. Given the previous works on Quantum Signal Processing (QSP), it also has the potential to result in novel algorithms
One of the most important challenges in the broad field of Quantum Information is implementing non-unitary operations and finding useful NISQ-era applications that offer some valuable speed-up or make otherwise intractable problems solvable. The QSVT effort is an emerging and potentially-groundbreaking development towards these NISQ-applicability as it also allows one to fundamentally re-cast any complex circuitry as the iteration of a single, simple circuit structure that can also construct arbitrary non-unitary operations.
In this project, we aimed to create a QSVT module for Qiskit and develop a useful library dedicated to the general QSVT framework where different algorithms can be expressed as the manifestation of a single fundamental idea with the corresponding encoding and polynomial transformation.
With search implemented, we hope that we have begun to bridge the gap between academia and the Qiskit community for QSVT.
In current form, the repository contains QSVT-implemented Search utilizing Fixed-point Amplitude Amplification. This search works fundamentally different from the original Grover's Search. It transforms the value of the inner product of the initial and the target states from whatever value it is, to the value of 1, meaning complete overlap! The qsvt_search function can find any marked state up to 9 qubit space very efficiently as of now, and can also demonstrate arbitrary transformations.
All the details about QSVT-search can be found in the documentation. We have tried our best to prepare a very detailed and informative documentation to make all this much more intuitive. We hope it helps!
- Quantum Search
- Hamiltonian Simulation and Quantum Walks
- Something similar to 'Shor's Algorithm' (Kitaev's Factoring Algorithm)
- Matrix Inversion / HHL (for solving linear systems of equations)
- Several QML applications
Implement Fixed-point Amplitude Amplification (FPAA) with QSVT in Qiskit. FPAA uses the whole Bloch sphere for answers instead of the mere 2D plane by Grover's and can be used for efficient search, state preparation and/or as a sub-routine to other algorithms. Create functions that are readily-callable for FPAA and can be compared to 2 and 3 qubit cases with original Grover's. This requires delicate documentation on inner workings, implementation and efficiency, preparing of which is also a part of short-term goals.
We want to keep implementing different algorithms in the QSVT framework and add them to this initial module to create a rich QSVT library for Qiskit, making QSVT more accesible to the community, bridging the gap between cutting-edge research and developers. We hope to contribute to research on QSVT and the development of novel algorithms through this work.
Bartu Bisgin | Jiri Guth Jarkovsky | Martin Mauser | Nagme Oruz | Erfan Abedi |
---|