VQE, ADAPT-VQE, excited states, VASQE and periodic systems — four solvers sharing one driver.
Basis Sets
Everything generated, nothing tabulated
A Hamiltonian starts on a real-space grid, not in a lookup table. Localized orbitals, pseudopotentials and the integrals between them are all built at run time by Carcará itself — the algorithms that consume the resulting Hamiltonian are on the Algorithms page.
Localized basis sets, four families
FAO orbitals are closed-form and analytic; NAO, GTO and Pople bases are fit or solved numerically — every one generated at run time, none looked up in a tabulated library.
- FAO — hydrogenoid orbitals, analytic and exact
- NAO — numerical, confined orbitals in the SIESTA/Sankey style, with SZ/DZ/DZP/TZP/TZ2P/QZP multi-zeta and polarized variants
- GTO — minimal STO-nG, built by least-squares fitting to the analytic orbital
- Pople split-valence — 6-31G and 6-31G(d), for direct comparison with quantum-chemistry references
Pseudopotentials generated, not downloaded
Every element with Z < 90 ships a norm-conserving Troullier–Martins pseudopotential with Kleinman–Bylander projectors — generated from scratch by Carcará's own atomic LDA solver, not fetched from an external pseudopotential library.
- Removes the core electrons a full-Z simulation cannot afford on a NISQ-era qubit budget
- Kleinman–Bylander separable projectors, the same non-local form production DFT codes use
- Regenerable on demand for any element under Z = 90, not a frozen, versioned download
A basis-agnostic, C-accelerated integral engine
One- and two-body integrals are evaluated on real-space grids — cubic, anisotropic or non-orthogonal — through a C/OpenMP backend that never sees an orbital's analytic form, only its sampled values, with an automatic NumPy fallback.
- The two-electron Coulomb integral is solved via FFT, O(N log N), not the naive O(N²) real-space sum
- libcarcara_integrals compiles once (CMake ≥ 3.15) and is picked up automatically by _backend.py
- The same BasisFunction.evaluate(x, y, z) contract works for every basis family above
Keep reading
Cross-backend validation to 1.3×10⁻⁷ Ha, real QPU execution through Amazon Braket, and what still doesn't work.