Closed ShellyGarion closed 8 months ago
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
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)
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
Hi. The first step (moving code and deprecation) looks straightforward. Are contributions welcome on this?
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
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
andqiskit/extensions
and move the relevant code toqiskit/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 https://github.com/Qiskit/qiskit-terra/pull/9375#discussion_r1115906034