# Implementation of quantum compression on IBM quantum computers

Quantum computers, as a theoretical concept, has been suggested in the 1980s independently by Paul Benioff1 and Yuri Manin2. Later they have been popularized by Richard Feynman in his seminal work on simulating quantum physics with a quantum mechanical computer3which has inspired a new scientific field, collectively known as quantum information and computation4. In the last thirty years, the possibility of quantum computing has been studied in depth and revolutionary advances in computation and information science have been made. It has been shown that aside from the ability to simulate quantum physics efficiently, which is invaluable in chemistry5.6quantum computers provide a speedup in interesting computational tasks, such as integer factorization7search in unstructured databases8,9,10 or random walks11. Additionally, quantum information scientists have realized that using quantum features of physical particles, such as entanglement, can be used to implement novel communication protocols providing before unseen efficiency12,13,14 and above all else, with unconditional security15,16,17,18.

In spite of all these advances, there has always been a large gap between theory and experiments in quantum computation and information. While there was a steady progress in development of practical quantum-mechanical computers19,20,21in practice it has been lagging behind the theoretical advances and only the most well-known quantum algorithms have obtained a proof-of-principle implementations (see the most recent implementations of Shor’s factorization algorithm22 and Grover search23.24). Commonly, however, researchers were, until recently, unable to test their algorithms even on small scale quantum computers. This situation has changed in May 2016, when IBM has made their quantum computers accessible to general public via remote access25. This invigorated the field of quantum computation and since then multiple experiments have been conducted on IBM systems and reported on in literature26,27,28,29,30,31,32,33,34,35,36,37,38,39,40. What is more, this inspired a new wave of research, designing algorithms that can take advantage of noisy small scale quantum processors, called “Noisy intermediate-scale quantum (NISQ) algorithms”41.42.43.

In this paper we join this effort and implement quantum compression algorithm introduced in44 and further developed in45,46,47,48,49,50. This algorithm is used to compress n identical copies of an arbitrary pure qubit state into roughly ( log (n) ) qubits. Unlike in classical physics, in quantum world a set of identical states represents a valuable resource in comparison to a single copy of such a state. As quantum states cannot be copied51.52.53 and a single copy provides only a limited information about the state when measured54several copies can be utilized for repeated use in follow-up procedures or for a more precise measurement.

Storage N identical copies of the same state independently is obviously a very inefficient approach. Whereas it is not possible to compress the states in the classical manner (concentrating entropy into a smaller subspace) without measuring the states and disturbing them, laws of quantum mechanics allow to utilize the symmetry of a set of identical states to concentrate all relevant information onto a small, yet not constant subspace. In44 we have shown that such a procedure can be done in an efficient way (ie using a number of elementary quantum gates scaling at most quadratically with the number of compressed states) and this idea was later utilized with a custom designed quantum experiment45 for the specific case of compressing three identical states of qubits on a subspace of two qubits.

Here we implement the same, simplest non-trivial case, which we call (3 mapsto 2 ) compression. Unfortunately, larger number of compressed qubits is beyond the scope of current quantum processors, because the depth of the required circuit becomes impractical. As we show in the “Results” section, compression followed by immediate decompression is already for this most simple scenario on the edge of capabilities of IBM processors. Scaling up to the next level, ie (4 mapsto 3 ) compression, would induce an increase in the number of elementary gates by at least a factor of 5, which would certainly result into a complete noise in the result. Another disadvantage of (4 mapsto 3 ) compression is a large redundancy in the target space (three qubits can accommodate information about as many as seven identical states), leaving room for further errors in the decompression.

Implemented algorithm can be defined using a gate model of quantum computation and is given in Fig. 1. Apart from well known standard gates (CNOT gate, Toffoli gate and controlled hrs gate) the depicted algorithm uses controlled (U_3 ) gates, where

begin {aligned} U_3 ( phi, theta, lambda) & = left[ begin{matrix} cos left( frac{theta }{2}right) &{} -e^{ilambda }sin left( frac{theta }{2}right) \ e^{iphi }sin left( frac{theta }{2}right) &{}e^{i(phi +lambda )}cos left( frac{theta }{2}right) end{matrix}right] . end {aligned}

(1)

Note that (U_3 ) gate is just a specific parametrization of a universal one qubit unitary. Implementing the (3 mapsto 2 ) compression algorithm is in principle possible simply by inserting the circuit from Fig. 1 into the IBM quantum computing platform called Qiskit55, and running it using a simulator or a real processor. This, however, rarely leads to an optimal, or even acceptable implementation in terms of fidelity of the compressed state to the ideal compressed one. The main reason for this is that controlled hrs gate, Toffoli gate and the controlled (U_3 ) gates cannot be natively executed on the IBM quantum processors and need to be decomposed into the hardware supported base gates. Procedure to perform this decomposition is called transpilation. The basic gates of IBM quantum computers are: (R_z ( theta) )—A rotation around z axis by an angle ( theta ); ( sqrt {X} )—A square root of Pauli X gate; and CNOT — a controlled not gate. The final form of the circuit to be executed is further guided by the connectivity graph of the quantum processor to be used, which contains an information about which pairs of qubits can perform a hardware CNOT operation. There are only two types of connectivity graphs for a connected configuration of 3 qubits: (1) a triangle, a fully connected graph in which CNOT can be implemented between all pairs of qubits and (2) a line, in which one CNOT between one pair of qubits is not available. These are both relevant for practical quantum computing on IBM quantum platform, as at the time of performing the experiments processors of both children were available.

The paper is organized as follows. In the first part, we present the results of simulations and experiments for the compression algorithm only, both on the fully connected quantum processor and on the partially connected processor, where a more sophisticated transpilation is needed. In the second part we present the results of a combined compression and immediate decompression algorithm, both for fully connected and partially connected processors. Here the transpilation takes even a bigger role, as the internal IBM system was not able to fully optimize the circuits, unlike in the previous case, so a custom post-processing lead to better results.