fixing parametrization flag and updating relevant test scripts

This commit is contained in:
Mattia Robbiano
2025-09-20 17:00:07 +02:00
parent 9853e86deb
commit 271a44576d
3 changed files with 284 additions and 489 deletions

File diff suppressed because one or more lines are too long

View File

@@ -24,21 +24,23 @@ hamiltonian = hamiltonians.SymbolicHamiltonian(form)
# define circuit
def build_circuit(nqubits, nlayers):
"""Construct a Qibo parametric quantum circuit."""
"""Construct a more complex Qibo parametric quantum circuit without CNOT gates."""
circ = Circuit(nqubits)
for _ in range(nlayers):
for layer in range(nlayers):
for q in range(nqubits):
circ.add(gates.RY(q=q, theta=0.))
circ.add(gates.RZ(q=q, theta=0.))
[circ.add(gates.CZ(q % nqubits, (q + 1) % nqubits)) for q in range(nqubits)]
circ.add(gates.RX(q=q, theta=0.))
# Add controlled rotations and SWAPs for entanglement
for q in range(nqubits - 1):
circ.add(gates.CNOT(q, q + 1))
circ.add(gates.SWAP(q, q + 1))
circ.add(gates.M(*range(nqubits)))
return circ
nqubits = 4
nqubits = 6
circuit = build_circuit(nqubits=nqubits, nlayers=3)
quimb_circuit = quimb_backend._qibo_circuit_to_quimb(circuit)
def f(params):
circuit.set_parameters(params)
return quimb_backend.expectation(