* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Download ACAT2005_Severyanov
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
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
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
2n
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 m1
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 m1
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.
•