IBM-Quantum-Technical-Enablement / quantum-enablement

IBM Quantum Engineering and Enabling Technologies
Apache License 2.0
26 stars 8 forks source link

docs(notebooks): add QAOA transpiler guide #13

Closed a-matsuo closed 2 months ago

a-matsuo commented 4 months ago

Summary

Add a notebook that tells how to use a qaoa-specific transpiler which is useful for large QAOA circuits.

Details and comments

This notebook consists of the qaoa-specifc transpiler which is the swap strategy and initial mapping using SAT.

coveralls commented 4 months ago

Pull Request Test Coverage Report for Build 8642804464

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details


Totals Coverage Status
Change from base Build 8607756967: 0.0%
Covered Lines: 290
Relevant Lines: 290

💛 - Coveralls
miamico commented 4 months ago

Overall looking good! Some comments after a first read:

a-matsuo commented 4 months ago

Thank you for comments! I reflected those comments in the notebook. Could you please review it again?

nathanearnestnoble commented 4 months ago

Hello! Just did a closer read through!

nathanearnestnoble commented 4 months ago

One more thought: The text is rather verbose when compared to some other published tutorials, but I think this is useful with respect to learning about the methods within. May be worth considering future updates to leave out edu content for tutorials and include this in other edu sections.

miamico commented 3 months ago

Taking a closer look at how we could resolve the current conflict due to the dependence on qopt_best_practices:

  1. Add the code written for the SATMapper to our repo as a trasnpiler pass (similarly to what we've done for the twirling pass here )
  2. Turn this tutorial into a how-to-guide showcasing the use of the SATMapper and SWAPstrategies to improve QAOA circuits. This boils down to Section 2.2 of the current notebook. This will allow us to avoid replicating tutorial content as the learning platform already hosts a tutorial on QAOA and Max-Cut. Additionally, we can define the problem as done in those notebook to avoid importing the definitions from qopt_best_practices
eggerdj commented 3 months ago

A few comments:

miamico commented 3 months ago

@a-matsuo I've made an example of how we could change this notebook to be approved and uploaded to the learning platform here. Please take a look and implement the same changes and any additional ones that you may think are needed.

a-matsuo commented 2 months ago

Hello everyone, I have removed the dependency on the qopt-best-practice repository from the notebook. Could you please review it again?

miamico commented 2 months ago

Also, please remove this notebook from the folder if redundant

a-matsuo commented 2 months ago

Thank you @miamico ! I fixed them. @pedrorrivero @nathanearnestnoble I have removed the dependency on the qopt-best-practice repository from the notebook. Could you please review it again?

nathanearnestnoble commented 2 months ago

Looks good -- good work @miamico and @a-matsuo !