1 INTRODUCTION
Quantum computers hold the potential to solve problems that are beyond the reach of conventional digital computers. Such quantum speedup, as understood theoretically, arises from the utilization of quantum mechanical properties such as superposition and entanglement to process information more efficiently and rapidly [45]. Some of the most promising quantum computing applications include quantum searching [26], optimization problems [55], molecular simulation [21], [39], data processing for machine learning [4], [30], and cryptography [52]. For example, the quantum algorithm by Grover [26] for searching an unordered database of size N makes only order of queries to the database. This is a -speedup over the best classical algorithms, which require order of N queries when given access to the same database.