The Controlled-NOT Gate
The Controlled-NOT Gate
Marc Bataille
∗
LITIS laboratory, Université Rouen-Normandie
Abstract
We study in details the algebraic structure underlying quantum circuits
generated by CNOT gates. Our results allow us to propose polynomial heuristics
to reduce the number of gates used in a given CNOT gates circuit and we also
give algorithms to optimize this type of circuits in some particular cases.
Finally we show how to create some usefull entangled states using a CNOT
gates circuit acting on a fully factorized state.
∗
685 Avenue de l’Université, 76800 Saint-Étienne-du-Rouvray. France.
1
1 Introduction
The controlled Pauli-X gate, also called the CNOT gate, is a very common and usefull
gate in quantum circuits. This gate involves two qubits i and j in a n-qubit system.
One of the two qubits (say qubit i) is the target qubit whereas the other qubit plays
the role of control. When the control qubit j is in the state |1i then a Pauli-X gate
(i.e. a NOT gate) is applied to the target qubit i which gets flipped. When qubit j
is in the state |0i nothing happens to qubit i.
Actually, CNOT gates are of crucial importance in the fields of quantum computa-
tion and quantum information. Indeed, it appears that single qubit unitary gates
together with CNOT gates constitute an universal set for quantum computation :
any arbitrary unitary operation on a n-qubit system can be implemented using only
CNOT gates and single qubit unitary gates (see [29, Section 4.5.2] for a complete
proof of this important result). As a consequence, many multiple-qubit gates are
implemented in current experimental quantum machines using CNOT gates plus other
single-qubit gates. In Figure 3 we give a few classical examples of such an implemen-
tation : a SWAP gate can be simulated using 3 CNOT gates, a controlled Pauli-Z gate
can be implemented by means of 2 Hadamard single-qubit gates and one CNOT gate.
These implementations are used for instance in the IBM superconducting transmon
device (www.ibm.com/quantum-computing/).
From this universality result it is possible to show that any unitary operation can
be approximated to arbitrary accuracy using CNOT gates together with Hadamard,
Phase, and π/8 gates (see Figure 2 for a definition of these gates and [29, Section
4.5.3] for a proof of this result). This discrete set of gates is often called the standard
set of universal gates. Using a discrete set of gates brings a great advantage in terms
of reliability because it is possible to apply these gates in an error-resistant way
through the use of quantum error-correcting codes (again refer to [29, Chapter 10]
for further information). Currently, important error rates in CNOT gates implemented
on experimental quantum computers are one of the main causes of their unreliability
(see [24, 35] and Table 1). So the ability to correct errors on quantum circuits is a
key point for successfully building a functional and reliable quantum computer. A
complementary approach to the Quantum Error-Correction is to improve reliability
by minimizing the number of gates and particularly the number of two-qubit gates
used in a given circuit. Our work takes place in this context : we show that a precise
understanding of the algebraic structures underlying circuits of CNOT gates makes it
possible to reduce and, in some special cases, to minimize the number of gates in
these circuits.
In this paper we also study the emergence of entanglement in CNOT gates circuits
and we show that these circuits are a convenient tool for creating many types of en-
tangled states. These particular states of a quantum system were first mentionned
by Einstein, Podolsky and Rosen in their famous EPR article of 1935 [9] and in
Quantum Information Theory (QIT) they can be considered as a fundamental phys-
ical resource (see e.g. [22]). Entangled states turn out to be essential in many areas
of QIT such as quantum error correcting codes [13], quantum key distribution [10]
or quantum secret sharing [6]. Spectacular applications such as super-dense coding
1
[3] or quantum teleportation [32, 11, 30] are based on the use of classical entangled
states. This significant role played by entanglement represents for us a good reason
to understand how CNOT gates circuits can be used to create entangled states.
The paper is structured as follows. Section 2 is mainly a background section where
we recall some classical notions in order to guide non-specialist readers. In Section 3
we investigate the algebraic structure of the group generated by CNOT gates. Section
4 will be dedicated to the optimization problem of CNOT gates circuits in the general
case while in Section 5 we deal with optimization in particular subgroups of the
group generated by CNOT gates. Finally in Section 6 we study how to use CNOT gates
circuits to create certain usefull entangled states.
CNOTij 0 1 2 3 4
0 1.035 × 10−2
1 1.035 × 10−2 9.658 × 10−3
2 9.658 × 10−3 9.054 × 10−3
−3
3 9.054 × 10 8.838 × 10−3
4 8.838 × 10−3
Hi 2.656 × 10−4 3.675 × 10−4 2.581 × 10−4 3.572 × 10−4 2.831 × 10−4
Table 1: Error rates for CNOT gates acting on qubits i and j and for Hadamard gates acting on qubit
i, where i, j ∈ {0, 1, 2, 3, 4}. The data comes from ibmq rome 5-qubit quantum computer after a
calibration on May 12, 2020 and is publicly avalaible at www.ibm.com/quantum-computing/.
2
0 1
Pauli-X X
1 0
0 −i
Pauli-Y Y
i 0
1 0
Pauli-Z Z
0 −1
Figure 1: The Pauli gates
A quantum system of two qubits A and B (also called a two-qubit register) lives in
a 4-dimensional Hilbert space HA ⊗ HB and the computational basis of this space
is : (|00i = |0iA ⊗ |0iB , |01i = |0iA ⊗ |1iB , |10i = |1iA ⊗ |0iB , |11i = |1iA ⊗ |1iB ).
If U is any unitary operator acting on one qubit, a controlled-U operator acts on
the Hilbert space HA ⊗ HB as follows. One of the two qubits (say qubit A) is the
control qubit whereas the other qubit is the target qubit. If the control qubit A is
in the state |1i then U is applied on the target qubit B and if qubit A is in the
state |0i nothing is done on qubit B. If U is the Pauli-X operator then CNOT is
nothing more than the controlled-X operator (also denoted by c − X) with control on
qubit A and target on qubit B. So the action of CNOT on the two-qubit register is
described by : CNOT |00i = |00i , CNOT |01i = |01i , CNOT |10i = |11i , CNOT |11i = |10i
(the corresponding matrix is given in Figure 2). Notice that the action of the CNOT
gate on the system can be sum up by the following simple formula :
∀x, y ∈ {0, 1}, CNOT |xyi = |x, x ⊕ yi (1)
where ⊕ denotes the XOR operator between two bits which is also the addition in F2 .
To emphasize that qubit A is the control and B is the target, CNOT is also denoted
CNOTAB . So interchanging the roles played by A and B yields another operator
denoted by CNOTBA .
∀x, y ∈ {0, 1}, CNOTBA |xyi = |x ⊕ y, yi (2)
1 0 0 0
A
0 1 0 0 1 0
CNOT : CNOTAB = 0
Phase : S S=
B 0 0 1 0 i
0 0 1 0
1 1 1 1 0
Hadamard : H H = √2 π/8 : T T= iπ
1 −1 0 e4
Figure 2: The standard set of universal gates : names, circuit symbols and matrices.
Another useful and common two-qubit quantum gate is the SWAP operator whose
action on a basis state vector |xyi is given by : SWAP |xyi = |yxi. The interesting
point is that a SWAP gate can be simulated using 3 CNOT gates :
SWAP = CNOTAB CNOTBA CNOTAB = CNOTBA CNOTAB CNOTBA (3)
3
A
SWAP : ∼ ∼ (5)
B
A H H
CNOTBA : ∼ (6)
B H H
A H H
c−Z: ∼ ∼ (7)
B H H
This identity can be proved easily using equations (1) and (2).
The depth of a quantum circuit is the number of gates composing this circuit and
we say that two circuits are equivalent if their action on the basis state vectors is
the same in theory, i.e. the two circuits represents the same unitary operator. So
Identity (3) is a proof of equivalence (5) in Figure 3. This equivalence can be used
to implement a SWAP gate from 3 CNOT gates on an actual quantum machine. Two
equivalent circuits generaly do not have the same depth. We use the word equivalent
instead of the word equal to emphasize the fact that, due to the errors rate on gates
in all current implementations (see Figure 1), two equivalent circuits acting on two
qubits registers in the same input state will probably not produce in practice the
same output state. This experimental fact is an important technical problem and a
good motivation to work on quantum circuits optimization.
Equivalence (6) in Figure 3 is usefull in practice because the CNOTBA gate may not be
native in some implementations, so we need to simulate it : this can be done using
the native gate CNOTAB plus 4 Hadamard gates. Finally another classical equivalence
of quantum circuits involves the CNOT gate with the controlled Pauli-Z gate (also
denoted by c − Z) and the Hadamard gate (equivalence (7) in Figure 3). We already
mentionned it in the introduction to emphasize the ubiquity of the CNOT gates in
quantum circuits as well as the importance of the universality theorem. Using the
definitions of the Pauli-Z gate (Figure 1) and of a controlled-U gate, it is easy to
check that the action of the c − Z gate on a basis state vector is defined by
and that it is invariant by switching the control and the target qubits. Equivalence
(7) can be proved using the definition of the Hadamard gate (Figure 1) and Relation
(4).
On a system of n qubits, we label each qubit from 0 to n − 1 thus following the
usual convention. For coherence we also number the lines and columns of a matrix
of dimension n from 0 to n − 1 and we consider that a permutation of the symmetric
4
group Sn is a bijection of {0, . . . , n − 1}. The n-qubit system evolves over time in
the Hilbert space H0 ⊗ H1 ⊗ · · · ⊗ Hn−1 where Hi is the Hilbert space of qubit i.
n
Hence the Hilbert space of an n-qubit system is isomorphic to C2 . In this space,
a state vector of the standard computational basis is denoted by |b0 b1 · · · bn−1 i with
bi ∈ {0, 1}. A CNOT gate with target on qubit i and control on qubit j will be denoted
Xij . The reader will pay attention to the fact that our convention is the opposite of
the one generaly used in the literature (and in the beginning of this section) where
CNOTij denotes a CNOT gate with control on qubit i and target on qubit j. The reason
for this convention is explained in the proof of Theorem 4, Section 3. So, if i < j,
the action of Xij and Xji on a basis state vector is given by :
Notice that the Xi,j gates are (represented by) matrices of size 2n × 2n in the or-
thogonal group O2n (R) and that they are permutation matrices.
1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
q0
0 0 0 0 0 0 0 1
X02 : q1
0
0 0 0 1 0 0 0
q2
0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
Figure 4: The gate X02 in a 3-qubit circuit and its matrix in the standard basis.
5
0
iff they are in the same conjugacy class. For instance σ = (350)(24)
has the same
0 1 2 3 4 5
cycle type as σ and σ 0 = γσγ −1 where γ = .
5 2 3 1 0 4
A SWAP gate between qubit i and qubit j is denoted by S(ij) where (ij) is the cyclic
notation for the transposition that exchange i and j. Since the symmetric group
Sn is generated by the transpositions, it is straightforward to prove that the group
generated by the S(ij) is isomorphic to the symmetric group : each SWAP gate S(ij) in
a n-qubit circuit corresponds to the transposition (ij) in Sn . Notice that the cyclic
notation of a transposition (i.e. (ij) = (ji)) implies S(ij) = S(ji) which is coherent
with the symmetry of a SWAP gate. More generaly any circuit of SWAP gates maps
to a permutation σ (examples in Figure 5 and Figure 13). If we denote by Sσ the
unitary operator corresponding to that circuit one has :
q0
q1
σ = (024)(13) Sσ = S(02) S(24) S(13) q2
q3
q4
Figure 5: A 5-qubit quantum circuit of SWAP gates and the corresponding permutation
q0
q1
X12 X10 X31 X03 :
q2
q3
6
Proposition 1. The following identities are satisfied by the generators of cXn .
Proof. One checks each identity A = B by showing that the actions of gates A and
B on a basis state vector |b0 · · · bn−1 i are the same. Using identities 8 and 9, the
results follow from direct computation let to the readers.
q0
q1
∼ ∼
q2
q3
X03 = X02 X23 X02 X23 = X23 X02 X23 X02
Using the identities from Proposition 1, one gets easily the conjugacy relations in
cXn :
Xij Xjk Xij = Xjk Xik and Xij Xki Xij = Xki Xkj . (16)
Proof. Since the transpositions generate the symmetric group, it suffices to prove
the result when σ is a transposition, i.e. Sσ = Xk` X`k Xk` for some ` 6= k. Hence,
the result comes straightforwardly from equalities (12), (13), (14) and (16).
We denote by SLn (K) the special linear group on a field K and by Tij (n) the matrix
In + nEij where n ∈ K \ {0}, i 6= j and Eij is the matrix with 0 on all entries
but the entry (i, j) which is equal to 1. Let (ek )06k<n be the canonical basis of the
vector space K n and (e∗k )06k<n its dual basis. Then the matrix Tij (n) represents
in the canonical basis the automorphism tij (n) : u → u + ne∗j (u)ei of K n which is
7
q0
q1
∼ ∼
q2
q3
X03 = S(02) X23 S(02) = S(23) X02 S(23)
a transvection fixing the hyperplane hek | k 6= ji and directed by the line hei i. So
Tij (n) is a transvection matrix and this is a well known fact in linear algebra that
the transvection matrices generate SLn (K). A simple way to find a decomposition
in transvection matrices of any matrix M in SLn (K) is to use the Gauss-Jordan
algorithm with M as input. This algorithm is generaly used to compute an inverse
of a matrix but it also yields a decomposition of M as a product of transvections
(see Figure 11 in Section 4 for an example).
If K = F2 then n = 1 and the set {Tij (n)|n ∈ K} is reduced to the n(n − 1)
transvection matrices Tij := In + Eij . Moreover, since any invertible matrix of
GLn (F2 ) has determinant 1, one has :
GLn (F2 ) = hTij | 0 6 i, j < n, i 6= ji . (19)
We recall that the Gauss-Jordan algorithm is based on the following observation :
Proposition 3. Multiplying to the left (resp. the right) any F2 -matrix M by a
transvection matrix Tij is equivalent to add the jth line (resp. ith column) to the ith
line (resp. j column) in M .
In particular, one has
b0 b0
.. ..
. .
bi bi ⊕ bj
. .
.. = .. .
Tij (20)
b b
j j
. .
.. ..
bn−1 bn−1
The notation |b0 b1 · · · bn−1 i used in QIT is a shorthand for the tensor product |b0 i ⊗
|b1 i ⊗ · · · ⊗ |bn−1 i and it is convenient to identify the binary label b0 b1 · · · bn−1 with
the column vector u = [b0 , b1 , · · · , bn−1 ]T of Fn2 since the ⊕ (XOR) operation between
two bits corresponds to the addition in F2 . So the computational basis of the Hilbert
space H0 ⊗ H1 ⊗ · · · ⊗ Hn−1 is from now on denoted by (|ui)u∈Fn and using Relation
2
(20) we can rewrite Relation (8) in a much cleaner way as
Xij |ui = |Tij ui . (21)
The above considerations lead quiet naturally to the following theorem :
8
Theorem 4. The group cXn generated by the CNOT gates acting on n qubits is
isomorphic to GLn (F2 ). The morphism Φ sending each Xij to Tij is an explicit
isomorphism.
Proof. The surjectivity of Φ is due to the fact that GLn (F2 ) is generated by the
transvections Tij . Furthermore, due to Relation (21), a preimage N by Φ of a
matrix M in GLn (F2 ) must satisfy the relation N |ui = |M ui for any basis vector
|ui and there is only one matrix N satisfying this relation. So Φ is also injective
and the result is proved.
Notice that the image by Φ of a SWAP matrix S(ij) is a transposition matrix P(ij) :=
Tij Tji Tij = Tji Tij Tji in GLn (F2 ) and more generaly Φ(Sσ ) is the permutation matrix
Pσ for any permutation σ in Sn . From now on we will denote by M σ = Pσ M Pσ−1
the conjugate of a matrix M in GLn (F2 ) by a permutation matrix Pσ . Using the
isomorphism Φ, Relation (18) leads to
The order GLn (F2 ) is classicaly obtained by computing the number of different basis
of Fn2 and Theorem 4 implies
Corollary 5.
n
n(n−1) Y
|cXn | = 2 2 (2i − 1). (23)
i=1
In his ”Lectures on Chevalley Group” [31, Chapter 6], Steinberg gives a presentation
of the special linear group on a finite field K in dimension n > 3. The notation (a, b)
stands here for the commutator of two elements a and b of a group (i.e. a−1 b−1 ab)
which is usualy denoted by [a, b].
Theorem 6. (Steinberg)
If n > 3 and K is a finite field, the symbols xij (t), (1 6 i, j 6 n, i 6= j, t ∈ K)
subject to the relations :
(B) (xij (t), xjk (u)) = xik (tu) if i, j, k are distinct, (xij (t), xk` (u)) = 1
if j 6= k, i 6= `
9
Corollary 7. If n > 3, a presentation of the group cXn is < S | R > where S is
the set of the n(n − 1) symbols xij (0 6 i, j 6 n − 1, i 6= j) and R is the set of the
relations :
x2ij = 1, (24)
2
(xij xjk ) = xik , (25)
(xij xk` )2 = 1 if i 6= `, j 6= k. (26)
We remark that all the identities given by Proposition 1 appear in this presentation
but Identity (13). Of course the braid relation (13) can be deduced from the presen-
tation relations but the calculation is tricky. First of all, using the above relations
we obtain the conjugacy relation xij xjk xij = xjk xik = xik xjk (as we did to obtain
Relation (16)). Then we use many times this conjugacy relation to obtain the re-
lation xij xji xij xji xij = xji and finally we get the braid relation xij xji xij = xji xij xji
using Relation (24). The calculation is detailled in Figure 9.
xji xij xji = xji (xik xkj )2 xji xij xji xij xji xij = xij (xik xjk xki xkj )2 xij
= (xji xik xkj xji )2 = (xij xik xjk xki xkj xij )2
= (xji xik xji xji xkj xji )2 = (xik xij xjk xki xij xkj )2
= (xik xjk xki xkj )2 = (xik xik xjk xki xkj xkj )2
= (xjk xki )2
= xji
Figure 9: Getting the braid relation xij xji xij = xji xij xji from Corollary 7.
A classical result in Group Theory is that the projective special linear group PSLn (K)
is simple when n > 3 (see e.g. [34, Chapter 3] for a proof). This group is defined as
SLn (K)/Z where Z is the subgroup of all scalar matrices with determinant 1, which
appears to be the center of SLn (K) . If K = F2 the identity matrix is is the only
scalar matrix that has determinant 1 and the center of SLn (F2 ) is reduced to the
trivial group. Hence SLn (F2 ) = PSLn (F2 ) and the group cXn is simple when n > 3.
If n = 2, cX2 has order 6 and is isomorphic to S3 , one possible isomorphism being
X01 ' (01), X10 ' (12), X01 X10 ' (012), X10 X01 ' (021) and X01 X10 X01 ' (02). So
cX2 is not a simple group since the alternating group is always a normal subgroup
of Sn .
Identity (15) involves 3 distinct integers i, j, k and can be generalized by induction
to an arbitrary number of distinct integers in the following way :
Proposition 8. Let i1 , i2 , . . . , ip be distinct integers (p > 3) of {0, 1, . . . , n − 1},
then :
2
Xi1 ,ip = Xi1 ,i2 Xi2 ,i3 . . . Xip−2 ,ip−1 Xip−1 ,ip Xip−2 ,ip−1 . . . Xi2 ,i3 (27)
Proposition 8 provides a simple way to adapt any CNOT gate to the topological
constraints of a given quantum computer. These constraints can be represented by
10
a directed graph whose vertices are labelled by the qubits. There is an arrow from
qubit i to qubit j when these two qubits can interact to perform an Xij operation
on the system. In a device with the complete graph topology, the full connectivity
is achieved (see e.g. [24, 35]) and any Xij operation can be performed directly
(i.e. without involving other two-qubit operations on other qubits than i and j).
In contrast, the constraints in the LNN (Linear Nearest Neighbour) topology are
strong as direct interaction is allowed only on consecutive qubits, i.e. only Xi,i+1 or
Xi+1,i [36]. Of course there are also many intermediate graph configurations as in
the IBM superconducting transmon device (www.ibm.com/quantum-computing/).
To implement a Xij gate when there is no arrow between i and j, the usual method
is to use SWAP gates together with allowed CNOT gates as we did in Figure 8. But,
if SWAP gates are implemented on the device using 3 CNOT gates (circuit equivalence
(5)), this implementation can be done in a more reliable fashion by using less gates :
just find a shortest path (i1 = i, . . . , ip = j) between i and j in the undirected graph,
then apply formula (27). Notice that it can be important to take into account the
error rate associated to each arrow (i, j) in the shortest path computation since it
may vary from one gate to another (see Figure 1). Case of (ik , ik+1 ) is not an arrow,
use the classical equivalence 6 in Figure 3 to invert target and control. Of course
this adds two single-qubit gates to the circuit but the impact on reliability is small
since on current experimental quantum devices the fidelity of single qubit gates as
the Hadamard gate is much higher than any two-qubit gate fidelity (e.g. Figure 1
again). In the example below, we implement a CNOT gate considering the topology
of the 15-qubit ibmq 16 melbourne device :
0 1 2 3 4 5 6
14 13 12 11 10 9 8 7
We end this section by remarking that GLp (F2 ) can be regarded as a subgroup
of GLn (F2 ) if p < n. Indeed,
let ϕ be the injective morphism from GLp (F2 ) into
M 0
GLn (F2 ) defined by ϕ(M ) = , one has GLp (F2 ) ' ϕ(GLp (F2 )), so we will
0 In−p
consider that GLp (F2 ) ⊂ GLn (F2 ) and no distinction will be made between matrices
M and ϕ(M ).
11
is a reduction of C (or that C has been reduced to C 0 ) and if C 0 is optimal we say
that C 0 is an optimization of C (or that C has been optimized to C 0 ).
For a better readability we denote from now on the transvection matrix Tij by [ij]
and the permutation matrix Pσ by σ. As a consequence, (ij) denotes the transposi-
tion which exchanges i and j as well as the transposition matrix P(ij) . Notice that
(ij) = (ji) but [ij] = [ji]T ([ij] is the transpose matrix of [ji]). With these notations
the braid relation (13) becomes (ij) = (ji) = [ij][ji][ij] = [ji][ij][ji] and Identity
(22) becomes σ[ij]σ −1 = [ij]σ = [σ(i)σ(j)]. In particular, (ij)[ij](ij) = [ij](ij) = [ji].
From Section 3, any CNOT circuit can be optimized using the following rewriting
rules.
[ij]2 = 1 (28)
[ij][jk][ik] = [ik][ij][jk] = [jk][ij] ; [ij][ki][kj] = [kj][ij][ki] = [ki][ij] (29)
[ij][jk][ij] = [jk][ik] = [ik][jk] ; [ij][ki][ij] = [ki][kj] = [kj][ki] (30)
[ij][kl] = [kl][ij] ; [ij][ik] = [ik][ij] ; [ij][kj] = [kj][ij] (31)
−1
σ[ij] = [ij]σ σ = [σ(i)σ(j)]σ ; [ij]σ = σ[ij]σ = σ[σ −1 (i)σ −1 (j)] (32)
In practice one tries to find an ad hoc sequence of the above rules to reduce or to opti-
mize a given circuit (see Figure 10 for an example) but the computation can be tricky
even with a few qubits. So it is difficult to build a general reduction/optimization
algorithm from Proposition 9.
To optimize a CNOT circuit of a few qubits we use a C ANSI program that builds
the Cayley Graph of the group GLn (F2 ) by Breadth-first search and then find in the
graph the group element corresponding to that circuit. This program optimizes in a
few seconds any CNOT circuit up to 5 qubits and the source code can be downloaded at
https://github.com/marcbataille/cnot-circuits. In the rest of this article we
refer to it as ”the computer optimization program”. However, due to the exponential
growth of the group order (for instance Card(cX6 ) = 20 158 709 760), the computer
method fails from 6 qubits with a basic PC. In this context we remark that the
Gauss Jordan algorithm mentionned in Section 3 can be used as a heuristic method
to reduce a given CNOT gates circuit (see Figure 11 for a detailled example). It works
as follows.
12
q0
Circuit C to reduce : q1
q2
M = [10](02)[01][12][20][01]
(32)
= (02)[12][01][12][20][01]
(30)
= (02)[01][02][20][01]
(32)
= [21](02)[02][20][01]
= [21][02][20][02][02][20][01]
(28)
= [21][02][01]
(29)
= [02][21]
q0
Optimized circuit C 0 ∼ C : q1
q2
Figure 10: Optimizing a CNOT circuit using an adhoc sequence of reduction rules.
and this decomposition is unique. If at a given step the bit on the diagonal
is 0 then we have to choose another pivot and the matrix K is not triangular
anymore. Morevoer the decomposition M = KU is not unique as the matrix
K depends on the choice of the pivot at each step, so the algorithm is not
deterministic in this case.
We note that the circuit C 0 obtained by this process is generally not optimal even
for small values of n. However the Gauss-Jordan algorithm has the great advantage
of providing an upper bound on the optimal number of CNOT gates in a circuit.
Proposition 10. Any n-qubit circuit of CNOT gates is equivalent to a circuit com-
posed of less than n2 gates.
13
Proof. We apply the Gauss-Jordan elimination algorithm to get a decomposition
of M ∈ GLn (F2 ) in transvections. The first part of the algorithm consists in mul-
tiplying M to the left by a sequence of transvections in order to obtain an upper
triangular matrix U . For k = 0, 1, . . . , n − 1, we consider the column k and the
entry of the matrix on the diagonal. If this entry is 1 we choose it as a pivot but
if it is 0 we first need to put a 1 on the diagonal. This can be done by swaping
row k with a row ` whose entry (`, k) is 1. However, this will cost 3 transvections
and it is more economical to add row ` to row k, i.e. multiplying to the left by
[k, `]. The number of left multiplications by transvections necessary to have a pivot
equal to 1 on the diagonal at each step is bounded by n − 1 and the number of
left multiplications necessary to eliminate the 1’s below the pivot is bounded by
n − 1 + · · · + 1 = n(n−1)
2
. Hence the number of transvections that appears in the
first part of the algorithm is bounded by n(n+1) 2
− 1. In the second part of the
algorithm we just write the canonical decomposition of U which contains at most
n − 1 + n − 2 + · · · 1 = n(n−1)
2
transvections. Finally we see that the number of
transvections in the resulting decomposition of M is at most n2 − 1.
q0
q1
INPUT : C =
q2
q3
M = [02][30][21][23][32][20][23][30][20][03][12][01]
0 1 1 1 1 0 0 0 1 0 0 0
0 1 1 0 0 1 1 0 0 1 1 0
M =1 0 1 0 ; [03]M = 1 0 1 0 ; [31][20][30][03]M = 0
0 1 0
1 1 1 1 1 1 1 1 0 0 0 1
K = [03][30][20][31] ; U = [12] ; M = KU = [03][30][20][31][12]
q0
q1
OUTPUT : C 0 =
q2
q3
Figure 11: The Gauss-Jordan algorithm applied to a CNOT gates circuit.
14
Algorithm 11. Upper Triangular Decomposition (UTD algorithm)
INPUT : An upper triangular matrix U in GLn (F2 ).
OUTPUT : A sequence S = (t0 , t1 , . . . , tp−1 ) of transvections such that U = p−1
Q
j=0 tj .
1 S = (); j = 0;
2 while U 6= I :
3 for i = 0 to n − 2 :
4 if |Li | > 1 :
5 Let Ei = {k | i < k 6 n − 1 and |Li ⊕ Lk | < |Li |};
6 if Ei 6= ∅ :
7 Choose the smallest k ∈ Ei such that |Li ⊕ Lk | is minimal;
8 U = [ik]U ;
9 tj = [ik] ; j = j + 1;
10 return S;
The algorithm ends because for each loop (for i = 0 to n − 2) the number of
1’s in the matrix decreases of at least one. Indeed, there is always at least one
couple (i, k) choosen during this loop, namely : i = max{j | |Lj | > 1} and k =
max{j | Uij 6= 0}. Furthermore, we notice that the number of transvections in the
decomposition S is always less than or equal to the number of transvections in the
canonical decomposition of the matrix U since each transvection in the canonical
decomposition of U contributes to a decrease of exactly one in the initial number of
1’s in the matrix U whereas each transvection in S contributes to a decrease of at
least one in this initial number of 1’s.
Again, the decomposition obtained by applying the Gauss-Jordan algorithm followed
by the UTD or LTD algorithm is generally not optimal. In fact we conjecture the
following result.
Conjecture 12. Any n-qubit circuit of CNOT gates is equivalent to a circuit composed
of at most 3(n − 1) gates. The upper bound of 3(n − 1) gates is reached only in the
special case of SWAP gates circuits Sσ where σ is a cycle of length n in Sn .
15
optimal length n=2 n=3 n=4 n=5
l=0 1 1 1 1
l=1 2 6 12 20
l=2 2 24 96 260
l=3 1 51 542 2 570
l=4 60 2 058 19 680
l=5 24 5 316 117 860
l=6 2 7 530 540 470
l=7 4 058 1 769 710
l=8 541 3 571 175
l=9 6 3 225 310
l = 10 736 540
l = 11 15 740
l = 12 24
Order of cXn 6 168 20 160 9 999 360
Table 2: Number of elements of cXn having an optimal decomposition of length l. The numbers
in bold correspond to the (n − 1)! cyclic permutations of length n.
Proof. Let λ = (n1 , . . . , np ) be the cycle type of σ. Any cycle of length ni can be
decomposed in the product of ni − 1 transpositions and each transposition can be
decomposed in a product of 3 transvections,
Pp so the total number of transvections
used in the decomposition of Pσ is 3 i=1 (ni − 1) = 3(n − p).
The following conjecture has been checked up to 5 qubits using the computer opti-
mization program.
16
q0
q1
INPUT : C = q2 (13 CNOT)
q3
q4
M = [21][32][23][41][20][40][01][31][21][42][43][12][34]
1 1 1 0 0 1 0 0 0 0 1 1 1 0 0
0 1 1 0 0 0 1 0 0 0 0 1 1 0 0
M = 1 0 1 1 1 = 1 1 1 0 0 0 0 1
1 1
1 0 1 0 0 1 1 1 1 0 0 0 0 1 1
1 0 1 1 0 1 1 1 0 1 0 0 0 0 1
| {z }| {z }
L U
A1 0 . . . 0
. .
0 A2 . . ..
consider the matrix MS = . . where S = (A1 , . . . , Ap ) is a tuple of
.. .. ... 0
0 . . . 0 Ap
matrices Ai in GLni (F2 ). Here MS is a block diagonal matrix and we shall see right
after the case of the conjugate of a block diagonal matrix by a permutation matrix.
Clearly {MS | S ∈ GLn1 (F2 ) × · · · × GLnp (F2 )} is a group isomorphic to the direct
group product GLn1 (F2 ) × · · · × GLnp (F2 ) since
A1 0 . . . 0 In1 0 ... 0
. . .. .. ..
0 In2 . . .. 0 . . .
MS = . . . × ··· × . . where Iα is the identity
.. .. .. 0 .. . . In 0
p−1
0 . . . 0 Inp 0 ... 0 Ap
matrix in dimension α. This equality can be written as MS = pi=1 Mi where
Q
17
q0 q0
q1 q1
C1 C2 ∼ C1 C2
q2 q2
q3 q3
0 1 0 0
0 0 1 0
M = Pσ =
0
; σ = (3210) = (23)(12)(01)
0 0 1
1 0 0 0
Figure 13: A cyclic permutation of the qubits between two circuits C1 and C2
INi−1 0 0
0 and Ni = ik=1 nk . We recall that the conjugation M σ =
P
Mi = 0 Ai
0 0 In−Ni
−1
Pσ M Pσ of a square matrix M by a permutation matrix Pσ has the following effect
on M : if we denote by Li (resp. L0i ) and Ci (resp. Ci0 ) the lines and columns
of matrix M (resp. M σ ) then L0i = Lσ−1 (i) and Ci0 = Cσ−1 (i) , hence if M = (mij )
and M 0 = (m0ij ) then m0ij = mσ−1 (i)σ−1 (j) . So, if we consider now a tuple of p
permutations (σ1 , . . . , σp ) verifying the conditions σi (n1 +n2 +· · ·+ni−1 ) = 0, σi (n1 +
n2 + · · · + ni−1 + 1) = 1, . . . , σi (n1 + n2 + · · · + ni−1 + ni −1) = ni − 1 then
−1 −1 Ai 0
MS = pi=1 (Miσi )σi = pi=1 (Mi0 )σi where Mi0 =
Q Q
' Ai . Moreover,
0 In−ni
for Relation (22), the number of transvections in an optimal decomposition of any
matrix M in GLn (F2 ) is the same as the number of transvections in an optimal
decomposition of M σ for any permutation σ. As a consequence, the product of the
conjugates by σi−1 of any optimal decomposition of the matrix Ai yields an optimal
decomposition of the matrix MS (see Figure 14 for an example).
The generalization of the previous situation to the case of a matrix M = MSσ where
MS is a block diagonal matrix and σ a permutation matrix is straightforward. In-
deed, if we have an optimal decomposition of MS in transvections, then we deduce
an optimal decomposition for MSσ by conjugating by σ each transvection in the de-
composition of MS . This is due to the fact that the number of transvections in an
optimal decomposition of any matrix M in GLn (F2 ) is the same as the number of
transvections in an optimal decomposition of M σ (see Relation (22)). In fact the
problem we adress here is rather the following : how can we efficiently recognize that
the matrix M is of type M = MSσ ? To do that we interpret the matrix M of the
circuit in dimension n as the adjacency matrix of the directed graph G(M ) whose set
of vertices is V = {0, 1, . . . , n − 1} and whose set of edges is E = {(i, j) | mij = 1}.
We call G(M ) the graph of the circuit. The graph (G(M ))σ defined by the set of
vertices σ(V ) = V and by the set of edges Enσ = {(σ(i), σ(j)) | mij = 1} is isomor-
phic to G(M ). Besides, Enσ = {(i, j) | mσ−1 (i)σ−1 (j) = 1} and M σ = mσ−1 (i)σ−1 (j) ,
so (G(M ))σ = G(M σ ). The graph G(MS ) is a disconnected graph whose p con-
nected components are V1 = {0, . . . , n1 − 1}, V2 = {n1 , . . . , n1 + n2 − 1}, . . . , Vp =
18
1 0 1 1 0 0 0
1 0 1 0 0 0 0
0 1 1 1 0 0 0
1 0 1 1
1 0 1 0
1 1 1 1 0 0 0 where A1 = 0 1 1 1 and
Let M(A1 ,A2 ) =
0 0 0 0 0 0 1
0 0 0 0 1 1 1
1 1 1 1
0 0 0 0 0 1 1
0 0 1
0 1 2 3 4 5 6
A2 = 1 1 1 . Let σ1 = I7 and σ2 =
, then :
3 4 5 6 0 1 2
0 1 1
σ−1
1 0 1 1 0 0 0 0 0 1 0 0 0 0 2
1 0 1 0 0 0 0 1 1 1 0 0 0 0
0 1 1 1 0 0 0 0 1 1 0 0 0 0
−1 −1
= M10 σ1 M20 σ2 .
1 1 1 1 0 0 0 0 0 0 1 0 0 0
M(A1 ,A2 ) =
0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 0 0 0 0 0 0 1
Using the computer optimization program, one finds
A1 = [13][01][30][21][13][02][01] , A2 = [01][12][10][21][01].
Hence an optimal decomposition for M is
−1
M(A1 ,A2 ) = [13][01][30][21][13][02][01]([01][12][10][21][01])σ2
= [13][01][30][21][13][02][01][45][56][54][65][45].
Figure 14: Decomposition of a matrix using cartesian product of subgroups.
19
q0
q1
q2
INPUT : C = q3 (14 CNOT)
q4
q5
q6
1 0 0 1 0 1 1
0 1 1 0 1 0 0 C1 = {0, 3, 5, 6}, C2 = {1, 2, 4}
0 0 0 0 1 0 0 0 1 2 3 4 5 6
σ=
M = 0 0 0 0 0 1 1
3 5 4 1 6 0 2
0 1 0 0 1 0 0
−1 0 1 2 3 4 5 6
1 0 0 0 0 1 1 σ =
5 3 6 0 2 1 4
1 0 0 1 0 0 1
1 0 1 1 0 0 0
1 0 1 0 0 0 0
0 1 1 1 0 0 0
Mσ = 1 1 1 1 0 0 0 = M(A1 ,A2 )
0 0 0 0 0 0 1
0 0 0 0 1 1 1
0 0 0 0 0 1 1
From example 14, M(A1 ,A2 ) = [13][01][30][21][13][02][01][45][56][54][65][45].
The corresponding circuit is :
q0
q1
q2
q3
q4
q5
q6
σ −1
M = M(A 1 ,A2 )
= [30][53][05][63][30][56][53][21][14][12][41][21]
q0
q1
q2
OUTPUT : C 0 = q3 (12 CNOT)
q4
q5
q6
Figure 15: Circuit optimization using a cartesian product of subgroups.
20
1 1
1 0 0 1 1 1
1 1
0 1 1 0 1 1
reversed. For instance (02)(13) =
0
and I4 = .
1
1 1 1 1 0 1
1 0
1 1 1 1 1 0
0 0 1 0 0 1 1 1
0 0 0 1
1 0 1 1
We check that σ = σI. For instance (02)(13) =
1 0
.
0 0 1 1 0 1
0 1 0 0 1 1 1 0
Lemma 15. Let n > 2 be an even integer.
2
In ∈ GLn (F2 ) and In = In . (33)
∀σ ∈ Sn , σIn σ −1 = In . (34)
∀σ, γ ∈ Sn , σ γ = σγ. (35)
Proof. Let denote by 1n the matrix of dimension n whose elements are all equal to
2
1. One has In = (In ⊕ 1n )2 = In2 ⊕ 12n = In ⊕ 12n . If n is even then 12n = 0, hence
2
In = In . Besides σIn σ −1 = σ(In ⊕ 1n )σ −1 = σIn σ −1 ⊕ σ1n σ −1 = In ⊕ 1n = In .
2
Finally σ γ = σIn γIn = σγγ −1 In γIn = σγIn = σγ.
From Lemma 15 we directly deduce the structure of the group < σ, σ > :
Proposition 16. The group generated by the permutation matrices and the matrix
In is isomorphic to the cartesian product Sn × (F2 , ⊕).
The following lemma gives a simple decomposition for the product of [ij][ki][jk] by
a transposition matrix (ij), (ki) or (jk). We use it in the proof of Proposition 19.
21
One obtains similar rules for matrices of type [ij][jk][ki] by taking the inverse of
each member of the identities of Lemma 17. For convenience we denote the product
[ij][ki][jk] by [ijk]. With this notation one has [ij][jk][ki] = [kij]−1 .
Proposition 18. Let n > 2 be even and let n = 2q.
q−2
Q
Let Bq = [2i + 1 2i + 2 2i + 3] if q > 1 and B1 = I2 . Then
i=0
22
So, from Equation (43), we now have a decomposition of I2q in 3(q − 2) + 8 +
3(q − 2) = 3(n − 1) − 1 transvections. We remark that this result is coherent with
Conjecture 12. Indeed, since I2q is not a cycle of length n in GLn (F2 ), it must have
a decomposition in striclty less than 3(n − 1) transvections. We also conjecture that
this decomposition of In in 3(n − 1) − 1 transvections is optimal and we checked this
conjecture for n = 4 using our computer optimization program.
Actually Proposition 18 is a special case of the following proposition.
Proposition 19. Let n > 2 be even and let n = 2q. For any permutation matrix σ
of GLn (F2 ) different from In there exists q − 1 matrices M1 , . . . , Mq−1 of type [xyz]
0
, q − 1 integers εi ∈ {1, −1}, q − 1 matrices M10 , . . . , Mq−1 of type [xyz] and q − 1
0
integers εi ∈ {1, −1} such that :
q−1 q−1
0ε0i
Y Y
In = Miεi σ Mi (44)
i=1 i=1
Proof. Let n > 2 be an even integer. We denote by Pn∗ the set of decreasing parti-
tions λ of n such that λ 6= (1, . . . , 1). Any λ ∈ Pn∗ is the cycle type of a permutation
different from the identity (see Section 2). If λ ∈ Pn∗ , we denote by αλ the per-
mutation of Sn (or equivalently the permutation matrix of GLn (F2 )) defined by :
p−1 p
X X
αλ = (0 . . . n1 − 1) (n1 . . . n1 + n2 − 1) . . . ( ni · · · ni − 1).
| {z }| {z }
i=1 i=1
cycle of length n1 cycle of length n2 | {z }
cycle of length np
Notice that αλ has cycle type λ and is therefore different from the identity.
If n > 4 and λ ∈ Pn∗ , we denote by λ−2 the element of Pn−2 ∗
obtained from λ as
follows. To describe the operation we distinguish the general case (np > 2) and three
specific cases and we write each time the relation between αλ and αλ−2 . Notice that
∗
αλ−2 is a permutation in Sn−2 or a permutation matrix in GLn−2 (F2 ) since λ ∈ Pn−2
but we can consider αλ−2 as a permutation in Sn (by setting αλ−2 (n − 2) = n − 2
and αλ−2 (n − 1) = n − 1) or as a permutation matrix of GLn (F2 ) (using the injective
morphism ϕ from GLn−2 (F2 ) into GLn (F2 )).
In the general case, λ−2 := (n1 , . . . , np −2), so αλ−2 = αλ (n−2 n−1)(n−3 n−2).
If np = np−1 = 1 (first specific case), λ−2 := (n1 , . . . , np−2 ), hence αλ−2 = αλ . If
np = 1 and np−1 > 1 (second specific case), λ−2 := (n1 , . . . , np−2 , np−1 − 1), hence
αλ−2 = αλ (n − 3 n − 2). If np = 2 (third specific case), λ−2 := (n1 , . . . , np−1 ), hence
αλ−2 = αλ (n − 2 n − 1).
Without loss of generality we can prove Proposition 19 in the case of a permutation
σ = αλ where λ ∈ Pn∗ . Indeed, if σ is any permutation (different from the identity)
that has cycle type λ, then σ is in the same conjugacy class as αλ since they have
the same cycle type and we build a permutation γ such that σ = γαλ γ −1 . Since
q−1 q−1
Q 0ε0i γ
Q εi 34
In = Mi αλ Mi and In = In , it follows that
i=1 i=1
q−1 q−1 γ
0ε0i
Y Y
In = (Miεi )γ σ Mi . (45)
i=1 i=1
23
To conclude it is sufficient to notice that ([ijk]ε )γ = [γ(i)γ(j)γ(k)]ε for any permu-
tation γ and for ε ∈ {−1, 1}. So Equation (45) can easily be writen under the form
of Equation (44) and this proves Proposition 19 for the permutation σ.
We prove now Proposition 19 for a permutation αλ , by induction on n > 2 even.
The intial case is clear since there is only one partition of 2 different from (1, 1)
namely λ = (2). In this case αλ = (01) = I2 .
∗
Induction step : let n > 2 be an even integer, let λ in Pn+2 and αλ in Sn+2 . From
−1
Proposition 18, one has In+2 = [n − 1 n n + 1] In [n − 1 n n + 1]. We use the
q−1
Q εi q−1
Q 0ε0i
induction hypothesis on αλ−2 ∈ Sn : In = Mi αλ−2 Mi , hence
i=1 i=1
q−1 q−1
0ε0
Y Y
−1
In+2 = [n − 1 n n + 1] Miεi αλ−2 Mi i [n − 1 n n + 1]. (46)
i=1 i=1
We consider now the different possible relations between αλ−2 and αλ , starting by
the three specific cases and ending by the general case which is more technical.
In the first case αλ−2 = αλ , so Equation (46) becomes
q−1
Q εi q−1
Q 0ε0i
In+2 = [n − 1 n n + 1]−1 Mi αλ Mi [n − 1 n n + 1]
i=1 i=1
and we are done with the induction step.
In the second case αλ−2 = αλ (n − 1 n), so Equation (46) becomes
q−1 q−1
0ε0
Y Y
−1
In+2 = [n − 1 n n + 1] Miεi αλ (n − 1 n) Mi i [n − 1 n n + 1]. (47)
i=1 i=1
q−1
Q 0ε0i
Let M = (n − 1 n) Mi [n − 1 n n + 1]. One has :
i=1
q−1
Q 0ε0i (n−1 n)
M= Mi (n − 1 n)[n − 1 n][n + 1 n − 1][n n + 1]
i=1
q−1
0ε0 (n−1 n)
37 Q
= Mi i [n − 1 n][n n + 1][n + 1 n − 1]
i=1
q−1
Q 0ε0i (n−1 n)
= Mi [n + 1 n − 1 n]−1 .
i=1
Hence Equation (47) becomes
q−1 q−1 (n−1
Y Y 0ε0i n)
−1
In+2 = [n − 1 n n + 1] Miεi αλ Mi [n + 1 n − 1 n]−1
i=1 i=1
and we are done with the induction step since ([xyz]ε )σ = [σ(x)σ(y)σ(z)]ε where
σ = (n − 1 n).
In the third case αλ−2 = αλ (n n + 1), so Equation (46) becomes
q−1 q−1
0ε0
Y Y
−1
In+2 = [n − 1 n n + 1] Miεi αλ (n n + 1) Mi i [n − 1 n n + 1]. (48)
i=1 i=1
24
q−1
Q 0ε0i
Let M = (n n + 1) Mi [n − 1 n n + 1]. One has :
i=1
q−1
Q 0ε0i (n n+1)
M= Mi (n n + 1)[n − 1 n][n + 1 n − 1][n n + 1]
i=1
q−1
0ε0 (n n+1)
41 Q
= Mi i [n n − 1][n − 1 n + 1][n + 1 n]
i=1
q−1
Q 0ε0i (n n+1)
= Mi [n + 1 n n − 1]−1 .
i=1
Hence Equation (48) becomes
q−1 q−1 (n
Y Y 0ε0i n+1)
−1
In+2 = [n − 1 n n + 1] Miεi αλ Mi [n + 1 n n − 1]−1
i=1 i=1
and we are done with the induction step since ([xyz]ε )σ = [σ(x)σ(y)σ(z)]ε where
σ = (n n + 1).
In the general case, we start by conjugating each member of Equation (46) by
(n n + 1). Using the invariance of In by conjugation (Identity (34)), we get :
q−1 q−1
0ε0
Y Y
−1
In+2 = (n n+1)[n−1 n n+1] Miεi αλ−2 Mi i [n−1 n n+1](n n+1).
i=1 i=1
(49)
On one hand, we have :
(n n + 1)[n − 1 n n + 1]−1 = (n n + 1)[n n + 1][n + 1 n − 1][[n − 1 n]
37
= [n n + 1][[n − 1 n][n + 1 n − 1]
= [n n + 1 n − 1]
On the other hand we have :
[n − 1 n n + 1](n n + 1) = [n − 1 n][n + 1 n − 1][n n + 1](n n + 1).
36
= [n + 1 n − 1][n − 1 n][n n + 1].
= [n n + 1 n − 1]−1
So Equation (49) becomes :
q−1
Q εi q−1
Q 0ε0i
In+2 = [n n + 1 n − 1] Mi αλ−2 Mi [n n + 1 n − 1]−1
i=1 i=1
In the general case, one has :
αλ−2 = αλ (n n + 1)(n − 1 n) = αλ (n − 1 n)(n + 1 n − 1), hence
q−1 q−1
0ε0
Y Y
In+2 = [n n+1 n−1] Miεi αλ (n−1 n)(n+1 n−1) Mi i [n n+1 n−1]−1 .
i=1 i=1
(50)
q−1
Q 0ε0i
Let M = (n − 1 n)(n + 1 n − 1) Mi [n n + 1 n − 1]−1 . One has :
i=1
q−1
Q 0ε0i (n−1 n)(n+1 n−1)
M= Mi (n − 1 n)(n + 1 n − 1)[n n + 1 n − 1]−1
i=1
25
q−1 (n−1 n)(n+1 n−1)
37 Q 0ε0
= Mi i (n − 1 n)[n + 1 n − 1][n n + 1][n − 1 n]
i=1
q−1 (n−1 n)(n+1 n−1)
41 Q 0ε0i
= Mi [n − 1 n + 1][n + 1 n][n n − 1]
i=1
q−1 (n−1 n)(n+1 n−1)
Q 0ε0i
= Mi [n n − 1 n + 1]−1 .
i=1
Hence Equation (50) becomes :
q−1 q−1 (n−1
Y Y 0ε0i n)(n+1 n−1)
In+2 = [n n + 1 n − 1] Miεi αλ Mi [n n − 1 n + 1]−1
i=1 i=1
and we are done with the induction step since ([xyz]ε )σ = [σ(x)σ(y)σ(z)]ε where
σ = (n − 1 n)(n + 1 n − 1).
Proposition 20. Let n > 2 be an even integer. For any permutation matrix σ of
GLn (F2 ) different from In there exists n − 2 matrices M1 , . . . , Mn−2 of type [xyz]
and n − 2 integers εi ∈ {1, −1} such that :
n−2
Y
σ= Miεi (51)
i=1
Since the proof of Proposition 19 is constructive, the method used in the proof of
Proposition 20 gives an algorithm to decompose any matrix σ different from In in
3(n − 2) transvections (see Figure 16 for an example). We conjecture that this
decomposition is optimal and we checked it for n = 4.
26
1 1 1 1 1 0
1 1 0 1 1 1
1 1 1 1 0 1
Let n = 6 and σ = (503)(142) = .
0 1 1 1 1 1
1 0 1 1 1 1
1 1 1 0 1 1
σ = (305)(241). Let λ6 = (3, 3) be the cycle type of σ −1 , then αλ6 = (012)(345).
−1
27
6 Entanglement in CNOT gates circuits
The notion of entanglement is usually defined through the group of Stochastic Local
Operations assisted by Classical Communication denoted by SLOCC which is assim-
ilated to the cartesian group product SL2 (C)×n [27, 8]. Mathematically two states
|ψi and |ϕi are SLOCC-equivalent if there exist n operators A1 , . . . , An in SL2 (C)
such that A1 ⊗ · · · ⊗ An |ψi = λ |ϕi for some complex number λ. In other words,
|ψi and |ϕi are SLOCC-equivalent if they are in the same orbit of GL2 (C)×n acting
on the Hilbert space C2 ⊗ · · · ⊗ C2 . The SLOCC-equivalence of two states |ϕi and |ψi
has a physical interpretation as explained in [8] : |ϕi and |ψi can be interconverted
into each other with non zero probability by n parties being able to coordinate
their action by classical communication, each party acting separately on one of the
qubits. The SLOCC-equivalence of two states |ϕi and |ψi implies that both states
can achiveve the same tasks (for instance in a communication protocol) but with a
probability of a success that may differ. In this sense the SLOCC-equivalence can be
considered as a qualitative way of separating non equivalent quantum states.
Some states have a particular interest like the Greenberger-Horne-Zeilinger state
[15]
×n ×n
1 1
|GHZn i = √ |0 · · · 0i + |1 · · · 1i = √ |0i⊗n + |1i⊗n
z }| { z }| {
(n > 3) (52)
2 2
28
A simple computation proves Equation (54). Indeed one has
H0 |0 . . . 0i = √12 (|0 . . . 0i + |10 . . . 0i) and Xn−1 n−2 . . . X21 X10 |10 . . . 0i = |1 . . . 1i.
If n = 4, Equation (54) corresponds to the circuit in Figure 17.
|0i H
|0i
|GHZ4i
|0i
|0i
∂2A ∂2A
∂x0 ∂z0 ∂x0 ∂z1
By (y0 , y1 ) = ∂2A ∂2A , (57)
∂x1 ∂z0 ∂x1 ∂z1
∂2A ∂2A
∂x0 ∂y0 ∂x0 ∂y1
Bz (z0 , z1 ) = ∂2A ∂2A . (58)
∂x1 ∂y0 ∂x1 ∂y1
The catalectican is a trilinear form obtained by computing any of the three Jacobians
of A with one of the quadratic forms, which turns out to be the same,
∂A ∂A
∂x0 ∂x1
C(x0 , x1 , y0 , y1 , z0 , z1 ) = ∂Bx ∂Bx . (59)
∂x0 ∂x1
29
The three quadratic forms Bx , By and Bz have the same discriminant ∆ which is
the last covariant polynomial we need to characterize the SLOCC-orbits :
For Equation (54) one has |GHZ3 i = X21 X10 H0 |000i (orbit OV ) and it is easy to check
that √12 (|000i + |011i) = X21 H1 |000i (orbit OII ), √12 (|000i + |101i) = X20 H0 |000i
(orbit OIII ), and √12 (|000i + |110i) = X10 H0 |000i (orbit OIV ).
In order to obtain a SLOCC-equivalent to |W3 i we see from Table 3 that one has
to construct a state ψ such that ∆(|ψi) = 0 and C(x0 , x1 , y0 , y1 , z0 , z1 ) 6= 0. This
can be done using only gates of the standard set of universal gates (Figure 2) as
explained in Proposition 21 (see Figure 18 for an example of circuit). Note that the
construction involves CNOT gates circuits that have matrices of type [ijk] (described
in Subsection 5.3).
Proposition 21. Let X[ijk] = Xij Xki Xjk where i, j, k are distinct integers in {0, 1, 2}
and k 6= 2. The state
is SLOCC-equivalent to |W3 i.
iπ
Proof. Let q = e 4 and let |ψ(k0 ,k1 ,...,k7 ) i = √18 q k0 |000i + q k1 |001i + · · · + q k7 |111i
30
C (Formula (59)) on the state |ψ 0 i = X[ijk] |ψ(0,2,1,3,1,3,2,4) i for i, j, k ∈ {0, 1, 2}. When
k 6= 2 we find that ∆ = 0 and C 6= 0 (see results in the table below).
[ijk] X[xyz] |ψ(0,2,1,3,1,3,2,4) i C(x0 , x1 , y0 , y1 , z0 , z1 )
1
[021] |ψ(0,2,3,3,4,2,1,1) i 8 ((1 + i)x0 y0 z0 + (1 + i)x0 y0 z1 + (1 − i)x1 y0 z0 + (1 − i)x1 y0 z1 )
1
[120] |ψ(0,2,1,3,1,3,2,4) i 8 ((1 + i)x0 y0 z0 + (1 + i)x0 y0 z1 + (1 − i)x0 y1 z0 + (1 − i)x0 y1 z1 )
1
[201] |ψ(0,4,2,2,3,1,3,1) i 8 ((1 + i)x0 y0 z0 + (1 − i)x0 y0 z1 + (1 + i)x0 y1 z0 + (1 − i)x0 y1 z1 )
1
[210] |ψ(0,4,3,1,2,2,3,1) i 8 ((1 + i)x0 y0 z0 + (1 − i)x0 y0 z1 + (1 + i)x1 y0 z0 + (1 − i)x1 y0 z1 )
Computing ∆ and C for the state X[ijk] (T ⊗ T ⊗ S)H⊗3 |000i when k = 2, one finds
∆ 6= 0 and C 6= 0, thus the resulting state is SLOCC-equivalent to |GHZ3 i.
As the dimension of the Hilbert space H⊗3 is small, namely 23 , one can compute three
2-dimensional matrices A, B, C of determinant 1 and a complex number k such that
A ⊗ B ⊗ C |ψ(0,2,3,3,4,2,1,1) i = k |W3 i. This can be done
by solving
an eight
algebraic
√
3i 1 1 −i 2 2
equations system. We check that the values A = 1 , B = 24 1 ,
2
− 12 i 0 2
i
√
i i 1 iπ
C= 1 1 and k = 2 4 √32 e 4 are solutions.
2
i −2i
|0i H T
|0i H T ∼ |W3i
|0i H S
Output state is :
|ψ(0,2,3,3,4,2,1,1) i = X[021] |ψ(0,2,1,3,1,3,2,4) i = X02 X10 X21 (T ⊗ T ⊗ S)H⊗3 |000i.
Figure 18: A circuit of cX3 producing a SLOCC-equivalent to |W3 i.
a+d
Gabcd = 2
(|0000i + |1111i) + a−d
2
(|0011i + |1100i)
b+c b−c (62)
+ 2 (|0101i + |1010i) + 2 (|0110i + |1001i) ,
31
algorithm is based on the evaluation of some covariants polynomials (see Appendix
A). We do not recall the algorithm since it is not usefull to understand the present
paper.
P
Let |ψi = αijk` |ijk`i be a 4-qubit state. The algebra of SLOCC-invariant
i,j,k,`∈{0,1}
polynomials is freely generated by the four following polynomials [25]:
and
α0000 α0001 α0100 α0101
α1000 α1001 α1100 α1101
M := . (65)
α0010 α0011 α0110 α0111
α1010 α1011 α1110 α1111
Using the generators B, L, M and Dxy , one can build ∆, an invariant polynomial of
degree 24 that plays an important role in the quantitative and qualitative study of
entanglement [28, 26]. As described in [19] and [25], ∆ is the discriminant of any of
the quartics
1
Q1 = x4 − 2Bx3 y + (B 2 + 2L + 4M )x2 y 2 + 4(Dxy − B(M + L))xy 3 + L2 y 4 , (67)
2
32
and
Q3 = x4 − 2Bx3y + (B 2 + 2L − 2M )x2 y 2 − (2(L + M )B − 4Dxy )xy 3 + N 2 y 4 . (69)
We recall that, for a quartic Q = αx4 −4βx3 y+6γx2 y 2 −4δxy 3 +ωy 4 , the discriminant
can be computed as
∆ = I23 − 27I32 (70)
where I2 = αω − 4βδ + 3γ 2 and I3 = αγω − αδ 2 − ωβ 2 − γ 3 + 2βγδ.
It appears that ∆ is the Cayley hyperdeterminant (in the sense of Gelfand et al.
[12]) of A [25]. In [26], Miyake showed that the more generic entanglement holds
only for the states |ψi such that ∆(|ψi) 6= 0. Moreover any generically entangled
state is equivalent to a state of the Verstraete Gabcd family [25, Appendix A]. So one
can consider ∆ as a qualitative measure of entanglement : an entangled state (i.e.
not factorized state) is generically entangled if ∆ 6= 0.
In the case of 3 qubits, ∆(|GHZ3 i) 6= 0 (see Table 3). Using (60) one checks easily
that ∆(|GHZ3 i) = 14 . So the state |GHZ3 i is generically entangled. In the 4 qubits case
one computes ∆(|GHZ4 i) = 0 using (70). Hence, suprisingly, |GHZ4 i is not generically
entangled and this result can be generalized : in [2] Appendix C we proved that, for
any k > 3, ∆(|GHZk i) = 0.
In this context we ask ourselves if it is possible to find a 4-qubit CNOT gates circuit
that takes as input a completely factorized state and output a generically entangled
state. The following statement answers the question.
Theorem 22. The state |BLi := X01 X20 X03 X10 (T ⊗ S ⊗ S ⊗ S)H⊗4 |0000i is gener-
ically entangled. It is produced by the circuit :
|0i H T
|0i H S
|0i H S
|0i H S
1
Proof. Using formula (70) one computes ∆(|BLi) = − ' −5, 96 × 10−8 .
224
According to Miyake [28], the value of |∆| can be considered as a measure of entan-
glement. So a state with the most amount of generic entanglement can be defined
as a state that maximize |∆|. In the 4-qubits case the maximal value of |∆| is
1
28 39
' 1, 98 × 10−7 [5] and the mean is around 1.32 × 10−9 (value based on 10000
random states [1]). So the amount of generic entanglement in the state |BLi is not
maximal, although much higher than the mean.
A few states are known to maximize |∆| : |Li [16, 14, 5], |HDi [1] and |M2222 i
(Jaffali, phd thesis). Figure 19 gives the definition of these states. It seems inter-
esting to know if it is possible, starting from a fully factorized state, to reach one of
these 3 states by a 4-qubit CNOT gates circuit. To answer this question we proceed
as follows. We start from a fully factorized state
|F (u)i := (a0 |0i + a1 |1i) ⊗ (b0 |0i + b1 |1i) ⊗ (c0 |0i + c1 |1i) ⊗ (d0 |0i + d1 |1i) (71)
33
where u := [a0 , a1 , b0 , b1 , c0 , c1 , d0 , d1 ] is a vector of complex numbers. Then, for each
circuit C in cX4 , we compute C |F (u)i and we check that the equation C |F (u)i =
|ψi where |ψi ∈ {|Li , |HDi , |M2222 i} has no solution. This can be done in a
few seconds using Maple 2020 (X86 64 LINUX). The corresponding script can be
downloaded at https://github.com/marcbataille/cnot-circuits. Hence the
answer to our question is negative.
Note that the question whether a state different from |Li, |HDi, or |M2222 i that
has maximal generic entanglement can be produced under the same constraints (i.e.
factorized state plus 4-qubit CNOT gates circuit) remains open, however.
1
|Li = √ (|u0 i + ω |u1 i + ω 2 |u2 i (72)
3
√
1 6 1
|M2222 i = √ |v1 i + |v1 i + √ |v3 i (74)
6 4 2
Proposition 23. Let V1 := [B, L, M, Dxy ] and V2 := [A, PB , PC1 , PC2 , PD1 , PD2 , PF , PL ]
then |ψi is in the SLOCC-orbit of |W4 i if and only if V 1[|ψi] = [0, 0, 0, 0] and V 2[|ψi] =
[1, 1, 1, 1, 0, 0, 0, 0].
The use of this criterion makes it possible to answer our initial question :
34
Theorem 24. The SLOCC-orbit of |W4 i cannot be reached when cX4 acts on a fully
factorized state |F (u)i.
Proof. We prove that, for any circuit C ∈ cX4 , the state |ψ(u)i = C |F (u)i cannot
be in the SLOCC-orbit of |W4 i. The algorithm is the following. For each C in cX4 we
solve the system B(|ψ(u)i) = L(|ψ(u)i) = M (|ψ(u)i) = Dxy (|ψ(u)i) = 0. The solu-
tions are parametrized vectors |ψ1 (u)i , . . . , |ψn (u)i. Then for each solution |ψi (u)i
we solve the system PD1 (|ψi (u)i) = PD2 (|ψi (u)i = PF (|ψi (u)i) = PL (|ψi (u)i = 0
and for each solution |ψij (u)i we compute PC2 : we check that the polynomial
PC2 (|ψij (u)i) is null for any u, C, i, j. We deduce from Proposition 23 that |ψ(u)i is
not SLOCC-equivalent to |W4 i. The Maple script that implements this algorithm can
be downloaded at https://github.com/marcbataille/cnot-circuits and needs
a few hours to be executed.
35
conjecture would be a big step towards a better understanding of the optimization
problem. We will continue to investigate technics of reduction in future works.
The study of the emergence of entanglement in CNOT gates circuits done in Section
6 highlights the interest and utility of this tool especially in the case of 3 or 4 qubits
systems. When the number of qubits is greater than 4, it would be interesting
to know whether it is possible to create generic entanglement as in the 4 qubits
case (Theorem 22). Unfortunately, from 5 qubits the hyperdeterminant is too huge
to be computed in a suitable form. However its nullity can be tested thanks to
its interpretation
X in terms of solution of a system of equations [12, p. 445] : if
A= αijkln xi yj zk tl sn is the ground form associated to the five qubits state
06i,j,k,l,n61
X
|ϕi = αijkln |ijklni, the condition ∆(|ϕi) = 0 means that the system
06i,j,k,l,n61
d d d d d d
Sϕ := {A = A= A= A= A = ··· = A= A = 0} (75)
dx0 dx1 dy0 dy1 ds0 ds1
has a solution x̂0 , x̂1 , ŷ0 , ŷ1 , . . . , ŝ0 , ŝ1 in the variables x0 , x1 , y0 , y1 , . . . , s0 , s1 such that
(x̂0 , x̂1 ), (ŷ0 , ŷ1 ), . . . , (ŝ0 , ŝ1 ) 6= (0, 0). Such a solution is called non trivial. Hence a
possible approach to show that a state |ψi is generically entangled when n > 4 is to
prove that the corresponding system has no solution apart from the trivial solutions.
References
[1] Daniel Alsina. Phd thesis: Multipartite entanglement and quantum algorithms,
2017.
[2] Marc Bataille and Jean-Gabriel Luque. Quantum circuits of cZ and SWAP
gates: optimization and entanglement. Journal of Physics A: Mathematical
and Theoretical, 52(32):325302, jul 2019.
[3] Charles H. Bennett and Stephen J. Wiesner. Communication via one- and two-
particle operators on einstein-podolsky-rosen states. Phys. Rev. Lett., 69:2881–
2884, Nov 1992.
[4] Arthur Cayley. Mémoire sur les hyperdéterminants. Journal für die reine und
angewandte Mathematik, 30:1–37, 1846.
[5] Lin Chen and Dragomir . okovi. Proof of the Gour-Wallach conjecture. Physical
Review A, 88(4), oct 2013.
[6] Richard Cleve, Daniel Gottesman, and Hoi-Kwong Lo. How to share a quantum
secret. Physical Review Letters, 83(3):648651, Jul 1999.
[7] Ellie D’Hondt and Prakash Panangaden. The computational power of the W
and GHZ states, 2004.
36
[8] Wolfgang Dür, Guifre Vidal, and Cirac J. Ignacio. Three qubits can be entan-
gled in two inequivalent ways. Physical Review A, 62:062314, 2000.
[9] A. Einstein, B. Podolsky, and N. Rosen. Can quantum-mechanical description
of physical reality be considered complete ? Physical Review, Vol. 47, 1935.
[10] Ekert. Quantum cryptography based on Bell’s theorem. Physical review letters,
67 6:661–663, 1991.
[11] Akira Furusawa, Jens Lykke Sorensen, Samuel L. Braunstein, Christopher A
Fuchs, H. Jeff Kimble, and Eugene S. Polzik. Unconditional Quantum Telepor-
tation. Science, 282:706, October 1998.
[12] Israel M Gelfand, Mikhail M. Kapranov, and Zelevisnky Andrei V. Discrimi-
nants, Resultants and Multidimensional Determinant. Birkhäuser, 1992.
[13] Gilad Gour and Nolan R. Wallach. Entanglement of subspaces and error-
correcting codes. Physical Review A, 76(4), Oct 2007.
[14] Gilad Gour and Nolan R. Wallach. On symmetric SL-invariant polynomials in
four qubits, 2012.
[15] Daniel M. Greenberger, Michael A. Horne, and Anton Zeilinger. Bell’s theorem
without inequalities. American Journal of Physics, 58 (12):1131, 1990.
[16] A. Higuchi and A. Sudbery. How entangled can two couples get? Physics
Letters A, 273(4):213 – 217, 2000.
[17] Mark Hillery, Vladimr Buek, and Andr Berthiaume. Quantum secret sharing.
Physical Review A, 59(3):18291834, Mar 1999.
[18] Frédéric Holweck, Jean-Gabriel Luque, and Thibon Jean-Yves. Geometric de-
scriptions of entangled states by auxiliary varieties. Journal of Mathematical
Physics, 53 (10):102203, 2012.
[19] Frédéric Holweck, Jean-Gabriel Luque, and Thibon Jean-Yves. Entanglement
of four qubit systems: A geometric atlas with polynomial compass I (the finite
world). Journal of Mathematical Physics, 55 (1):012202, 2014.
[20] Frédéric Holweck, Jean-Gabriel Luque, and Thibon Jean-Yves. Entanglement
of four-qubit systems: a geometric atlas with polynomial compass II (the tame
world). Journal of Mathematical Physics, 58 (2):022201, 2017.
[21] John Hopcroft and Robert Tarjan. Algorithm 447: Efficient algorithms for
graph manipulation. Commun. ACM, 16(6):372378, June 1973.
[22] Ryszard Horodecki, Pawel Horodecki, Michal Horodecki, and Karol Horodecki.
Quantum entanglement. Rev. Mod. Phys., 81:865–942, Jun 2009.
[23] Alexander Klyachko. Coherent states, entanglement, and geometric invariant
theory. arXiv:quant-ph/0206012v1.
37
[24] Norbert M. Linke, Dmitri Maslov, Martin Roetteler, Shantanu Debnath, Car-
oline Figgatt, Kevin A. Landsman, Kenneth Wright, and Monroe Christopher.
Experimental comparison of two quantum computing architectures. Proceed-
ings of the National Academy of Sciences of the United States of America, 114
(13):3305–3310, March 2017.
[25] Jean-Gabriel Luque and Jean-Yves Thibon. The polynomial invariants of four
qubits. Phys. Rev. A, 67:042303, 2003.
[28] Akimasa Miyake and Miki Wadati. Multipartite entanglement and hyperdeter-
minants. Quantum Information and Computation, 2:540–555, 2002.
[29] Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quan-
tum Information: 10th Anniversary Edition. Cambridge University Press, New
York, NY, USA, 10th edition, 2011.
[30] Stefano Pirandola, Jens Eisert, Christian Weedbrook, Akira Furusawa, and
Samuel L. Braunstein. Advances in quantum teleportation. Nature Photonics,
9:641–652, October 2015.
[31] Robert Steinberg. Lectures on Chevalley Groups. University Lecture Series 66.
American Mathematical Society, 2016.
[33] Frank Verstraete, Jeronen Dehaene, Bart De Moor, and Henri Verschelde. Four
qubits can be entangled in nine different ways. Phys. Rev. A, 65:052112, 2002.
[34] Robert Wilson. The Finite Simple Groups. Springer London Ltd, 2009.
38
A Some covariant polynomials associated to 4 qubit
systems
In this section, we shall explain how to compute the polynomials which are used
to determine the SLOCC-orbit of |W4 i inside the null cone (Section 6.3). We shall
first recall the definition of the transvection of two multi-binary forms on the binary
(1) (1) (p) (p)
variables x(1) = (x0 , x1 ), . . . , x(p) = (x0 , x1 )
i
(f, g)i1 ,...,ip = tr Ωix1(1) . . . Ωxp(p) f (x0(1) , . . . , x0(p) )g(x00(1) , . . . , x00(p) ), (76)
where Ω is the Cayley operator
∂ ∂
∂x00 ∂x00
Ωx = ∂ ∂
0
∂x01 ∂x00
1
and tr sends each variables x0 , x00 on x (erases 0 and 00 ). In [18], we give a list of
generators of the algebra of covariant polynomials for 4 qubits systems which are
obtained by transvection from the ground form
X
A= αi,j,k,l xi yj zk t` .
i,j,k,`
Here we give formulas for some of the polynomials which are used in the paper.
Symbol Transvectant
1 Symbol Transvectant
B2200 (A, A)0011 1
2
1 C1111 (A, B2200 )1100 + (A, B0022 )0011
B2020 (A, A)0101 1
2
1 C3111 ((A, B2200 )0100 + (A, B2020 )0010 + (A, B2002 )0001 )
B2002 (A, A)0110 3
1
2
1 C1311 ((A, B2200 )1000 + (A, B0220 )0010 + (A, B0202 )0001 )
B0220 (A, A)1001 3
1
2
1 C1131 ((A, B2020 )1000 + (A, B0220 )0100 + (A, B0022 )0001 )
B0202 (A, A)1010 3
1
2
1 C1113 ((A, B2002 )1000 + (A, B0202 )0100 + (A, B0022 )0010 )
B0022 2
(A, A)1100 3
Symbol Transvectant
1
D2200 (A, C1111 )0011
1
D2020 (A, C1111 )0101 Symbol Transvectant
1
D2002 (A, C1111 )0110 F4200 1
(A, E3111 )0011
D0220 (A, C1111 )1001
1
F4020 (A, E3111 )0101
1
1
D0202 (A, C1111 )1010 F4002 1
(A, E3111 )0110
D0022 (A, C1111 )1100 F0420 1
(A, E1311 )1001
D4000 (A, C3111 )0111 F0402 (A, E1311 )1010
1
39
Symbol Transvectant
0001
G5111 (A, F4002 ) + (A, F4020 )0010 + (A, F4200 )0100
G1511 (A, F0402 )0001 + (A, F0420 )0010 + (A, F2400 )1000
G1151 (A, F0042 )0001 + (A, F0240 )0100 + (A, F2040 )1000
G1115 (A, F0204 )0100 + (A, F0024 )0010 + (A, F2004 )1000
Symbol Transvectant
H4200 (A, G5111 )1011
H4020 (A, G5111 )1101
H4002 (A, G5111 )1110
H0420 (A, G1511 )1101 Symbol Transvectant
H0402 (A, G1511 )1110 1
I5111 (A, H4020 ) 0010
+ (A, H4200 )0100 + (A, H4002 )0001
H0042 (A, G1151 )1110 1
I1511 (A, H0420 )0010 + (A, H2400 )1000 + (A, H4002 )0001
H2400 (A, G11511 )0111 1
I1151 (A, H0240 )0100 + (A, H2040 )1000 + (A, H0042 )0001
H2040 (A, G1151 )0111 1
I1115 (A, H0204 )0100 + (A, H2004 )1000 + (A, H0024 )0010
H2004 (A, G11115 )0111
H0240 (A, G1151 )1011
H0204 (A, G1115 )1011
H0024 (A, G11115 )1101
Symbol Transvectant
1
J4200 (A, I5111 )1011 Symbol Transvectant
J4020 (A, I5111 )1101
1
K5111 = (A, J4200 )0100 − (A, J4020 )0010 + (A, J4002 )0001
1
J4002 (A, I5111 )1110 K1511 = (A, J2400 )1000 − (A, J0420 )0010 + (A, J0402 )0001
J0420 (A, I1511 )1101
1
K1151 = (A, J2040 )1000 − (A, J0240 )0100 + (A, J0042 )0001
1
J0402 (A, I1511 )1110 K1115 = (A, J2004 )1000 − (A, J0204 )0110 + (A, J0024 )0010
1
J0042 (A, I1151 )1110 Symbol Transvectant
J2400 (A, I1511 )0111
1
L6000 = (A, K5111 )0111
1
J2040 (A, I1151 )0111 L0600 = (A, K1511 )1011
1
J2004 (A, I1115 )0111 L0060 = (A, K1151 )1101
J0240 (A, I1151 )1011
1
L0006 = (A, K1115 )1110
1
J0204 (A, I1115 )1011
J0024 (A, I1115 )1101
1
40