Hybrid Quantum Chemistry VQE

Quantum Chemistry Blueprint: Molecular Simulation

Reference architecture for the simulation of molecular structures with hybrid QPU-CPU-GPU workflows. Based on the VQE algorithm for electronic structure calculations.

Introduction

Molecular simulation is one of the most promising near-term applications of quantum computing. This blueprint provides a reference architecture for running hybrid VQE workflows on the FullStaQD stack.

Target audience: computational chemists and quantum software engineers integrating domain-specific tools with the FullStaQD SDK.

Architecture Overview

The workflow consists of three phases:

  • Classical pre-processing — molecular geometry optimisation and basis-set selection on CPU/GPU
  • Quantum phase — VQE ansatz preparation and expectation-value estimation on QPU
  • Classical post-processing — energy landscape analysis and result validation

Setting Up the VQE Pipeline

phython
from fullstaqd.chemistry import MoleculeBuilder, JordanWignerMapper
from fullstaqd.algorithms import VQE
from fullstaqd.backends import IBMQuantumBackend

molecule = MoleculeBuilder.from_xyz("h2o.xyz", basis="sto-3g")
hamiltonian = JordanWignerMapper().map(molecule.second_quantised())

backend = IBMQuantumBackend(device="ibm_brisbane", shots=4096)
vqe = VQE(ansatz="UCCSD", optimiser="COBYLA", backend=backend)

result = vqe.compute_ground_state(hamiltonian)
print(f"Ground state energy: {result.energy:.6f} Ha")

Ansatz Selection

Choosing the right ansatz is critical for convergence and circuit depth:

  • UCCSD — physically motivated, higher accuracy, deeper circuits
  • HEA (Hardware-Efficient Ansatz) — shorter circuits, better for NISQ hardware
  • ADAPT-VQE — adaptive, builds the ansatz iteratively

Known Limitations

  • UCCSD circuits for molecules > 20 electrons exceed current NISQ coherence times
  • Measurement overhead for fermionic Hamiltonians scales quadratically with qubit count
  • Noise mitigation is required for quantitative results on real hardware
← Back to Stack