Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pennylane as qml
- def circuit1(params, embedding, n_layers, n_qubits, x):
- embedding(x)
- for layer in range(n_layers):
- W = params[layer]
- # Define Rotations
- for i in range(n_qubits):
- qml.Rot(W[i, 0], W[i, 1], W[i, 2], wires=i)
- # CNots
- if n_qubits > 1: # Da erro quando n_qubits=1 coz nao pode haver CNots TODO?
- for i in range(n_qubits):
- if i == n_qubits-1:
- qml.CNOT(wires=[i, 0])
- else:
- qml.CNOT(wires=[i, i+1])
- return qml.expval(qml.PauliZ(0))
- def circuit2(params, embedding, n_layers, n_qubits, x):
- embedding(x)
- for layer in range(n_layers):
- W = params[layer]
- for i in range(n_qubits):
- qml.Rot(W[i, 0], W[i, 1], W[i, 2], wires=i)
- if n_qubits > 1: # Da erro quando n_qubits=1 coz nao pode haver CNots TODO?
- for i in range(n_qubits):
- for j in range(i+1,n_qubits):
- qml.CNOT(wires=[i, j])
- return qml.expval(qml.PauliZ(0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement