* Your assessment is very important for improving the workof 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. •