What is the name of the algorithm used in the qc.unitary API?

I am trying to understand the paper: Quantum circuits for isometries (PRA 93, 032318, arXiv:1501.06911).

This paper basically proposes an algorithm called as column column decomposition (CCD), which is basically used in qiskit API: qc.unitary (but I am not sure, if someone can confirm this that would be great). https://docs.quantum.ibm.com/api/qiskit/qiskit.circuit.QuantumCircuit#unitary

It would be great help if someone can explain a little about are Isometries and what exact is the name of the algorithm used in qc.unitary?

Edit1 Perhaps, this question is too difficult. Just the name of algorithm used in qc.unitary would also be a great help.

• assuming you mean "isometries", did you see en.wikipedia.org/wiki/Isometry?
– glS
Commented Jul 29 at 20:46
• Thank you for the response @gIS. I corrected the typo. I tried looking at your link but I could not understand anything. I need something which should be little basic. If there is any python code of qiskit which can explain this that would be great.
– Manu
Commented Jul 29 at 20:50
• The question is way too vague and broad. It will be best if you ask a concrete question. Currently, it seems you expect someone to digest and explain an entire paper for you. Commented Jul 30 at 3:17
• Thank you @MonteNero for the response. I have edited the question.
– Manu
Commented Jul 30 at 3:42

The algorithm which is used in qc.unitary decomposition is the Quantum Shannon Decomposition (QSD) based on [1]. This algorithm yields circuits with about half the number of CX gates compared to [2].

Further details on the implementation of the QSD algorithm in Qiskit can be found here:

https://docs.quantum.ibm.com/api/qiskit/synthesis#qs_decomposition

References:

[1] Shende, Bullock, Markov, Synthesis of Quantum Logic Circuits, https://arxiv.org/abs/quant-ph/0406176

[2] Iten et. al. Quantum circuits for isometries (PRA 93, 032318), https://arxiv.org/abs/1501.06911

• Thank you for the response @Shelly Garion.
– Manu
Commented Aug 1 at 20:31
• @manu consider accepting the answer if that covers your question Commented Aug 6 at 7:41

The unitary method in Qiskit does not necessarily use CCD. This implementation in Qiskit is made taking parts of algorithms such as Solovay-Kitaev algorithm for approximate synthesis, KAK decomposition for specific types of unitary matrices, and General unitary decomposition methods for a more general approach (so there is no specific name for this Qiskit algorithm). The unitary method and CCD algorithm have a similar theoretical framework - decomposing a unitary matrix into a sequence of gates - however, they are not exactly the same.

• Thank you for the response @Colin Benaissa. So, we can say unitary method of qiskit uses some combination of multiple algorithms like Solovay-Kitaev, KAK decomposition and CCD algorithm?
– Manu
Commented Aug 1 at 20:34
• Yes, that is correct. We can say that Qiskit's unitary method relies on various algorithms to achieve an efficient and accurate decomposition of unitary matrices. Commented Aug 2 at 16:14