Download presentation
Presentation is loading. Please wait.
Published byAnabel Gardner Modified over 9 years ago
1
Abstraction of Deutsch Algorithm and Its Implementation on QCL
2
Quantum Computer in Present Many researchers have been tried to implement Quantum Computer from 1990s. First quantum computer is demonstrated At Supercomputing 2007 Conference It’s said it’s not perfect quantum computer But it’s definitely faster http://kr.youtube.com/watch?v=pzFTXYJ2J1I http://kr.youtube.com/watch?v=pzFTXYJ2J1I http://kr.youtube.com/watch?v=OgcTK29QeA0 http://kr.youtube.com/watch?v=OgcTK29QeA0
3
Deutsch’s Algorithm Deutsch’s algorithm is Proposed by Prof. David Deutsch of Oxford On his homepage, http://www.qubit.org/people/david/, he provided int roductory video lectures on quantum computinghttp://www.qubit.org/people/david/ The first one that proved quantum computer is faster
4
Deutsch’s Algorithm Oracle function Goal of the algorithm Determine is constant or balanced Constant: or Balanced: or
5
Deutsch’s Algorithm Qubit representation (modified) 1 0 1 0 |0> 1 0 |0> + |1> 1 0 |0> +
6
Deutsch’s Algorithm Hadamard Transform (Operator or Gate) 1 0 |0> 1 0 |1>|0> +
7
Deutsch’s Algorithm Hadamard Transform (Operator or Gate) 1 0 |1>|0> 1 0 |1>
8
Deutsch’s Algorithm Oracle function Goal of the algorithm Determine is constant or balanced Constant: or Balanced: or
9
Deutsch’s Algorithm Quantum Circuit Design Measurement If result is 0, is constant If result is 1, is balanced |0> |1> Measure
10
Deutsch’s Algorithm Case 1: |0> |1> |0>
11
Deutsch’s Algorithm Case 2: |0> |1> |0>
12
Deutsch’s Algorithm Case 3: |0> |1>
13
Deutsch’s Algorithm Case 4: |0> |1>
14
Deutsch’s Algorithm Implementation on QCL – main function procedure main() { qureg x[1]; qureg y[1]; int m; { reset; U(x, y); measure y, m; } until m == 1; measure x,m; print "g(0) xor g(1) =", m; reset; }
15
Deutsch’s Algorithm Implementation on QCL – U operator operator U(qureg x, qureg y) { H(x); H(y); F(x, y); H(x); } |0> |1> Measure
16
Deutsch’s Algorithm Implementation on QCL – F and f function const coin1=(random()>=0.5); const coin2=(random()>=0.5); // result boolean g(boolean x) { if coin1return coin2; // constant return x xor coin2; // balanced } qufunct F(quconst x, quvoid y) { if f(0) xor f(1) CNot(y,x); if f(0) Not(y); }
17
Deutsch’s Algorithm Discussion Call by Value? or Call by Reference? Local variable for qubit is valid? Qubits cannot be cloned Measuring operation destroys qubit to simple boolean value Measuring cannot be placed in an iteration Conclusion QCL is more like hardware simulator, not programming lang. It just looks like C such as FPGA design languages
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.