Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Structure of the synthesis library #9667

Closed
ShellyGarion opened this issue Feb 26, 2023 · 5 comments · Fixed by #11460
Closed

Structure of the synthesis library #9667

ShellyGarion opened this issue Feb 26, 2023 · 5 comments · Fixed by #11460
Assignees
Labels
synthesis type: epic A theme of work that contain sub-tasks type: feature request New feature or request
Milestone

Comments

@ShellyGarion
Copy link
Member

ShellyGarion commented Feb 26, 2023

What should we add?

This issue discusses the structure and algorithms to be moved or added to qiskit/synthesis.
See also previous discussions in #4311 and #4699.

This issue includes the following:

  • Deprecate qiskit/quantum-info/sytnehesis, qiskit/transpiler/synthesis and qiskit/extensions and move the relevant code to qiskit/synthesis.

  • New algorithms to be added to qiskit/synthesis (for all-to-all and linear-nearest-neighbor connectivity).

The starting point of this discussion is copied from #9375 (comment)

Tasks

No tasks being tracked yet.
@ShellyGarion
Copy link
Member Author

ShellyGarion commented Feb 26, 2023

qiskit.synthesis
 |--- su2
    |--- euler
    |--- nonorthogonal
 |--- su4
    |--- supercontrolled
    |--- controlled
    |--- siswap
    |--- b
 |--- unitary
    |--- aqc (approximate quantum compiling)
    |--- qsd (quantum shannon decomposition)
    |--- ccd (column-by-column)
 |--- state
    |
 |--- clifford
    |--- ag
    |--- bm
    |--- full
    |--- greedy
    |--- layers
    |--- lnn
 |--- linear
    |--- graysynth
    |--- depth_lnn
    |--- pmh
 |--- permutation  * use method/paper names here
    |--- lnn
    |--- full
 |--- cnotdihedral
    |--- full
    |--- general
    |--- two_qubits
 |--- discrete_basis
    |--- solovay-kitaev
 |--- evolution
    |--- lie_trotter
    |--- suzuki-trotter
    |--- product_formula
    |--- qdrift
 |--- povm

@ShellyGarion
Copy link
Member Author

I would suggest to split linear into two folders: linear (for CNOT circuits) and linear_phase for (CNOT-Phase) circuits:

 |--- linear
    |--- depth_lnn (kms)
    |--- pmh
 |--- linear_phase
    |--- graysynth
    |--- cz_depth_lnn
    |--- cz_cx_depth_lnn (planned)

@ShellyGarion
Copy link
Member Author

Should we split all the existing algorithms in qiskit/quantum_info_synthesis between su2 and su4 ?

|--- su2
    |--- OneQubitEulerDecomposer
    |--- Quaternion 
 |--- su4
    |--- TwoQubitBasisDecomposer
    |--- XXDecomposer
    |--- ion_decompose
    |--- local

@kdk kdk added type: epic A theme of work that contain sub-tasks and removed Epic labels Jun 6, 2023
@1ucian0 1ucian0 added this to the 0.46.0 milestone Aug 25, 2023
@prakharb10
Copy link
Contributor

Hi. The first step (moving code and deprecation) looks straightforward. Are contributions welcome on this?

@ShellyGarion
Copy link
Member Author

Thanks @prakharb10 - your contribution is very welcome and I've assigned you to this issue.
Please follow Qiskit deprecation guidelines: https://qiskit.org/documentation/deprecation_policy.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
synthesis type: epic A theme of work that contain sub-tasks type: feature request New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants