STO-3G basis · CASCI(2,2) natural orbital basis · 4-qubit Hamiltonian
This benchmark verifies that Qumulator's KLT solver correctly finds the ground-state energy of lithium hydride (LiH) in the STO-3G basis, within the CASCI(2,2) active space using natural orbitals. The result must fall within 2 mHa of the FCI reference value — the standard chemical accuracy threshold.
The active space is (2 electrons, 2 orbitals), which maps to a 4-qubit system under the Jordan-Wigner transform. The Hamiltonian is expressed as a sum of 9 Pauli terms and diagonalized exactly to obtain the lowest eigenvalue. The result is compared against the FCI ground-state energy for this system.
The LiH STO-3G active space Hamiltonian in the CASCI(2,2)/natural orbital basis, expressed as a sum of Pauli operators:
Install the Qumulator SDK and pass the Pauli
Hamiltonian directly to client.klt.run(). The KLT solver
finds the exact ground-state energy — no NumPy, no matrix construction required.
pip install qumulator
import os
from qumulator import QumulatorClient
client = QumulatorClient(
api_url=os.environ["QUMULATOR_API_URL"],
api_key=os.environ["QUMULATOR_API_KEY"],
)
# LiH STO-3G CASCI(2,2) Pauli Hamiltonian — submit directly to the KLT solver
result = client.klt.run(
pauli_hamiltonian={
"II": -7.4415091079,
"ZI": -0.2139867776,
"IZ": -0.2139867776,
"ZZ": +0.0079749198,
"XX": +0.1309840697,
"IX": -0.0009323605,
"XI": -0.0009323605,
"XZ": -0.0006035813,
"ZX": -0.0006035813,
},
cluster_size=2,
)
EXACT_FCI = -7.88226
error = abs(result.energy - EXACT_FCI)
print(f"Energy : {result.energy:.8f} Ha") # → -7.88111108 Ha
print(f"Error : {error * 1000:.4f} mHa") # → 1.1489 mHa
print(f"PASS : {error <= 0.002}") # → True
cluster_size=2 parameter
matches the CASCI(2,2) active space.
You can also verify the Hamiltonian coefficients independently using NumPy (no API call required):
import numpy as np
I2 = np.eye(2); X = np.array([[0.,1.],[1.,0.]]); Z = np.diag([1.,-1.])
coefs = [-7.4415091079, -0.2139867776, -0.2139867776, +0.0079749198,
+0.1309840697, -0.0009323605, -0.0009323605, -0.0006035813, -0.0006035813]
ops = [np.eye(4), np.kron(Z,I2), np.kron(I2,Z), np.kron(Z,Z), np.kron(X,X),
np.kron(I2,X), np.kron(X,I2), np.kron(X,Z), np.kron(Z,X)]
H = sum(c * M for c, M in zip(coefs, ops))
energy = np.linalg.eigvalsh(np.real(H)).min()
print(f"NumPy diag : {energy:.8f} Ha") # → -7.88111108 Ha — matches SDK result
Why LiH? LiH in the STO-3G basis is a standard chemistry benchmark in the quantum computing literature (see Peruzzo et al. 2014, O'Malley et al. 2016). It is small enough to solve exactly, but non-trivial enough to require correlation beyond mean-field theory.
CASCI(2,2) active space: We use a minimal active space of 2 electrons in 2 orbitals expressed in natural orbital coordinates. This gives a 4-dimensional Hilbert space (4 qubits under Jordan-Wigner) and a 4×4 Hamiltonian matrix. Exact diagonalization is trivial in this space — the benchmark tests the correctness of the Hamiltonian coefficients and the engine's eigenvalue routine.
Chemical accuracy: The standard threshold for a simulation to be considered "chemically accurate" is an error ≤ 1 kcal/mol ≈ 1.6 mHa. Our result (1.15 mHa) exceeds this standard.