# Software package for decomposing quantum circuits

Is there any software package allowing decomposition of unitaries from $U(2^n)$ into quantum circuits over a predefined universal gate set?

• I wonder whether there is a more efficient algorithm to do it on a quantum computer :) – Vanessa Feb 17 '12 at 7:24

This package (CUGates.m) was announced on the arXiv a couple of days ago which could be useful for you. It uses Mathematica. I haven't tried it out though, and it may or may not do what you need. From the abstract:

This paper presents a highly efficient decomposition scheme and its associated Mathematica notebook for the analysis of complicated quantum circuits comprised of single/multiple qubit and qudit quantum gates. In particular, this scheme reduces the evaluation of multiple unitary gate operations with many conditionals to just two matrix additions, regardless of the number of conditionals or gate dimensions. This improves significantly the capability of a quantum circuit analyser implemented in a classical computer. This is also the first efficient quantum circuit analyser to include qudit quantum logic gates.

• I did not find free version of that – Alex 'qubeat' Feb 16 '12 at 18:54
• @AlexV: I found it here. But it was unusually difficult to track down! – qubyte Feb 17 '12 at 1:05
• It is not free. "Your IP address is not registered with CPC. ... If your institute is not a current subscriber to CPC you can take out an individual subscription to the Program Library. ..." – Alex 'qubeat' Feb 17 '12 at 14:39
• You could try contacting the authors. I'm certain that they'd be happy to send you a copy. In any case, where in the question does it stipulate that the software be free? – qubyte Feb 17 '12 at 23:43
• Indeed, and after all, it is not clear, if there is a version for free Mathematica Player – Alex 'qubeat' Feb 18 '12 at 17:26

There was a paper up about 6 years ago on implementing and optimising the Barenco decomposition: http://arxiv.org/abs/quant-ph/0607123 I don't know if they've released their software, or if you need to ask them nicely for it.

This website - Quantum Compiler.org - has sourcecode for a python library that does this, in two models, Solovay-Kitaev and Kitaev-Shen-Vyalyi.

There is a program “Qubiter” by R.R.Tucci that uses CS decomposition, described in http://arxiv.org/abs/quant-ph/9902062 and distributed free via source code (C++). I just have seen – a link in e-print still valid, the last version is 1-11, but I never used the program myself and so may not comment that.

[EDIT] There are (at least) two packages for decomposition in list http://www.quantiki.org/wiki/List_of_QC_simulators

In addition to the previous answers, there is a package that computes Fourier transforms for solvable non-commutative groups based on this algorithm. The software has a tool to decompose Fourier transforms into simpler matrices. Such decomposition is essentially an efficient quantum circuit to implement a non-abelian quantum Fourier transform.

Although it is not a general-purpose package it is a nice tool if you work with this class of (rather complicated) unitaries. In this context there are no alternatives that I know.