Closed TarenP closed 1 year ago
Thanks for your interest! If you're interested in trying to build a tool on top of Qiskit, we strongly suggest that you consider packaging it up into a dependent library, and join the Qiskit Ecosystem - you'll retain control and full credit for your code, and you won't be limited by the pace of mainline Qiskit development. Right now, I think that's going to work better than trying to target Terra directly. If you'd really like to try and get code into Terra, a good place to start is to look at our issues tagged "good first issue" that don't have somebody already working on them.
I'd encourage you to keep going with your research here - it's a really important topic for quantum computing in general, and one that a lot of researchers still spend an awful lot of time on. Some things you might want to consider (if you didn't already):
Good luck in the future!
What should we add?
I want to integrate a feature I have spent a year working on. It takes any quantum circuit and finds the best qiskit transpiler optimization level to apply to it to help minimize the circuit's transpiled complexity and maximize its accuracy. This is an academic paper I wrote on the feature: https://docs.google.com/document/d/1nCYR37PjQmZuMr14LrhaouPki6ONcgIt/edit?usp=sharing&ouid=105364971002453989736&rtpof=true&sd=true
To summarize, this feature is a function that takes the user's quantum circuit as an argument, and then returns the best qiskit transpiler optimization level, and it has already been fully coded.
This is the abstract for the paper: Quantum computing has revolutionized our approach to complex problems like resource allocation, scheduling, data analysis, and design optimization. With high processing power, quantum computers provide significant speed-ups for these tasks [1]. IBM has allotted public access to several quantum computers for running quantum circuits. However, one quantum computer requirement is the mapping of quantum circuits onto the computer-specific hardware architecture. IBM’s Transpiler function optimizes the mapping of a quantum circuit to a quantum computer using one of four optimization levels, 0 to 3, selecting level 1 as its default, which may be ineffective. For this reason, this research was initiated to develop a selection function that could determine the best optimization level for any quantum circuit. Using the quantum circuit complexity-based benchmarking algorithm, circuit data was collected from IBM's quantum computers. This data is used to develop the Selector Function, which maximizes accuracy and time efficiency while minimizing cost. The Selector Function decomposes any given quantum circuit into the majority of key components necessary for determining the best optimization level and then cross-references with the collected data to retrieve the key missing value. The Selector Function has achieved 91.16% accuracy compared to the control data from running the given quantum circuit on all of the optimization levels on real quantum hardware, over a breadth of 1,000 quantum circuits. Moreover, the Selector Function recorded an average runtime of only 0.08 seconds, while the control, with queue times disregarded, recorded an average runtime of 216 seconds. The project significantly improves the optimization process for mapping quantum circuits onto specific hardware architectures, allowing quantum computing to move towards more advanced and efficient solutions by directly aiding researchers.