Qiskit / documentation

The documentation content home for https://docs.quantum.ibm.com.
https://docs.quantum.ibm.com
Apache License 2.0
29 stars 48 forks source link

DAGCircuit is missing adequate documentation #1431

Open sbrandhsn opened 1 month ago

sbrandhsn commented 1 month ago

URL to the relevant documentation

A DAGCircuit (https://docs.quantum.ibm.com/api/qiskit/qiskit.dagcircuit.DAGCircuit) is an essential part of the transpilation backbone. Formerly, we had the tutorial at https://github.com/Qiskit/qiskit-tutorials/blob/master/tutorials/circuits_advanced/04_transpiler_passes_and_passmanager.ipynb to describe how to work with a DAGCircuit but nowadays there is no information on that except what is included in the API docs at https://docs.quantum.ibm.com/api/qiskit/qiskit.dagcircuit.DAGCircuit

Specifically, https://docs.quantum.ibm.com/transpile/custom-transpiler-pass points to https://www.rustworkx.org/tutorial/dags.html which is not as useful as the previously available tutorial for users that want to develop their own passes.

Select all that apply

Describe the fix.

Insert a subset of the content at https://github.com/Qiskit/qiskit-tutorials/blob/master/tutorials/circuits_advanced/04_transpiler_passes_and_passmanager.ipynb into the docs or add a new section that describes how to work with the DAGCircuit to users that want to develop their own passes.

abbycross commented 1 month ago

Hi @sbrandhsn, thanks for opening the issue. Does the unitary synthesis plugin example in the the "Create a transpiler plugin" page help at all? It's the only other place where I see DAGCircuit mentioned in the docs.

Marking this as needs discussion so our team can assess next steps.

abbycross commented 1 month ago

@sbrandhsn can you specify the material from the tutorial you'd like to see added into the docs?

sbrandhsn commented 1 month ago

I believe sections 'Introducing the DAG' and 'Implementing a BasicMapper Pass' would be helpful. Longterm, I think 'Introducing the DAG' can be extended heavily to highlight any new functionality in DAGCircuit since 10+ months ago and maybe also include some information on its (asymptotic) performance.

javabster commented 1 month ago

I agree, I think the content we currently have on DAG stuff could be expanded into it's own page.