Shahip2016 / Womanium_Hackathon_TKET_2022

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quantinuum's TKET challenge for the Womanium Global Quantum Hackathon

On behalf of Quantinuum, welcome to the Womanium Global Quantum Hackathon! This little guide should get you started quickly in pytket, a high-performance Python library for building and simplifying quantum programs.

TKET is the leading open-source developer toolkit designed to compile and optimize quantum programs. It is platform agnostic allowing it to target the world’s leading quantum hardware and simulators. It also enhances the performance of every Quantinuum product, including cybersecurity key-generation platform Quantum Origin, quantum computational chemistry and materials science package InQuanto, and lambeq, Quantinuum's quantum natural language processing and computational linguistics toolkit.

If any questions arise during the hackathon, don't hesitate to contact me via Discord "Kathrin [Quantinuum TKET]" or via email kathrin.spendier@quantinuum.com. Note: I will not be available Thursday Aug 11 to Aug 14 and weekends. I am on Mountain Time, UTC−07:00.

There is a public TKET slack channel for community discussion and support. Click here to join. You can also join our mailing list for updates on new pytket releases and features. If you have TKET support questions please send them to tket-support@cambridgequantum.com.

The content of this hackathon manual is as follows:

  1. Getting ready with pytket
  2. Building circuits with pytket
  3. Running a circuit on IBM's backends
  4. Access to Quantinuum and IonQ Backends via Azure
  5. Access to IonQ, Rigetti and OQC via AWS Braket

This was a first glimpse of the workflow from the design of a quantum circuit to its execution. There is much more to discover by looking at an entire series of example notebooks for pytket available on the pytket github.

Recommended TKET examples applicable to this Hackathon you can go through as a continuation of this introduction include:

Your Hackathon Challenge: World-class Quantum chemistry with TKET

Your company builds hydrogen fuel cell vehicles and is interested in finding new ways for a cost-effective and compact hydrogen storage system. You are working in the research and development (R&D) department and are tasked to evaluate the feasibility to simulate the quantum state of a Lithium Hydride (LiH) molecule using a gate-based quantum device. Based on the known gate sets and the qubit coupling maps, you are tasked to find the best quantum device currently available.

Beginner:

You will first get a feel for how TKET optimizes and compiles sample circuits for a given backend. You can create a sample circuit of your choice, or you can use some circuits, given as QASM code, here. Then optimize and run this sample circuit on different backends. Here is a list of questions to get you started:

  1. Which gate-based quantum computers are accessible to you to implement your circuit?
  2. Which circuit parameters should be minimized for the most efficient circuit implementation for a given backend?
  3. What are the main features of TKET, and how can you apply them here?
  4. Which backend is the best for a given sample circuit and why?

Knowledgeable:

Instead of using a sample circuit, you will perform the tasks outlined for Beginner above for an actual LiH circuit. A given ansatz LiH circuit in the form of a QASM file (LiHJordanWignerMapper.qasm) will be supplied to you for your analysis here. The circuit was obtained by using the simplest qubit mapper/converter called the Jordan-Wigner Mapper. This circuit is quite deep. Before optimization, the circuit will have a total of 12 qubits and more than 16,000 gates.

Advanced:

You are comfortable with how TKET can optimally route circuits onto real hardware. You are now asked to use the VQE algorithm to estimate the ground state energy for a LiH molecule. You should create your own ansatz LiH circuit for this challenge. Is it possible to create a 6-qubit ansatz circuit with a different mapper/converter than the Jordan-Wigner Mapper? Do you get different results depending on the quantum computer/simulator used? How do your results compare to known values? Are there any limitations you are confronted with? You can consult the Qiskit nature documentation to get you started.

Problem expansion for Advanced: You are also considering how errors for different operations affect your analysis, i.e. mapping should be noise-aware. Additionally, can you implement some error mitigation techniques to improve your results?

See here for challenge details

Arline Benchmarks

Arline Benchmarks platform allows to benchmark various algorithms for quantum circuit mapping/compression against each other on a list of predefined hardware types and target circuit classes. Arline published a paper in May 2022 with a summary of their observations. There are lots of plots and data - pytket performed well.

Note that not the current versions of many SDKs were used for this benchmarking project. The versions of SDKs used for Arline's comparison were:

  • pytket 0.6.0 (September 2020)
  • qiskit 0.34.2 (February 2022)
  • pyzx 0.6.0 (June 2020)
  • cirq 0.13.1 (October 2021)

File Notes

File "LiHJordanWignerMapper.qasm" located in this GitHub repository is the the ansatz LiH circuit in the form of a QASM code obtained by using the simplest qubit mapper/converter called the Jordan-Wigner Mapper.

File "H2JordanWignerMapper.qasm" located in this GitHub repository is the the ansatz H$_{2}$ circuit in the form of a QASM code obtained by using the simplest qubit mapper/converter called the Jordan-Wigner Mapper.

About


Languages

Language:OpenQASM 60.3%Language:Jupyter Notebook 39.7%