Skip to content

Expire Dense Interfaces #589

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

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

coreyostrove
Copy link
Contributor

This PR removes the DenseOperatorInterface, DenseStateInterface and DenseEffectInterface classes. These classes enabled interfacing with certain densely parameterized model members as if they we numpy arrays. These classes were official deprecated with the release of 0.9.13 and as an issue is being tracked by #447. Following discussions it was decided that due to some pernicious bugs introduced by these classes, as well as the suboptimality of having a bifurcated API, the best course of action was to simplify the codebase and remove these.

As a side-effect of these changes issue #397 should be resolved.

Simply removing these classes obviously breaks a lot of code and backwards compatibility, so included here are a number of patches which at a minimum transition the main pyGSTi codebase away from the old API. We had originally targeted full removal in 0.9.14, but now that I've seen just how much of the code needed patching I suggest we push the full removal to 0.9.15. This will allow us to merge in this PR shortly after 0.9.14 is released, and as such will maximize the amount of time we can beta test these changes on develop making it much more likely we'll suss out any stragglers before wider release.

Corey Ostrove added 2 commits June 17, 2025 11:09
First round of removals and changes for expiring the deprecation of DenseOperatorInterace and DenseStateInterface. As of this commit there are still a significant number of broken codepaths that need patching.
Second round of patches for expiration of dense interfaces. This round removes the DenseEffectInterface and includes numerous patches to the testing and codebase for code that previously relied on the dense interfaces.
@coreyostrove coreyostrove added this to the 0.9.15 milestone Jun 18, 2025
@coreyostrove coreyostrove self-assigned this Jun 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant