Overview
TheMolecularSimulator class provides variational quantum eigensolver (VQE) functionality for molecular quantum chemistry simulations using the UCCSD (Unitary Coupled Cluster Singles and Doubles) ansatz.
Classes
MoleculeData
Data structure for molecular configurations. Attributes:name(str): Molecule identifier (e.g., “H2”)n_electrons(int): Number of electronsn_orbitals(int): Number of molecular orbitalsn_qubits(int): Number of qubits requiredh_core(np.ndarray): Core Hamiltonian matrixeri(np.ndarray): Electron repulsion integralsnuclear_repulsion(float): Nuclear repulsion energy in Hartreefci_energy(float): Full CI (exact) energy in Hartreehf_energy(float): Hartree-Fock energy in Hartreedescription(str): Molecule description
VQESolver
Variational Quantum Eigensolver with UCCSD ansatz. Constructor:qc: Quantum computer instanceconfig: Simulator configuration
run()
mol: Molecule data structurebackend: Physics backend (“hamiltonian”, “schrodinger”, “dirac”)max_iter: Maximum optimization iterations (default:200)tol: Convergence tolerance (default:1e-8)
VQEResult with optimized energy and parameters
VQEResult
Results from VQE optimization. Attributes:molecule(str): Molecule namebackend(str): Backend usedn_qubits(int): Number of qubitsn_parameters(int): Number of variational parametersvqe_energy(float): Optimized VQE energy in Hartreehf_energy(float): Hartree-Fock energy in Hartreefci_energy(float): Full CI energy in Hartreecorrelation_energy_captured(float): Fraction of correlation energy recovered (0.0-1.0)optimal_thetas(np.ndarray): Optimized UCCSD parametersn_iterations(int): Number of optimizer iterationsconverged(bool): Whether optimization convergedenergy_error(float): |VQE - FCI| in Hartree
ExactJWEnergy
Exact energy evaluator using OpenFermion Jordan-Wigner transformation. Constructor:call()
amps: Quantum state amplitudes tensor(2^n, 2, G, G)or(2^n, 2)
Supported Molecules
TheMOLECULES dictionary contains pre-configured molecular systems:
H2 (Hydrogen Molecule)
- Formula: H2
- Bond length: 0.735 Å
- Electrons: 2
- Orbitals: 2 (minimal basis STO-3G)
- Qubits: 4
- Nuclear repulsion: 0.71997 Hartree
- HF energy: -1.11675928 Hartree
- FCI energy: -1.13728383 Hartree
- Basis set: STO-3G
UCCSD Ansatz
The UCCSD (Unitary Coupled Cluster Singles and Doubles) ansatz generates quantum circuits for molecular simulation:state: Initial quantum state (typically Hartree-Fock)thetas: Variational parameters for excitationssingles: List of single excitations(occupied, virtual)doubles: List of double excitations(occ1, occ2, virt1, virt2)backend: Physics backend for evolutionrunner: Circuit execution function
theta=0returns identity (no excitation)- Singles: CNOT ladder with RY rotation
- Doubles: Givens rotation in excitation subspace
- Preserves particle number
Functions
prepare_hf()
mol: Molecule datafactory: State factory for initializationbackend: Physics backend
n_electrons qubits in |1⟩
build_jw_hamiltonian_of()
mol: Molecule data structure
paulis: List of(coefficient, pauli_string)tuplese_nuc: Nuclear repulsion energysuccess: Whether construction succeededhf_idx: Hartree-Fock state index in computational basis
- OpenFermion
- OpenFermion-PySCF
- PySCF
Example Usage
Basic VQE Calculation
Custom Molecule
Jordan-Wigner Transformation
The molecular Hamiltonian is mapped to qubits using the Jordan-Wigner transformation: is transformed to: where are Pauli strings (products of operators).Optimization Details
Parameter Initialization
- All parameters start at zero (identity circuit)
- Initial scan of first double amplitude
θ_d ∈ [-0.5, 0.5] - Best value from scan used as starting point
Optimizer
- Method: L-BFGS-B (scipy.optimize.minimize)
- Gradient: Finite differences with
eps=1e-5 - Convergence:
ftol(default1e-8),gtol=1e-7
Cost Function
Performance
H2 Typical Results
- Iterations: 30-50
- Time: 5-10 minutes (CPU, 16x16 grid)
- Accuracy: |VQE - FCI| < 1e-5 Hartree
- Correlation captured: 99.9%+
Dependencies
torch: Neural network backendsnumpy: Numerical arraysscipy: Optimizationopenfermion: Jordan-Wigner transformationopenfermionpyscf: PySCF integrationpyscf: Quantum chemistry calculations
Notes
- The exact evaluator verifies Hartree-Fock state before optimization
- Hamiltonian construction uses OpenFermion for consistency
- UCCSD preserves particle number (electron count)
- All energies reported in atomic units (Hartree)
- 1 Hartree = 27.2114 eV = 627.509 kcal/mol