Changelog
For detailed release notes with code examples and feature walkthroughs, see the Release Notes section.
Version 2.1.0
See What’s New in Version 2.1 for full details.
Geometry optimization as a first-class algorithm type (
geometry_optimizer), with a geomeTRIC-backed implementation driven by the existing nuclear derivative calculatorsVendored Q# utilities load into a private
qdk.Contextinstead of the global interpreter, so importingqdk_chemistryno longer changes the caller’s target profileQiskit extras supported on Python 3.14
Bug fixes:
Corrected the iterative phase estimation phase convention: for \(U = e^{-iHt}\) the energy is recovered as \(E = -\theta / t\), the feedback phase is negated, and
QpeResult.bits_msb_firstis now genuinely most-significant-bit firstQpeResultfiles written by v1 are now upgraded bypython -m qdk_chemistry.migrate
Version 2.0.0
See What’s New in Version 2.0 for full details and migration guidance.
Symmetry-blocked storage unifying restricted and unrestricted orbital, integral, and index data
Consolidated wavefunction containers (
StateVectorContainer,AmplitudeContainer)Nuclear gradients and finite-difference Hessians
Stabilized SCF and ROHF geometric direct minimization
Block-encoding/LCU qubitization, Hadamard test, and Zassenhaus product formulas
Real-time dynamics for driven, time-dependent Hamiltonians
Fermion-to-qubit mapping carried as data (
MajoranaMapping), including a Verstraete-Cirac encodingExplicit Pauli term grouping and generalized expectation estimation
Composable standard and iterative phase-estimation circuit builders
QDK Quantum Resource Estimator integration for generated circuits (
Circuit.estimate/get_qre_application)Algorithm result caching and data-file migration tooling
Windows build support with CI
Breaking changes:
Wavefunction containers consolidated from five classes into two:
SlaterDeterminantContainer,CasWavefunctionContainer, andSciWavefunctionContainer(structurally identical apart from a type tag) merge intoStateVectorContainer, distinguished by a stored sector;MP2ContainerandCoupledClusterContainermerge intoAmplitudeContainer, distinguished by anAmplitudeTypetag.Wavefunction.get_container_type()now returns"state_vector"/"amplitude"(old names remain as deprecated aliases)Serialization schema bumped from
0.1.0to0.2.0for theOrbitals/ModelOrbitals,CanonicalFourCenterHamiltonianContainer/SparseHamiltonianContainer/CholeskyHamiltonianContainer,Wavefunction/StateVectorContainer,QpeResult, andUnitaryRepresentationdata classes;AmplitudeContainerand the top-levelHamiltonianare unchanged. Upgrade supported files withpython -m qdk_chemistry.migrate; v1TimeEvolutionUnitaryfiles must be regenerated because they do not store the scale required by v2Expectation estimator no longer auto-groups terms
Qubit mapper takes a
MajoranaMappinginstead of anencodingstringSilent semantic change: the
Wavefunctionaccessorget_active_two_rdm_spin_dependent()now returns blocks as(aaaa, aabb, bbbb)(was(aabb, aaaa, bbbb)), with theaabbblock in alpha-alpha-beta-beta index order (was alpha-beta-alpha-beta), to match the two-electron integral block order inHamiltonian; theWavefunctionconstructor takes the same new order. Positional unpacking reads incorrect data until updatedConfigurationstring and bitset constructors replaced by explicit factoriesPhase estimation now uses the
"qdk_iterative"and"qdk_standard"variants;num_bits, unitary-builder, evolution-time, and controlled-mapper settings belong to the nestedqpe_circuit_builderreference, and the executor is configured throughcircuit_executor. The v1"qiskit_standard"variant is composed from"qdk_standard"with Qiskit builder and executor referencesRenames (deprecated aliases retained):
QubitHamiltoniantoQubitOperator,EnergyEstimatortoExpectationEstimator,TimeEvolutionUnitarytoUnitaryRepresentation, andTimeEvolutionUnitaryContainertoUnitaryContainerv1
Orbitalsdense accessors deprecated in favor of the symmetry-blocked accessorsC++ only: FCIDUMP writer, Cholesky container, and
ModelOrbitalsconstructor changes
Version 1.1.0
See What’s New in Version 1.1 for full details.
Q#-native circuit architecture with lazy QIR compilation
Model Hamiltonians (Hückel, Hubbard, PPP, Ising, Heisenberg)
Arbitrary-order Trotter-Suzuki product formulas
Native ROHF with DIIS acceleration
Cholesky-based AO→MO integral transformation
OpenFermion qubit-mapping plugin
MACIS active-space expansion to 2048 orbitals
One-shot VVHV orbital localization
Version 1.0.2
Make qiskit-aer and qiskit-nature optional dependencies
Loosen matplotlib version requirement to >=3.10.0
Fixed installation instructions for Ubuntu compatibility
Improved iQPE demo notebook
Version 1.0.1
Added support for Python 3.10
Enhanced INSTALL.md with clearer installation steps
Version 1.0.0
Initial release of QDK/Chemistry