Releases: qiskit-community/qiskit-nature
Qiskit Nature 0.2.0
Changelog
Added
-
Add
qiskit_nature.mappers.second_quantization.BravyiKitaevSuperFastMapper
implementing
the Bravyi-Kitaev super-fast fermion-to-qubit mapping. For examplefrom qiskit_nature.mappers.second_quantization import BravyiKitaevSuperFastMapper mapper = BravyiKitaevSuperFastMapper() mapper.map(fermionic_op)
-
The
qiskit_nature.operators.SecondQuantizedOp
now has a method
qiskit_nature.operators.SecondQuantizedOp.is_hermitian()
method which will
returnTrue
if the operator is equivalent to its adjoint andFalse
otherwise -
qiskit_nature.operators.SecondQuantizedOp.to_list()
is now an abstract method of
qiskit_nature.operators.SecondQuantizedOp
that is implemented by all subclasses -
Add
qiskit_nature.operators.second_quantization.FermionicOp.to_normal_order()
.
It returns the normal ordered fermionic operator that is equivalent to self. -
Introduces the
qiskit_nature.drivers.second_quantization.ElectronicStructureMoleculeDriver
and
qiskit_nature.drivers.second_quantization.VibrationalStructureMoleculeDriver
that allow for the creation of Molecule-based drivers by specifying a molecule plus basis and
method (for Electronic Structure drivers only) and a driver type. An additional typeAUTO
allows for
the lookup of the first driver installed that supports the given method. The documentation of
those two molecule driver classes gives more details on it. -
The Property framework is the new modular and extensible approach for
representing observable quantities. The framework is used as a replacement
for the legacy driver results likeQMolecule
andWatsonHamiltonian
.
Please refer to the tutorial and documentation for more details.
Related Github issues: -
Introduce the
qiskit_nature.runtime.VQEProgram
to allow leveraging Qiskit
Runtime to speed up the VQE algorithm. Theqiskit_nature.runtime.VQEProgram
implements theqiskit.algorithms.MinimumEigensolver
interface and can thus
be used as a drop-in replacement for other minimum eigensolvers like
qiskit.algorithms.VQE
. See the tutorials underdocs/tutorials
for an
explicit example usage. -
The internal data in
qiskit_nature.operators.second_quantization.FermionicOp
have been changed. As a result, more data type is now accepted by initialize.
The ascending order constraint and the no-same index constraint have been removed.
In addition, the dense and sparse labels are now automatically detected by the existence of
underscores.The property
display_format
ofqiskit_nature.operators.second_quantization.FermionicOp
is added. There are two modesdense
andsparse
.
This display format can be switched by the propertyFermionicOp.display_format
. -
The internal API of the abstract class
qiskit_nature.operators.second_quantization.SecondQuantizedOp
abstract class has been
changed to useqiskit.opflow.mixins.StarAlgebraMixin
.
Changed
-
The
qiskit_nature.circuit.library.EvolvedOperatorAnsatz
is deprecated.
Useqiskit.circuit.library.EvolvedOperatorAnsatz
as a direct replacement instead. -
The property
dagger
in the second quantized operators is deprecated. Useadjoint()
method
alternatively. -
- the legacy driver return types,
QMolecule
andWatsonHamiltonian
- the legacy transformers acting on the now deprecated driver return types
- the
BaseProblem.molecule_data
andBaseProblem.molecule_data_transformed
attributes
- the legacy driver return types,
-
All currently existing drivers have been moved from
qiskit_nature.drivers
toqiskit_nature.drivers.second_quantization
. This is necessary because
future additions to Nature which reside in parallel to the
second_quantization
submodules will not be using these drivers. Making
this separation reflects that in the code structure.
The same change was necessary for the existingqiskit_nature.transformers
.
Fixed
-
Fixed an issue where
qiskit_nature.operators.FermionicOp
raises
unwantedValueError
when initialized with some list of sparse label. -
Fixes the issue #198 where total dipole moment was not calculated correctly in the
ElectronicStructureResult
. -
QiskitNatureError
s where not being raised properly by theActiveSpaceTransformer
due to
ill-formatted error messages. -
Fix
qiskit_nature.algorithms.AdaptVQE
after the update of
qiskit.algorithms.VQE
which deleted the internal_energy_evaluation
method that Adapt-VQE was relying on. -
The
FreezeCoreTransformer
(andActiveSpaceTransformer
) were incompatible with the automatic
Z2Symmetry
reduction. This issue was fixed by correcting the
ElectronicStructureProblem.symmetry_sector_locator
method. -
The two-qubit reduction needs to be skipped when a qubit operator only has 2
(or even fewer) qubits. -
The
qiskit_nature.runtime.VQEProgram
does support the evaluation of auxiliary
operators at the final state, but the
qiskit_nature.runtime.VQEProgram.supports_aux_operators
method previously returned
False
instead ofTrue
. -
Allow Qiskit's
qiskit.algorithms.optimizers.Optimizer
classes as input for
theoptimizer
in theqiskit_nature.runtime.VQEProgram
instead of only
dictionaries. -
Changed documentation and code to better reflect rebranding of Qiskit's
chemistry module as Qiskit Nature.
Qiskit Nature 0.1.5
Qiskit Nature 0.1.4
[Stable] Prepare 0.1.4 release (#265) * Prepare 0.1.4 release * Deprecated Location: Improve Windows compatibility (pathlib) for psi4 (#266) * Update AdaptVQE to new, stateless VQE (#222) * fix AdaptVQE which previously used the (now deleted) internal method _evaluate_energy of the VQE * add reno Co-authored-by: Steve Wood <[email protected]> * Bump Terra min. requirement Co-authored-by: Julien Gacon <[email protected]> Co-authored-by: Steve Wood <[email protected]>