Efficient simulation of quantum computers: the...
Transcript of Efficient simulation of quantum computers: the...
Efficient simulation of quantum computers: theGottesman-Knill theorem or an application of group
theory to quantum information
Vlad Gheorghiu
Department of PhysicsCarnegie Mellon University
Pittsburgh, PA 15213, U.S.A.
January 28, 2008
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 1 / 17
Outline
1 Quantum computers vs classical computersClassical computersQuantum computers
2 Simulating quantum computers: main issues
3 The Pauli groupThe Pauli group on one qubitThe Pauli group on n qubits
4 The Clifford groupThe Clifford group on one qubitThe Clifford group on n qubits
5 Stabilizer groups
6 The Gottesman-Knill theorem
7 References
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 2 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}
The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}
The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Classical computers
A classical computer is a machine that manipulates classical data (orbits) according to a list of instructions
Its main ingredients are bits, wires and gates
More formally, a classical computer takes an n-bit input{a1, a2, . . . , an} and computes a functionf (a1, a2, . . . , an) = {b1, b2, . . . , bm}The result of the computation is the m-bit string {b1, b2, . . . , bm}The function f depends on the application
The function can be implemented by a set classical gates, like AND,NOT, OR, XOR etc
The NAND gate is universal for classical computing, that is, anyother gate can be simulated using the NAND gate alone
Some functions can be very hard to compute, and best knownalgorithms require a computation time that scales exponentially withthe number of input bits. Examples: factoring, traveling salesmanproblem etc.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 3 / 17
Quantum computers vs classical computers Quantum computers
A quantum computer is a device for computation that makes directuse of quantum mechanical phenomena, such as superposition andentanglement, to perform quantum operations on quantum data, orqubits (Wikipedia)
Figure: A quantum computer
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 4 / 17
Quantum computers vs classical computers Quantum computers
A quantum computer is a device for computation that makes directuse of quantum mechanical phenomena, such as superposition andentanglement, to perform quantum operations on quantum data, orqubits (Wikipedia)
Figure: A quantum computer
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 4 / 17
Quantum computers vs classical computers Quantum computers
The input of a quantum computer consist of a set of n two-levelquantum systems, called qubits
Each qubit can be represented as a normalized vector (state) in a twodimensional complex Hilbert space C2
The qubit can be in the |0〉 state, the |1〉 state, or in a superpositionα|0〉+ β|1〉, where α and β are complex numbers, called amplitudes
The n-qubit input state can then be represented as the tensor productof n individual qubit states (a vector in Cn
2 = C2 ⊗ C2 . . .⊗ C2)
|ψin〉 =∑
i1,i2,...,in∈Zn2
α(i1, i2, . . . , in)|i1, i2, . . . , in〉,
where α(i1, i2, . . . , in) are complex numbers that depend oni1, i2, . . . , in
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 5 / 17
Quantum computers vs classical computers Quantum computers
The input of a quantum computer consist of a set of n two-levelquantum systems, called qubits
Each qubit can be represented as a normalized vector (state) in a twodimensional complex Hilbert space C2
The qubit can be in the |0〉 state, the |1〉 state, or in a superpositionα|0〉+ β|1〉, where α and β are complex numbers, called amplitudes
The n-qubit input state can then be represented as the tensor productof n individual qubit states (a vector in Cn
2 = C2 ⊗ C2 . . .⊗ C2)
|ψin〉 =∑
i1,i2,...,in∈Zn2
α(i1, i2, . . . , in)|i1, i2, . . . , in〉,
where α(i1, i2, . . . , in) are complex numbers that depend oni1, i2, . . . , in
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 5 / 17
Quantum computers vs classical computers Quantum computers
The input of a quantum computer consist of a set of n two-levelquantum systems, called qubits
Each qubit can be represented as a normalized vector (state) in a twodimensional complex Hilbert space C2
The qubit can be in the |0〉 state, the |1〉 state, or in a superpositionα|0〉+ β|1〉, where α and β are complex numbers, called amplitudes
The n-qubit input state can then be represented as the tensor productof n individual qubit states (a vector in Cn
2 = C2 ⊗ C2 . . .⊗ C2)
|ψin〉 =∑
i1,i2,...,in∈Zn2
α(i1, i2, . . . , in)|i1, i2, . . . , in〉,
where α(i1, i2, . . . , in) are complex numbers that depend oni1, i2, . . . , in
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 5 / 17
Quantum computers vs classical computers Quantum computers
The input of a quantum computer consist of a set of n two-levelquantum systems, called qubits
Each qubit can be represented as a normalized vector (state) in a twodimensional complex Hilbert space C2
The qubit can be in the |0〉 state, the |1〉 state, or in a superpositionα|0〉+ β|1〉, where α and β are complex numbers, called amplitudes
The n-qubit input state can then be represented as the tensor productof n individual qubit states (a vector in Cn
2 = C2 ⊗ C2 . . .⊗ C2)
|ψin〉 =∑
i1,i2,...,in∈Zn2
α(i1, i2, . . . , in)|i1, i2, . . . , in〉,
where α(i1, i2, . . . , in) are complex numbers that depend oni1, i2, . . . , in
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 5 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉stateEvolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉state
Evolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉stateEvolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)
Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉stateEvolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉stateEvolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉stateEvolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
A quantum computation consists of
Preparing an initial n-qubit input state, usually the |ψin〉 = |00, . . . , 0〉stateEvolving the state for a given time |ψout〉 = U|ψin〉, where U dependson the application (like the function f for the classical computer)Reading out the result of the computation from the state |ψout〉(performing measurements)
In quantum mechanics, the evolution is unitary
An n-qubit state evolves during a give time period according to
|ψfinal〉 = U|ψinitial〉
where U is an n-qubit unitary matrix
Formally, the evolution is described by the unitary group U(2n)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 6 / 17
Quantum computers vs classical computers Quantum computers
The unitary U is a 2n × 2n complex matrix
It turns out that it can be approximate by a finite product of one andtwo qubit gates, with arbitrary precision
That is, U can be written as a tensor product of a finite number of2× 2 and 4× 4 complex matrices, and the latter are said to generateU(2n)
Some notations. Let U be a 3-qubit unitary (a 8× 8 matrix)
U = U1U23
Here U1 is the shorthand for U1 ⊗ I2 ⊗ I3, so U1 effectively acts onlyon the first qubit, whereas U23 is the shorthand for I1 ⊗ U24, so U24
effectively acts only on the 2-nd and 3-th qubits
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 7 / 17
Quantum computers vs classical computers Quantum computers
The unitary U is a 2n × 2n complex matrix
It turns out that it can be approximate by a finite product of one andtwo qubit gates, with arbitrary precision
That is, U can be written as a tensor product of a finite number of2× 2 and 4× 4 complex matrices, and the latter are said to generateU(2n)
Some notations. Let U be a 3-qubit unitary (a 8× 8 matrix)
U = U1U23
Here U1 is the shorthand for U1 ⊗ I2 ⊗ I3, so U1 effectively acts onlyon the first qubit, whereas U23 is the shorthand for I1 ⊗ U24, so U24
effectively acts only on the 2-nd and 3-th qubits
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 7 / 17
Quantum computers vs classical computers Quantum computers
The unitary U is a 2n × 2n complex matrix
It turns out that it can be approximate by a finite product of one andtwo qubit gates, with arbitrary precision
That is, U can be written as a tensor product of a finite number of2× 2 and 4× 4 complex matrices, and the latter are said to generateU(2n)
Some notations. Let U be a 3-qubit unitary (a 8× 8 matrix)
U = U1U23
Here U1 is the shorthand for U1 ⊗ I2 ⊗ I3, so U1 effectively acts onlyon the first qubit, whereas U23 is the shorthand for I1 ⊗ U24, so U24
effectively acts only on the 2-nd and 3-th qubits
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 7 / 17
Quantum computers vs classical computers Quantum computers
The unitary U is a 2n × 2n complex matrix
It turns out that it can be approximate by a finite product of one andtwo qubit gates, with arbitrary precision
That is, U can be written as a tensor product of a finite number of2× 2 and 4× 4 complex matrices, and the latter are said to generateU(2n)
Some notations. Let U be a 3-qubit unitary (a 8× 8 matrix)
U = U1U23
Here U1 is the shorthand for U1 ⊗ I2 ⊗ I3, so U1 effectively acts onlyon the first qubit, whereas U23 is the shorthand for I1 ⊗ U24, so U24
effectively acts only on the 2-nd and 3-th qubits
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 7 / 17
Quantum computers vs classical computers Quantum computers
The unitary U is a 2n × 2n complex matrix
It turns out that it can be approximate by a finite product of one andtwo qubit gates, with arbitrary precision
That is, U can be written as a tensor product of a finite number of2× 2 and 4× 4 complex matrices, and the latter are said to generateU(2n)
Some notations. Let U be a 3-qubit unitary (a 8× 8 matrix)
U = U1U23
Here U1 is the shorthand for U1 ⊗ I2 ⊗ I3, so U1 effectively acts onlyon the first qubit, whereas U23 is the shorthand for I1 ⊗ U24, so U24
effectively acts only on the 2-nd and 3-th qubits
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 7 / 17
Quantum computers vs classical computers Quantum computers
In the previous example, let U1 =
(0 11 0
)and
U23 =
1 0 0 00 1 0 00 0 0 10 0 1 0
.
Then U1U23 =
(0 11 0
)⊗
1 0 0 00 1 0 00 0 0 10 0 1 0
=
0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 01 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 0
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 8 / 17
Quantum computers vs classical computers Quantum computers
In the previous example, let U1 =
(0 11 0
)and
U23 =
1 0 0 00 1 0 00 0 0 10 0 1 0
.Then U1U23 =
(0 11 0
)⊗
1 0 0 00 1 0 00 0 0 10 0 1 0
=
0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 01 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 0
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 8 / 17
Quantum computers vs classical computers Quantum computers
In the previous example, let U1 =
(0 11 0
)and
U23 =
1 0 0 00 1 0 00 0 0 10 0 1 0
.Then U1U23 =
(0 11 0
)⊗
1 0 0 00 1 0 00 0 0 10 0 1 0
=
0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 01 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 0
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 8 / 17
Quantum computers vs classical computers Quantum computers
In the previous example, let U1 =
(0 11 0
)and
U23 =
1 0 0 00 1 0 00 0 0 10 0 1 0
.Then U1U23 =
(0 11 0
)⊗
1 0 0 00 1 0 00 0 0 10 0 1 0
=
0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 01 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 0
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 8 / 17
Quantum computers vs classical computers Quantum computers
Why do we care about quantum computers?!
More computational power
A quantum computer can solve efficiently (i.e. in a time that growspolynomially with the number of input qudits) problems which are believedto be intractable by any classical computer. Famous examples are:factorization of large numbers (Shor’s algorithm), simulation of complexphysical systems (Hubbard models).
No real quantum computer has been built
This is a major goal of experimental quantum computation
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 9 / 17
Quantum computers vs classical computers Quantum computers
Why do we care about quantum computers?!
More computational power
A quantum computer can solve efficiently (i.e. in a time that growspolynomially with the number of input qudits) problems which are believedto be intractable by any classical computer. Famous examples are:factorization of large numbers (Shor’s algorithm), simulation of complexphysical systems (Hubbard models).
No real quantum computer has been built
This is a major goal of experimental quantum computation
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 9 / 17
Quantum computers vs classical computers Quantum computers
Why do we care about quantum computers?!
More computational power
A quantum computer can solve efficiently (i.e. in a time that growspolynomially with the number of input qudits) problems which are believedto be intractable by any classical computer. Famous examples are:factorization of large numbers (Shor’s algorithm), simulation of complexphysical systems (Hubbard models).
No real quantum computer has been built
This is a major goal of experimental quantum computation
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 9 / 17
Quantum computers vs classical computers Quantum computers
Why do we care about quantum computers?!
More computational power
A quantum computer can solve efficiently (i.e. in a time that growspolynomially with the number of input qudits) problems which are believedto be intractable by any classical computer. Famous examples are:factorization of large numbers (Shor’s algorithm), simulation of complexphysical systems (Hubbard models).
No real quantum computer has been built
This is a major goal of experimental quantum computation
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 9 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
Simulating quantum computers: main issues
In general, it is not efficient to simulate a quantum computer with aclassical one
Remember that the evolution is described by 2n × 2n unitary matrices
So, evolving an initial quantum state requires O(2n) operations
This scales exponentially and not polynomially with the number ofinput qubits, so any computer scientist will say: too bad, this is notwhat we mean by efficient
What if we restrict the class of unitaries that we want to simulate?Can we do better?
As you’ve guessed from the title of this talk, the answer is yes
In the remaining part we will see that quite a large class of unitaries(actually a subgroup of U(2n)) can be efficiently simulated on aclassical computer. So don’t try to use only gates from this subgroupif you want to break codes...
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 10 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I
. The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}?
Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...
Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on one qubit
The Pauli group on one qubit is the multiplicative finite groupconsisting of all Pauli matrices together with complex phases ±1,±i
P1 = {±I ,±iI ,±X ,±iX ,±Y ,±iY ,±Z ,±iZ}
where the Pauli matrices are
X =
(0 11 0
),Y =
(0 −ii 0
),Z =
(1 00 −1
).
Note that XY = iZ and X 2 = Y 2 = Z 2 = I . The multiplication tablethen follows from these two relations.
Why do we need the phases?
The Pauli group on one qubit is a subgroup of U(2)
What is the quotient (factor) group P1/{I ,−I , iI ,−iI}? Isomorphicto...Z2 × Z2.
The quaternions are isomorphic with a proper subgroup of the Pauligroup (remove the ±)
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 11 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn?
Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Pauli group The Pauli group on n qubits
The Pauli group on n qubits is the multiplicative finite groupconsisting of all possible tensor product of n Pauli matrices togetherwith complex phases ±1,±i
Pn = {±X a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n ,±iX a11 Zb1
1 ⊗ . . .⊗ X ann Zbn
n }
for all possible combinations of binary integers ai and bj .
Where are the Y matrices?
An example of an element from P3 is −iX1 ⊗ I2 ⊗ Z3 = (notationconvention) = −iX1Z3.
The Pauli group on n qubits is a proper subgroup of U(2n)
The group Pn looks like a direct product of n P1 groups, but it is not.Why?
What is the order of Pn?
Can you efficiently simulate an unitary that belongs to Pn? Why?
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 12 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1
The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself. Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1. Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H,S〉.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself.
Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1. Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H,S〉.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself. Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1. Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H,S〉.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself. Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1.
Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H,S〉.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself. Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1. Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H,S〉.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself. Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1. Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H,S〉.
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on one qubit
Consider the largest subset C1 ⊂ U(2) such that
cP1c−1 = cP1c
† = P1
for any c ∈ C1The set C1 forms a subgroup of U(2) under matrix multiplication,called the Clifford group on one qubit. It conjugates the Pauli groupinto itself. Why does C1 form a multiplicative group?
Note that P1 is a proper subgroup of C1, so C1 ⊃ P1. Can you find anelement that is in C1 but not in P1?
Up to complex phases, the Clifford group is generated by a finitenumber (two) of elements, namely by the Hadamard matrix H and bythe phase matrix S , where
H =1√2
(1 11 −1
)and S =
(1 00 i
).
We write this as C1 = 〈H, S〉.Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 13 / 17
The Clifford group The Clifford group on n qubits
The Clifford group on n qubits is the largest subset Cn ⊂ U(2n) suchthat
cPnc† = Pn
for any c ∈ Cn.
Note that one can also form the group CLn , obtained by taking all
possible tensor products of elements of C1. This latter group is notequal to Cn, but it is a subgroup of it, called the local Clifford groupon n qubits.The group Cn is generated by two one-qubit gates (S and H) and onetwo-qubit gate, the Controlled-NOT, or CNOT, defined as
CNOT =
1 0 0 00 1 0 00 0 0 10 0 1 0
so Cn = 〈Si ,Hj ,CNOTkl〉Remember: Any 2n × 2n matrix from Cn can be written as a tensorproduct of S , H and CNOT matrices
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 14 / 17
The Clifford group The Clifford group on n qubits
The Clifford group on n qubits is the largest subset Cn ⊂ U(2n) suchthat
cPnc† = Pn
for any c ∈ Cn.Note that one can also form the group CL
n , obtained by taking allpossible tensor products of elements of C1. This latter group is notequal to Cn, but it is a subgroup of it, called the local Clifford groupon n qubits.
The group Cn is generated by two one-qubit gates (S and H) and onetwo-qubit gate, the Controlled-NOT, or CNOT, defined as
CNOT =
1 0 0 00 1 0 00 0 0 10 0 1 0
so Cn = 〈Si ,Hj ,CNOTkl〉Remember: Any 2n × 2n matrix from Cn can be written as a tensorproduct of S , H and CNOT matrices
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 14 / 17
The Clifford group The Clifford group on n qubits
The Clifford group on n qubits is the largest subset Cn ⊂ U(2n) suchthat
cPnc† = Pn
for any c ∈ Cn.Note that one can also form the group CL
n , obtained by taking allpossible tensor products of elements of C1. This latter group is notequal to Cn, but it is a subgroup of it, called the local Clifford groupon n qubits.The group Cn is generated by two one-qubit gates (S and H) and onetwo-qubit gate, the Controlled-NOT, or CNOT, defined as
CNOT =
1 0 0 00 1 0 00 0 0 10 0 1 0
so Cn = 〈Si ,Hj ,CNOTkl〉
Remember: Any 2n × 2n matrix from Cn can be written as a tensorproduct of S , H and CNOT matrices
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 14 / 17
The Clifford group The Clifford group on n qubits
The Clifford group on n qubits is the largest subset Cn ⊂ U(2n) suchthat
cPnc† = Pn
for any c ∈ Cn.Note that one can also form the group CL
n , obtained by taking allpossible tensor products of elements of C1. This latter group is notequal to Cn, but it is a subgroup of it, called the local Clifford groupon n qubits.The group Cn is generated by two one-qubit gates (S and H) and onetwo-qubit gate, the Controlled-NOT, or CNOT, defined as
CNOT =
1 0 0 00 1 0 00 0 0 10 0 1 0
so Cn = 〈Si ,Hj ,CNOTkl〉Remember: Any 2n × 2n matrix from Cn can be written as a tensorproduct of S , H and CNOT matrices
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 14 / 17
Stabilizer groups
Next: Stabilizer groups
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 15 / 17
The Gottesman-Knill theorem
Finally: The Gottesman-Knill theorem
Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 16 / 17