MCPcopy Index your code
hub / github.com/Apress/quantum-machine-learning-python / main

Function main

Chapter_5/listing5_1/EigenRotation.py:51–69  ·  view source on GitHub ↗
(register_size=4)

Source from the content-addressed store, hash-verified

49 theta = 2*math.asin(self.C * self.N * self.t / (2*math.pi * k))
50 return cirq.ry(theta)
51def main(register_size=4):
52 ancilla = cirq.LineQubit(0)
53 register = [cirq.LineQubit(i + 1) for i in range(register_size)]
54 print(register)
55 memory = cirq.LineQubit(register_size + 1)
56 t = 0.358166*math.pi
57 C = 2 * math.pi / (2 ** register_size * t)
58 print(math.asin(C*t))
59 circuit = cirq.Circuit()
60 #circuit.append(cirq.H(register[i]) for i in range(register_size))
61 circuit.append(cirq.X(register[-3]))
62 circuit.append(EigenRotation(register_size + 1, C, t)(*(register + [ancilla])))
63 #circuit.append(cirq.measure(*(register + [ancilla]),key='m'))
64 sim = cirq.Simulator()
65 result = sim.simulate(circuit)
66 #result = sim.run(circuit,repetitions=1000)
67 print(result)
68 print(circuit)
69 #print(result.histogram(key='m'))
70
71
72

Callers 1

EigenRotation.pyFile · 0.70

Calls 1

simulateMethod · 0.45

Tested by

no test coverage detected