Site Tools


qiskit-parameterized-circuits

Parameterized Circuits

Parameterized circuits use symbolic parameters instead of fixed rotation angles. Useful for variational algorithms where you optimize parameters iteratively: evaluate the circuit with parameters $\theta_1, \theta_2, \ldots$, compute a cost, adjust parameters, repeat.

Instead of rebuilding the circuit each iteration, define parameters once and bind different values—much faster.

from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
 
theta = Parameter('θ')
phi = Parameter('φ')
 
qc = QuantumCircuit(2, 1)
qc.rx(theta, 0)
qc.ry(phi, 1)
qc.cx(0, 1)
qc.measure([0, 1], [0])
 
print(qc.draw())

Binding Parameters

Bind parameter values before execution:

import numpy as np
from qiskit_aer import AerSimulator
 
# Bind one parameter
qc2 = qc.bind_parameters({theta: 0.5})
 
# Bind all parameters
qc3 = qc.bind_parameters({theta: 0.5, phi: 1.0})
 
sim = AerSimulator()
result = sim.run(qc3, shots=1000).result()
print(result.get_counts())

Parameter Sweeps

For optimization, you often evaluate circuits across many parameter values. Use .parameter_bind() or pass a list of parameter dictionaries:

param_list = [
    {theta: np.pi * i / 10, phi: np.pi * j / 10}
    for i in range(10)
    for j in range(10)
]
results = sim.run([qc.bind_parameters(p) for p in param_list], shots=1000)

Parameterized circuits make iterative optimization efficient.

qiskit-parameterized-circuits.md · Last modified: by 127.0.0.1