# VQE (Variational Quantum Eigensolver) **VQE** is a [[qiskit-variational-algorithms|variational algorithm]] that finds ground state energies and eigenstates of quantum Hamiltonians. Given a Hamiltonian $H$ (a Hermitian operator), VQE trains a [[qiskit-ansatz|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. ```python 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 ([[qiskit-optimizers|see optimizers]]) to find the minimum energy. Start with an initial parameter guess, evaluate the cost, compute gradients, and update. ```python 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.