efficient simulation of quantum computers: the...

75
Efficient simulation of quantum computers: the Gottesman-Knill theorem or an application of group theory to quantum information Vlad Gheorghiu Department of Physics Carnegie Mellon University Pittsburgh, PA 15213, U.S.A. January 28, 2008 Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 1 / 17

Upload: ngodien

Post on 21-Aug-2018

230 views

Category:

Documents


1 download

TRANSCRIPT

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

References

1 Michael A. Nielsen and Isaac L. Chuang, Quantum Computationand Quantum Information, Cambridge University Press (2000)

2 Daniel Gottesman, PhD Thesis, arXiv:quant-ph/9705052, preprint

Vlad Gheorghiu (CMU) Efficient simulation of quantum computers January 28, 2008 17 / 17