Site Tools


qiskit-vqe

VQE (Variational Quantum Eigensolver)

VQE is a variational algorithm that finds ground state energies and eigenstates of quantum Hamiltonians. Given a Hamiltonian $H$ (a Hermitian operator), VQE trains a parameterized circuit to minimize the energy expectation value $E(\theta) = \langle \psi(\theta) | H | \psi(\theta) \rangle$.

VQE is one of the most promising near-term quantum algorithms. It's used for chemistry (finding molecular ground states), materials science, and optimization.

Energy Measurement

To compute $E(\theta)$, measure expectation values of Pauli operators (the terms in $H$) and sum them:

$$E(\theta) = \sum_i c_i \langle \psi(\theta) | P_i | \psi(\theta) \rangle$$

where each $P_i$ is a Pauli string (tensor product of X, Y, Z, I) and $c_i$ is a coefficient. Measure many copies with different Pauli measurements to estimate each term.

from qiskit_aer import AerSimulator
from qiskit.primitives import Estimator
from qiskit.quantum_info import SparsePauliOp
import numpy as np
 
# Define a Hamiltonian (e.g., XXZ model)
H2_op = SparsePauliOp.from_list([
    ("II", -1.052373245772859),
    ("IZ", 0.39793742484318045),
    ("ZI", -0.39793742484318045),
    ("ZZ", -0.01128010425623538),
    ("XX", 0.18093119978423156)
])
 
# Define ansatz
ansatz = ...  # a parameterized circuit
 
# Compute energy for given parameters
estimator = Estimator()
result = estimator.run(ansatz, H2_op, [theta_values]).result()
energy = result.values[0]

Training

Use a classical optimizer (see optimizers) to find the minimum energy. Start with an initial parameter guess, evaluate the cost, compute gradients, and update.

from qiskit.optimizers import SLSQP
 
# Initial parameters
x0 = np.random.rand(len(ansatz.parameters))
 
def cost_function(params):
    result = estimator.run(ansatz, H2_op, [params]).result()
    return result.values[0]
 
optimizer = SLSQP(maxiter=100)
result = optimizer.minimize(cost_function, x0=x0)
print(f"Ground state energy: {result.fun}")

VQE is practical on current (noisy) quantum hardware because it only requires measuring expectation values, not full state tomography.

qiskit-vqe.md · Last modified: by 127.0.0.1