Showing posts with label Q#. Show all posts
Showing posts with label Q#. Show all posts
Sunday, March 3, 2019
Old stuff: my first IEEE paper on Computational Intelligence
Before I finished my college, I managed to publish a paper on evolutionary computation (EC). The paper is on the encoding part. My next task is to use quantum to rewrite my algorithm. Well, there is a quantum genetic algorithm (QGA) there. However, I think with the latest decision on Q# and quantum algorithms. The paper link is here.
Saturday, January 19, 2019
Microsoft Q# Day 1: Qubit Collapsed
After going through the quantum linear algebra, I am going to see some quantum concept by using Q#.
The first one I want to prove is measurement will collapse the qubit. I will use the AssertProb to verify the value with probability. The pseudo code is listed below:
- use H gate to set the qubit to superposition
- check the probability to 1 equals 0.5 (50%)
- measure the qubit
- check the qubit equals the measured value equals to 1 (100%). The qubit collapsed.
the code listed below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | namespace Quantum.QSharpApplication2 { open Microsoft.Quantum.Primitive; open Microsoft.Quantum.Canon; open Microsoft.Quantum.Extensions.Convert; operation Operation1 () : Unit { body(...) { using (ancilla = Qubit()) { H(ancilla); AssertProb([PauliZ], [ancilla], Zero, 0.5, "error", 1e-5); AssertProb([PauliZ], [ancilla], One, 0.5, "error", 1e-5); mutable gate = PauliZ; let mX = Measure([gate], [ancilla]); AssertProb([gate], [ancilla], mX, 1.0, "error", 1e-5); Message(ToStringD(mX == Zero ? 0. | 1.)); Reset(ancilla); } } } } |
Subscribe to:
Posts (Atom)