Skip to content

Faster Dense Elementary Error Generator Construction #562

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

Open
coreyostrove opened this issue Mar 26, 2025 · 0 comments
Open

Faster Dense Elementary Error Generator Construction #562

coreyostrove opened this issue Mar 26, 2025 · 0 comments
Assignees
Labels
enhancement Request for a new feature or a change to an existing feature
Milestone

Comments

@coreyostrove
Copy link
Contributor

One of the changes that is being made with PR #538 is some performance improvements to the construction of dense elementary error generator matrices. The construction of these matrices is an important primitive in many of the error generator related functions and classes throughout pyGSTi. See this commit for the relevant changes, 7733720, but the thing being leveraged here is the fact that the construction is always performed initially in the standard basis. This means that the explicit matrix multiplications that were being performed can be replaced by a combination of vector outer products instead for a performance boost. There are also some specializations implemented now for the pauli case that let us skip some extra operations.

One bit of extra structure that isn't being exploited right now is the fact that the paulis are generalized permutation matrices, so the outer products we're doing are between single-element vectors. We should in principle be able to use this to avoid even any explicit outer products and build the matrices directly using just indexing/assignment operations which likely will be even faster.

@coreyostrove coreyostrove added the enhancement Request for a new feature or a change to an existing feature label Mar 26, 2025
@coreyostrove coreyostrove added this to the 0.9.16+ milestone Mar 26, 2025
@coreyostrove coreyostrove self-assigned this Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Request for a new feature or a change to an existing feature
Projects
None yet
Development

No branches or pull requests

1 participant