-
Notifications
You must be signed in to change notification settings - Fork 210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Electronic Structure Stack Refactoring - Part 2 #841
Electronic Structure Stack Refactoring - Part 2 #841
Conversation
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to regenerate this file to get the physicist-ordered integrals
container.occupied_modals = ElectronicDipoleMoment() # type: ignore[assignment] | ||
container.occupied_modals = Magnetization(2) # type: ignore[assignment] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just using some other non-vibrational property, since the ElectronicDipoleMoment
no longer has an empty-init available
0b6556b
to
e7217e8
Compare
1fed1cc
to
4f86013
Compare
ed1142d
to
cb09db3
Compare
cb09db3
to
586e3b8
Compare
qiskit_nature/second_q/algorithms/initial_points/hf_initial_point.py
Outdated
Show resolved
Hide resolved
qiskit_nature/second_q/algorithms/initial_points/mp2_initial_point.py
Outdated
Show resolved
Hide resolved
qiskit_nature/second_q/algorithms/initial_points/mp2_initial_point.py
Outdated
Show resolved
Hide resolved
Co-authored-by: Steve Wood <[email protected]>
87c6fe5
to
329cd5c
Compare
* [WIP] Fermionic.from_polynomial_tensor integration * Apply suggestions from code review Co-authored-by: Steve Wood <[email protected]> * Apply more suggestions from code review * refactor: remove explicit register_length argument from PolynomialTensor * refactor: FermionicOp.from_polynomial_tensor implementation * refactor: revert usage of Number * refactor: rename ElectronicIntegrals.mixed to .beta_alpha * fix: validate keys in SparseLabelOp.register_length.setter * docs: improve constant offset documentation * refactor: validate ElectronicIntegrals data * fix: spell * fix: set comparison behavior * fix: revert change of DipoleTuple type * fix: attempty to fix mypy ambiguity Co-authored-by: Steve Wood <[email protected]>
Summary
This is the second part of the major refactoring of the electronic structure stack.
It does the following:
FermionicOp.from_polynomial_tensor
ElectronicIntegrals
container based on thePolynomialTensor
(a similar design can be used for Low rank representations #654)ElectronicEnergy
andElectronicDipoleMoment
based on the aboveElectronicStructureProblem
to be single-basis onlyIntegralProperty
andproperties.intergals.ElectronicIntegrals
classes (+ subclasses)Details and comments
FermionicOp.from_polynomial_tensor
(see inline comments)(optionally may become part of this PR) updatesee FinalizeAngularMomentum
,Magnetization
andParticleNumber
(e.g. as suggested in Ill-defined behavior of stack when using oddnum_spin_orbitals
#820)ElectronicStructureProblem
refactoring #851ElectronicIntegrals
SparseLabelOp.register_length.setter
release note listing the major features (similar to the list above) but see next point(makes more sense to have with the migration guide)ElectronicDipoleMoment
fornuclear_dipole_moment
as constant shift inPolynomialTensor
objectsElectronicIntegrals
BasisTransformer
Closes #666
Closes #679