(num_qubits=5)
| 65 | return cirq.ry(theta) |
| 66 | |
| 67 | def test(num_qubits=5): |
| 68 | num_input_qubits = num_qubits - 1 |
| 69 | # Define ancila qubit |
| 70 | ancilla_qubit = cirq.LineQubit(0) |
| 71 | input_qubits = [cirq.LineQubit(i) for i in range(1, num_qubits)] |
| 72 | #Define a circuit |
| 73 | circuit = cirq.Circuit() |
| 74 | # Set the state to equal superposition of |00000> and |00001> |
| 75 | circuit.append(cirq.X(input_qubits[-4])) |
| 76 | # t is set to 1 |
| 77 | t = 0.358166*np.pi |
| 78 | # Set C to the smallest Eigen value that can be measured |
| 79 | C = 2 * np.pi / ((2 ** num_input_qubits) * t) |
| 80 | circuit.append(EigenValueInversion(num_qubits,C,t)(*(input_qubits + [ancilla_qubit]))) |
| 81 | # Simulate circuit |
| 82 | sim = cirq.Simulator() |
| 83 | result = sim.simulate(circuit) |
| 84 | print(result) |
| 85 | |
| 86 | |
| 87 | if __name__ == '__main__': |
no test coverage detected