Advertisement
Guest User

Untitled

a guest
Feb 20th, 2022
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1.  
  2.  
  3. import pennylane as qml
  4.  
  5. def circuit1(params, embedding, n_layers, n_qubits, x):
  6. embedding(x)
  7.  
  8. for layer in range(n_layers):
  9. W = params[layer]
  10.  
  11. # Define Rotations
  12. for i in range(n_qubits):
  13. qml.Rot(W[i, 0], W[i, 1], W[i, 2], wires=i)
  14.  
  15. # CNots
  16. if n_qubits > 1: # Da erro quando n_qubits=1 coz nao pode haver CNots TODO?
  17. for i in range(n_qubits):
  18. if i == n_qubits-1:
  19. qml.CNOT(wires=[i, 0])
  20. else:
  21. qml.CNOT(wires=[i, i+1])
  22.  
  23. return qml.expval(qml.PauliZ(0))
  24.  
  25.  
  26. def circuit2(params, embedding, n_layers, n_qubits, x):
  27. embedding(x)
  28.  
  29. for layer in range(n_layers):
  30. W = params[layer]
  31. for i in range(n_qubits):
  32. qml.Rot(W[i, 0], W[i, 1], W[i, 2], wires=i)
  33.  
  34. if n_qubits > 1: # Da erro quando n_qubits=1 coz nao pode haver CNots TODO?
  35. for i in range(n_qubits):
  36. for j in range(i+1,n_qubits):
  37. qml.CNOT(wires=[i, j])
  38.  
  39. return qml.expval(qml.PauliZ(0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement