aboutsummaryrefslogtreecommitdiff
path: root/hw9/YaoQuantumComputing.jl
blob: 36c22d64e8552d7bd47abc45669d97f93746515c (plain)
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
using Yao, YaoPlots

let
    circuit = chain(2, put(1=>X), put(2=>X))
    plot(circuit)
end


begin
	bellcircuit = chain(2, put(1=>H), control(1, 2=>X))
	plot(bellcircuit)
end


q1 = ArrayReg(bit"00") #creating the system of two qubits with state |00>
println(state(q1))
println(q1 |> r->measure(r, nshots=10))

a = (q1 |> bellcircuit)
println(state(a))
println(a |> r->measure(r, nshots=10))


reversebellcircuit = chain(2, control(1,2=>X), put(1=>H))
plot(reversebellcircuit)

b = (a |> reversebellcircuit)
println(state(b))