Release Notes#
0.4.0#
New Features#
The
PySCFGroundStateSolver
now also computes the magnetization ($S^z$) and total angular momentum ($S^2$) values for all computes roots. In doing so, it properly takes the alpha-beta overlap matrix from theqiskit_nature.second_q.properties.AngularMomentum.overlap
property into account. When this overlap is non-unitary, the spin-contamination within the active subspace is computed correctly. For more details, see also:
Added support for Python 3.12.
0.3.0#
Prelude#
The use of the deprecated qiskit.algorithms
module has been replaced by the new qiskit-algorithms
package which provide a drop-in replacement in the form of the qiskit_algorithms
module.
New Features#
Support was added for
FCISolver
instances which have theirnroots
attribute set to a value higher than 1, indicating that they also compute excited states.
Upgrade Notes#
Support for running with Python 3.7 has been removed. You now need to use Python 3.8 as the minimum version.
Bug Fixes#
The
ElectronicDensity
object that was returned as part of theElectronicStructureResult
from thePySCFGroundStateSolver
was faultily storing restricted-spin information within the alpha-spin register even though the object is documented as storing unrestricted spin-data. This has been fixed and theElectronicDensity
object is now guaranteed to store unrestricted-spin information. If a restricted-spin density is required it may be obtained from thetrace_spin()
method.
0.2.0#
New Features#
Adds the
PySCFGroundStateSolver
to provide simpler means for testing and debugging classical computational workflows in Qiskit Nature. Below is an example of how to use it:from pyscf import fci from qiskit_nature.second_q.drivers import MethodType, PySCFDriver from qiskit_nature.second_q.transformers import ActiveSpaceTransformer from qiskit_nature_pyscf import PySCFGroundStateSolver driver = PySCFDriver( atom="O 0.0 0.0 0.0; O 0.0 0.0 1.5", basis="sto3g", spin=2, method=MethodType.UHF, ) problem = driver.run() transformer = ActiveSpaceTransformer(4, 4) problem = transformer.transform(problem) solver = PySCFGroundStateSolver(fci.direct_uhf.FCI()) result = solver.solve(problem) print(result)
Added support for running with Python 3.11.
Bug Fixes#
Ensures compatibility of this plugin with Qiskit Nature 0.6. The examples are updated in order to avoid triggering deprecation warnings. Using Qiskit Nature 0.5 is still supported.
0.1.0#
New Features#
First release of Qiskit Nature PySCF with the class
qiskit_nature_pyscf.runtime.QiskitSolver
from pyscf import gto, scf, mcscf from qiskit.algorithms.optimizers import SLSQP from qiskit.primitives import Estimator from qiskit_nature.second_q.algorithms import GroundStateEigensolver, VQEUCCFactory from qiskit_nature.second_q.circuit.library import UCCSD from qiskit_nature.second_q.mappers import ParityMapper, QubitConverter from qiskit_nature_pyscf import QiskitSolver mol = gto.M(atom="Li 0 0 0; H 0 0 1.6", basis="sto-3g") h_f = scf.RHF(mol).run() norb, nelec = 2, 2 cas = mcscf.CASCI(h_f, norb, nelec) converter = QubitConverter(ParityMapper(), two_qubit_reduction=True) vqe = VQEUCCFactory(Estimator(), UCCSD(), SLSQP()) algorithm = GroundStateEigensolver(converter, vqe) cas.fcisolver = QiskitSolver(algorithm) cas.run()