Download ACAT2005_Severyanov

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Basil Hiley wikipedia , lookup

Quantum dot cellular automaton wikipedia , lookup

Delayed choice quantum eraser wikipedia , lookup

Double-slit experiment wikipedia , lookup

Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup

Particle in a box wikipedia , lookup

Measurement in quantum mechanics wikipedia , lookup

Scalar field theory wikipedia , lookup

Copenhagen interpretation wikipedia , lookup

Probability amplitude wikipedia , lookup

Quantum field theory wikipedia , lookup

Hydrogen atom wikipedia , lookup

Bell's theorem wikipedia , lookup

Quantum dot wikipedia , lookup

Quantum electrodynamics wikipedia , lookup

Coherent states wikipedia , lookup

Max Born wikipedia , lookup

Quantum decoherence wikipedia , lookup

Density matrix wikipedia , lookup

Quantum entanglement wikipedia , lookup

Many-worlds interpretation wikipedia , lookup

Quantum fiction wikipedia , lookup

Path integral formulation wikipedia , lookup

Orchestrated objective reduction wikipedia , lookup

EPR paradox wikipedia , lookup

Interpretations of quantum mechanics wikipedia , lookup

Symmetry in quantum mechanics wikipedia , lookup

History of quantum field theory wikipedia , lookup

Quantum computing wikipedia , lookup

Quantum machine learning wikipedia , lookup

Hidden variable theory wikipedia , lookup

Quantum key distribution wikipedia , lookup

Quantum group wikipedia , lookup

Quantum state wikipedia , lookup

Quantum teleportation wikipedia , lookup

Canonical quantization wikipedia , lookup

T-symmetry wikipedia , lookup

Transcript
Outline
• Main result
• Quantum computation and quantum circuits
• Feynman’s sum over paths
• QuPol
program “Quantum Polynomials”
• Quantum polynomials
• Conclusion
Polynomials
Using ideas published in [1] we have written a C#
program tool enabling us to assemble an arbitrary
quantum circuit in a particular gate basis and to
construct the corresponding set of polynomial
equations over Z2. The number of solutions of the
set defines the matrix elements of the circuit and
therefore the output value of the circuit for any
input value.
1. Quantum computing and polynomial equations over the finite field Z2
by C. M. Dawson et al
arXiv:quant-ph/0408129 20 Aug 2004
qubit
Quantizing classical bit
b  {0,1}
|  
2
,
||  || 1
|    | 0   |1
,  
|  |2  |  |2  1
In computational basis
any superposition of basis states
 
1
 0
|     , | 0    , |1   
 
 0
 1
Evolving quantum bit
 U 
unitary transformation
U
2

2
1 0
, UU  I  

0 1
†
Observing quantum bit
|    | 0   |1
b  {0,1}
0

1
with probability
|  |2
with probability
|  |2
Distinctions of Quantum Computation
• quantum bit (qubit) = superposition of basis states
• computation = unitary (reversable) evolution
• probabilistic results
• quantum parallelism, interference, and entanglement
• quantum circuit calculates a classical Boolean
function using the peculiarities of quantum
computation
Quantum computation
Unitary transformation computing function
Initial state
a
f : Z 2n  Z 2n
Final state
b Uf a
Uf
a ,b 
2n

2


tensor products of qubits
2
Quantum circuit
Quantum circuit is a sequence of elementary unitary transformations
called quantum gates
a
U1
U2
U f  U mU m 1
U m1
U 2U1
Quantum gate acts on a few qubits
not changing the others
Um
b
Quantum gate bases
Quantum gate basis is a set of universal quantum gates:
any unitary transformation can be presented as a composition
of gates of the basis
U - unitary: U  U mU m1
U 2U1 ,
Ui  Gate Basis
We work with the following universal gate basis
Hadamard gate, Toffoli gate
Hadamard gate, acts on one qubit
1 1 1 
H
 1 1
2

H: 0
H:1
1
(0  1)
2
1
(0 1)
2
Toffoli gate, acts on three qubits






Toffoli : 






000  000
001  001
010  010
011  011
100  100
x
x
y
y
z
x
101  101
110  111
111  110
2
y 2 z
Matrix elements of quantum circuit
final state
initial state
b Uf a
U f  U mU m 1
U 2U1
b U f a   b U m am-1 am-1 U m-1 am-2
ai
i  1,2,
m 1
a1 U1 a
From quantum to classical circuit
We wish to use famous Feynman’s sum-over-paths method to calculate the
matrix element for a quantum circuit built of the Toffoli and Hadamard gates
(these two constitute a universal basis).
To do that, we replace the quantum circuit under consideration by its classical
version where the quantum Toffoli and Hadamard gates are replaced by
their classical counterparts.
Classical Toffoli
 a1, a2 , a3 
 a1, a2 , a3  a1a2 
Classical Hadamard
a1
x
Output may be 0 or 1 for any input
ai , x 
2
x - path variable
Example circuit
a1
H
a2
H
a3
a1
a2
a3
H
H
b1
H
quantum circuit
b2
b3
H
x1
H
x3
x2
classical circuit
x3  x2 x4
x2
a3  x1 x2
x  ( x1 , x2 , x3 , x4 )T 
H
4
2
x4
x4
path variables
b1 (x )
b2 (x)
b3 (x)
Admissible classical paths
A classical path is a sequence of classical bit strings
, am  b
a, a1, a2 ,
obtained after each classical gate has been applied.
a1
a2
H
H
x1
x 3  x 2 x4
x2
x2
a3  x1 x2
a3
a
H
x3
a1
H
a2
A choice of the path variables
b1 (x )
b2 (x)
x4
x4
a3
a4  b
x1 , x2 , x3 , x4
determines an admissible classical path.
b3 (x)
xi 
2
Phase of admissible classical path

 (x) 
input 2 output
Hadamard gates
0 1
1 1 1  0


2  1 1 1
Toffoli gates do not contribute to phase
a1
a2
a3
H
H
x1
H
x3
x2
x3  x2 x4
x2
a3  x1 x2
H
x4
x4
 (x)  a1 x1  a2 x2  x1 x3  x4 (a3  x1 x2 )
b1 (x )
b2 (x)
b3 (x)
Quantum circuit’s matrix element
 x
1
b Uf a 
2
h
  1
x:b x b
admissible paths form a to b
number of Hadamard gates
N 0  x | b(x )  b &  (x )  0
number of positive terms
N1  x | b(x )  b &  (x )  1
number of negative terms
b Uf a 
1
2
h
 N 0  N1 
this equations count solutions
to a system of n+1 polynomials
in h variables over the field Z2
Elementary decomposition of a circuit
a1
a2
u11
u21
u12
u22
u1m
u2 m
b1  u1mu1( m 1) u12u11a1
b2  u2 mu2( m 1) u22u21a2
an
un1
un 2
unm
bn  unmun ( m 1)
U1
U2
Um
U j   uij | uij  E ,
un 2un1an
elementary gates
i  1,
,n
T
Elementary gates enable us to assemble a classical form of a quantum circuit
E - elementary gates
Identities

M
I
Multiplication
modulo 2

M

I

A


I
Addition
modulo 2
A
Hadamard

I
H
H
Elementary gates

- Identities
I ( )  



I ( )  



I ( )  



I ( )  
Elementary gates

M ( )  

A( ,  )    2 





M ( ,  )   *2 

- Operations


A( ,  )    2 

M ( )  

 H H ( )  x,    x
M ( ,  )   *2 
  




E  {I , I , I , I , M , M , A, A, H }
Assembling circuit, step 0
Let we want to assemble a circuits with 3
rows and 4 columns
a1
b1  ?
a2
b2  ?
a3
b3  ?
 ?
Assembling circuit, step 1
H
b1
a2 H
b2
a3
b3
a1
We place elementary gates in cells
a1 H
b1  H a1  x1
a2 H
b2  H a2  x2
a3
b3  I a3  a3
I
  a1 x1  a2 x2
Assembling circuit, step 2
H
b1
a2 H
b2
a3
b3
a1
a1 H
a2 H
a3

I

M

I
A
  a1 x1  a2 x2

b1  I H a1  x1

b2  M H a2  x2

b3  A I a3  a3  x1 x2
Assembling circuit, step 3
a1
H
H
a2 H
b2
a3
H
a1 H
a2 H
a3
I
H
b1  H I H a1  x3
I
b2  I M H a2  x2
H
b3  H A I a3  x4

M
A
b3



I
b1


  a1 x1  a2 x2  x1 x3  x4 (a3  x1x2 )
Assembling circuit, step 4
a1
H
b1
H
a2 H
b2
a3
a1 H
a2 H
a3
b3
H


I
H

M

I

I
A
A
M

H
I


b1  A H I H a1  x3  x2 x4


b2  M I M H a2  x2


b3  I H A I a3  x4
  a1 x1  a2 x2  x1 x3  x4 (a3  x1x2 )
QuPol - General View
elementary gates toolbar
window for assembling circuit
menu toolbar
circuit polynomials
QuPol - Assembling circuit
• New circuit
• Selecting gates
• Placing gates
• Constructing polynomials
• Saving circuit
• Opening circuit
New circuit dialogue
clic
k
New circuit
The simplest possible circuit: only identities are used
Placing gates, step 1
click – selecting gate
click – placing gate
Placing gates, step 2
clic
k
clic
k
Placing gates, step 3
clic
k
clic
k
Placing gates, step 4
many clicks to select and place gates
Constructing polynomials
clic
k
Saving circuit
clic
k
Opening circuit
clic
k
Opening circuit, finished
Symbolic form of polynomials
x_1 + a_2*x_2-b_1,
x_4 + a_4*x_7 + x_1*x_4*x_7 + a_2*x_2*x_4*x_7-b_2,
x_5 + a_4*x_3 + a_4^2*x_2 + x_1*x_4 + a_2*x_2*x_4-b_3,
a_4 + x_1*x_4 + a_2*x_2*x_4-b_4,
x_7-b_5,
x_6 + a_4*x_3 + a_4^2*x_2 + x_1*x_3*x_4 + a_4*x_1*x_2*x_4 + a_2*x_2*x_3*x_4 +
a_2*a_4*x_2^2*x_4-b_6,
a_1*x_1 + a_3*x_2 + a_5*x_3 + a_2*x_4 + x_2*x_5 + a_6*x_6 + x_3*x_7 + a_4*x_2*x_7;
C# name space “Polynomial_Modulo_2”
• class Polynomial - list of monomials
• class Monomial - list of letters
• class Letter
- letter with index and power
Circuit Matrix
A system generated by the program is a finite set
of polynomials in the ring
F R
R : Z 2 [ai , b j ][ x1 ,..., xh ]
ai , b j  Z 2 , i, j  1,...n
One has to count the number of roots N0 and N1 in Z2
of the sets
F0  { f ,..., f k , }, F1  { f ,..., f k ,  1}
Then the matrix is
bj U a i 
1
2h
( N0  N 1 )
Computing Matrix Elements
To count the number of roots we convert F0 and F1 into the
triangular form by computing the lexicographical Gröbner
basis by means of the Buchberger algorithm or by
involutive algorithm (Gerdt’04).
We illustrate this by example from Dawson et al
f1  x2 x4  x3  b1
f 2  x2  b2
f 3  x4  b3
  x1 x2  x1 x3  a1 x1  a2 x2  a3 x4
Computing Matrix Elements (cont)
g1  (a1  b1 ) x1  a2b2  a3b3 ( 1)
g 2  x2  b2
g3  x3  b1  b2b3
g3  x4  b3
Lexicographical Gröbner basis
x2
x3
x4
with x1
and for F0 and F1
a1  b1  0 & a2b2  a3b3  0
2 (0) roots of F0 (F1 )
a1  b1  0 & a2b2  a3b3  1
0(2) roots ofF0 (F1 )
other cases
1 rootof F0 and F1
some matrix elements
1
1
000 U 000 
, 000 U 001  
, 000 U 111  0
2
2
References
• Christopher M. Dawson et al.,
Quantum computing and polynomial equations over the finite
field Z2,
arXiv:quant-ph/0408129, 2004.
• Gerdt V.P.
Involutive Algorithms for Computing Gröbner Bases,
Proceedings of the NATO Advanced Research Workshop
"Computational commutative and non-commutative algebraic
geometry" (Chishinau, June 6-11, 2004), IOS Press, to appear.
• Microsoft Visual C# .net Standard, Version 2003
• The first version of a program tool for assembling
arbitrary quantum circuits and for constructing
quantum polynomial systems has been designed.
• There is the algorithmic Gröbner basis approach to
converting the system of quantum polynomials into a
triangular form which is useful for computing the
number of solutions.
• The number of solutions uniquely determines the
circuit matrix.
Thus the above software and algorithmic methods
provide a tool for simulating quantum circuits.
•