An interpretation of the non-Cliffordness with Pauli channels and rings
This small note take root from a simple question: given a unitary , how much non-Cliffordness does it actually contain ? The unitary itself is of little help here, as its coefficients mix the Clifford and the non-Clifford parts. This small blog post highlight that switching to the Pauli channel representation, i.e. looking at how an evolution acts on the Pauli matrices rather than on the state, makes this structure explicit. Specifically, Pauli representation shows the number of in the coefficients is closely related to the non-Cliffordness of the evolution. In this note, each section comes with an animation, this kind of intuition is much easier to build by playing with the Bloch sphere than by reading equations.
Pauli channel representation Link to heading
Unitaries seen from the Pauli basis Link to heading
To begin with, let’s consider a quantum evolution under the Hamiltonian . Usually, such a quantum evolution is described via its unitary , such that . In the FTQC framework, this unitary has to be implemented on logical qubits from a discrete gate-set , usually Clifford+T. The compilation task is thus to write as an ordered sequence of gates, with . What matters here is the Clifford and non-Clifford structure of this sequence: with CSS codes, Clifford gates are cheap while gates are not. And this is exactly what the unitary hides, its coefficients mix both parts, and reading the structure off is not trivial.
The community rather uses the Pauli channel representation: instead of describing the evolution as an action of on the quantum state , we study how such an evolution acts on the Pauli matrices. This intuition has a direct link with Gottesman’s work on stabilizers, where commutation relations are used to describe a state in terms of its stabilizers instead of in terms of kets[1]. But we will put the stabilizer formalism aside in this small note.
The idea of the Pauli channel representation can actually be understood as a basis switching. By noticing that the Pauli set is a basis of the matrices (with the number of qubits), we are able to decompose the state on the Pauli basis instead of on the canonical matrix basis. Concretely, considering a state , the state is described by the coordinates such that
with the normalised canonical scalar product. Thus, the unitary acts on the state such that
the resulting state is thus defined with a new set of coordinates .
From this perspective, we understand the unitary evolution is defined by how the Pauli basis is affected by , instead of focusing on the state itself. Concretely, we study how the unitary transforms the Pauli coordinates
and the unitary is thus defined via the linear transformation
Or, more conveniently, we use the linear map , called Pauli channel, as the matrix such that
where the are the elements of , and is the scalar product defined above.
To get a geometric intuition of such a map, let’s focus on a one-qubit state. Consider a state such that
where the condition imposes the coefficient in front of the identity . The state can thus be described by a vector . This description unlocks a 3D representation of the state via the vector , where the basis is given by the Pauli matrices , and , and having a pure state imposes . This description is obviously the well known Bloch sphere description, for instance the state can be written , thus .
DefinitionPauli channel
Let be a linear map acting on the -qubit operators. Its Pauli channel representation is the real matrix of entries
Coordinates transform as , and the composition of two maps becomes a matrix product, . For a unitary evolution , the matrix is orthogonal, and the first row and column are fixed by trace preservation.
Clifford operations: inside the octahedron Link to heading
Ok, now we have set the formal description of the Pauli channel formalism, from which the Bloch sphere naturally follows, let’s play a bit with such a formalism in a simple case: the Clifford evolutions. To begin with, we quickly remind the definition of the Clifford set :
concretely, a Clifford operation maps a Pauli to another Pauli.
Here we see a direct link with the Pauli channel representation, where the unitary is defined by how it maps the Paulis. Concretely, for any Clifford evolution , an arbitrary state evolves as
In other words, permutes the coefficients of the Pauli representation of the state , thus is a permutation matrix. This is what makes Clifford circuits classically efficiently simulable: instead of having a description of , we just have to keep track of the permutation across the Clifford evolution.
To develop intuition, let’s move on to a more geometric interpretation with the Bloch sphere (one-qubit scenario). To do so, let’s play a bit with the animation below. Beginning with a state along a Pauli axis, the Bloch vector jumps from one basis vector to another1 Here the interpretation is straightforward: the Pauli channel representation of a Clifford unitary is just a permutation, so the evolution will only map the Bloch vector from one Bloch basis vector to another one. Concretely, the vector is thus stuck between six possible vectors: , , and , this is the well known octahedron exposed in[1,2].
TheoremGottesman-Knill theorem
A circuit made of Clifford gates only, applied to a computational basis state and followed by measurements in the computational basis, can be simulated in polynomial time on a classical computer[2]. Concretely, it can be implemented with a binary table, completed by sign bits, storing the images and of the generators of the Pauli group. Since is a signed permutation, these images determine the whole map, and each Clifford gate of the circuit updates the table in operations.
Non-Clifford operations: reaching state out of the octahedron Link to heading
As just seen, by only performing permutations on the Pauli operators, Clifford operations make accessible only a few discrete spots in the Bloch sphere, and we understand that we need an extra operation to go out of the octahedron and make reachable the other points of the Bloch sphere. This is actually the role of the non-Clifford operations. Let’s consider the most standard element being the gate, defined as a rotation about the axis2
Again, the Pauli channel representation highlights the capability of the gate to get out of the octahedron. For geometrical intuition through the Bloch sphere, we here consider the simple one-qubit scenario. Considering the Pauli , the gate maps it to a new direction:
thus, in the one-qubit scenario, a state becomes , meaning the associated Bloch vector is , which is in fact out of the octahedron. Here we also understand why the -count makes the classical simulation of a quantum circuit difficult. Each gate may split one Pauli into two, so that the evolution requires to follow Pauli terms, with the -count, instead of the Pauli with Clifford circuit.
The Matsumoto-Amano normal form Link to heading
Filling the Bloch sphere Link to heading
Great, we now have an operation allowing us to go out of the octahedron, but how to reach an arbitrary point of the Bloch sphere now ? Actually, the gate alone does not allow such a performance: two consecutive gates kill the non-Cliffordness by producing a Phase gate one, . This was actually expected, as two rotations around the axis give a global rotation of , which is Clifford:
We thus need an extra rotation to reach any point on the Bloch sphere.
By playing with the Bloch sphere animation, we observe that a succession of operations gives an interesting behavior: the trajectory of never comes back on its own steps and looks unpredictable. Thus, non-trivial points of the Bloch sphere become accessible. This can actually be understood by noticing that the operation gives a rotation by an irrational multiple of , which unlocks density in the Bloch sphere. More precisely, the word unlocks density on a circle of the Bloch sphere, while and alone allow us to change the axis on which the circle is defined. We thus understand that the words , and unlock density in the Bloch sphere: any point can be reached with an arbitrary error by picking a suitable circle-axis (from and ), and a series of irrational angles (from ). This result has actually been noticed by Matsumoto and Amano in 2008, the decomposition on the code-words is now called the Matsumoto-Amano normal form[3].
T, HT, SHT: the Matsumoto-Amano normal form Link to heading
In 2008, Matsumoto and Amano focused on the representation in the Bloch sphere They show two things:
- The decomposition is universal: every single-qubit unitary can be approximated with an arbitrary precision within these code-words.
- The decomposition is unique: two single-qubit unitaries are equal iff they have the same decomposition. This decomposition is quite important, as the uniqueness tells us that the code-word can be seen as an ID of the operator: each single-qubit unitary has its own decomposition. More importantly, Giles and Selinger developed an algorithm with linear complexity to construct such a decomposition[4]. They also showed that the decomposition is -optimal, meaning this code-word decomposition gives a unique way of describing a single-qubit unitary with the minimal number of gates.
To develop intuition, the animation below allows you to play with such an algorithm. The animation allows you to create a code-word (a combination of ) and simulate the evolution of the qubit through this code-word. To begin with, create a random code-word and play the animation, which shows the evolution-path of the qubit state one word after the other. We directly remark that the trajectory-path seems unpredictable, which is consistent with the intuition of non-simulability: a predictable and orderly trajectory would unlock its simulability with a classical computer. Here it is not the case, adding a code-word leads to a succession of non-trivial rotations, which may be hard to forecast.
Demonstration is a rotation by an irrational multiple of
A rotation of angle has trace on the Bloch block of the Pauli channel. Here , hence . Assume now with . Then is a root of unity, so is an algebraic integer. But is a root of , irreducible over , so its minimal polynomial is not integer-valued. Contradiction: is an irrational multiple of .
Counting the Link to heading
Non-Cliffordness interpretation via ring theory Link to heading
Here is where things get interesting, we now use arguments on the ring representation of the Pauli channel to see what the -count of a circuit brings. We quickly recall that a ring is defined with an internal product and an internal addition. More formally, calling the ring, we have
We use ring representation as we will be focus on the coefficients instead of the matrix itself: for two matrices and , is built with sums and products of the coefficients of and , thus
and the property of and of having their coefficients in is conserved through matrix multiplication.
Let’s illustrate with the Clifford evolution. As seen in the previous section, a Clifford is just a signed permutation matrix: its coefficients are , or , which all live in the ring . The ring obviously carries way more elements than needed to describe a Clifford, but we keep this representation: what matters here is not how tight the ring is, but where the non-Clifford gates force us to leave it.
Let’s now move to a non-Clifford evolution. We saw that the gate is precisely what allows us to go out of the octahedron, with
meaning that in the Pauli channel representation, carries coefficients, and has therefore left the ring . Concretely, by performing rotation on , the vector is now pointing in the diagonal between the axis and axis, thus its coordinate is , out of the ring , and its associated Pauli channel has its coefficients in
This is at the heart of non-Cliffordness: gate makes the Pauli channel out of the ring to reach , and produce arbitrary coefficients , which are dense in the real line
The smallest denominator exponent Link to heading
From the last section, we understand that gates allow us to get arbitrarily close to any coefficient: as each gate brings an order factor in the coefficients of the Pauli channel, we just need to increase to get higher precision by adding gates. However, this has to be done wisely, as gates may cancel each other. For instance, as seen previously, two consecutive gates kills the non-Cliffordness and bring us back to the boring ring:
Roughly, a gate replaces two coefficients by their sum and their difference, divided by . If the two coefficients carry a different number of , the largest one wins and increases by one: If they carry the same number, their leading parts may cancel out, and drops instead. Two gates on the same axis are exactly this second case: the second recombines the two branches opened by the first one, the components cancel and the components add up to an integer coefficient. Thus, we can have a circuit with a high number of gates but a small number of factors, i.e. many gates are not necessary and may be improved.
This is where we bridge the gap with the Matsumoto-Amano normal form studied before in the one-qubit scenario. Two consecutive gates kill the coefficients, but two consecutive actually increase their number:
Here the gate is what prevents the recombination by it sends part of the state on the axis, and the denominators no longer cancel, they accumulate. One can show that each raises by exactly one[3], which is precisely what makes the normal form efficient: the reachable states is refined at each word, and the accuracy on the Pauli channel improves as . This also gives an intuition for the unpredictable path noticed on the Bloch sphere: the coefficients of have a strictly growing denominator, so the vector can never land back on a point it has already visited as they carry smaller . The trajectory cannot close and we recover the point made before, this time by counting instead of computing an angle.
Such a number actually has a name, it is called the smallest denominator exponent (sde). For a nonzero , the smallest denominator exponent is the smallest such that
We set , and for a matrix with coefficients in , .
Given a Pauli channel , this number quantifies how many factors are needed to implement the unitary, and thus gives a lower bound on its -count. The argument is direct: a Clifford gate has an integer Pauli channel, so it cannot raise the sde, while a gate raises it by at most one. A circuit with gates therefore has , and is the only way to bring a in the coefficients of . In the general case, this bound is only lower[5]. Nevertheless, in the same reference, Gosset et al. showed that the sde coincides with the optimal -count for the one-qubit scenario.
From this paragraph, we understand how the Pauli channel, together with the ring representation of its coefficients, stores the information on Cliffordness and non-Cliffordness, while the unitary representation does not. Describing the Pauli channel as two integer matrices and one sde ,
we get an explicit handle on the non-Cliffordness: it is entirely carried by .
Reading the -count on a grid Link to heading
At this point we have set up a great framework showing what the non-Clifford part of an evolution brings. Let’s now go a bit further in the geometric intuition. Let’s consider a Pauli channel in the one-qubit scenario:
As the Pauli channel represents how the Bloch vector evolves under the unitary , we understand that controls the precision step accessible in the Bloch sphere.
More precisely, each coefficient is fixed by a pair of integers and by the sde . This pair is the grid: the accessible coefficients are the points of the two-dimensional integer lattice , rescaled by , which can be actually transpose to the Bloch Sphere. This is where we understand the role of , and more specifically of the sde : raising the sde widens the bounds, adds lattice points, and makes the reachable finer. The number of admissible pairs grows as , so each gate roughly doubles the set of reachable points. In other words, the precision with which we want to implement an arbitrary evolution is paid in non-Clifford gates.
The animation below exposes this idea. It shows the grid and the accessible points for a given sde. We see that for a high value of the sde , more points become accessible and the grid becomes sharper.
- As we focus on the evolution, we are only interested in the difference between the initial state and the final state, thus we can arbitrarily define the reference state in the Bloch sphere, for instance a Pauli axis. ↩
- For QEC reasons, especially gate teleportation, we use the gate as the standard non-Clifford gate. ↩
References Link to heading
- Theory of Fault-Tolerant Quantum Computation Phys. Rev. A 57, 127-137 (1998) DOI
- The Heisenberg Representation of Quantum Computers arXiv:quant-ph/9807006 (1998) DOI arXiv
- Representation of Quantum Circuits with Clifford and π/8 Gates arXiv:0806.3834 (2008) DOI arXiv
- Remarks on Matsumoto and Amano's Normal Form for Single-Qubit Clifford+T Operators arXiv:1312.6584 (2019) DOI arXiv
- An Algorithm for the T-count arXiv:1308.4134 (2013) DOI arXiv