Skip to content
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

noncliff: Cauchy Schwarz Inequality check for GeneralizedStabilizers #422

Closed
wants to merge 1 commit into from

Conversation

Fe-r-oz
Copy link
Contributor

@Fe-r-oz Fe-r-oz commented Nov 7, 2024

This PR implements the Cauchy Schwarz Inequality for GeneralizedStabilizers. I have a test that check this for n =1:10

Screenshot_select-area_20241107133753

Inner product between two Generalized Stabilizers is the LHS: $Tr[sm'sm]$ without the absolute value.

Except about importance of inner product algorithm from TJ Yoder:

The inner product algorithm, allows us to determine whether two generalized stabilizer states are equal. This is not always a trivial thing to do, because two generalized stabilizers with different stabilizer bases and different χ-matrices may represent the same state.

Edit:

The inner product is implemented in #423 as well.

@Fe-r-oz Fe-r-oz force-pushed the fa/cauchy_schwarz branch 5 times, most recently from c31ebb9 to eb12f34 Compare November 7, 2024 10:15
@Fe-r-oz Fe-r-oz changed the title noncliff: Cauchy Schwarz Inequality for GeneralizedStabilizers noncliff: Cauchy Schwarz Inequality check for GeneralizedStabilizers Nov 8, 2024
Copy link
Member

@Krastanov Krastanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would indeed be a usable check. But as mentioned in the PR that implements the dot product, this should not be relying on exponentially-expensive conversion into a density matrix.

This should not be exported either, as it is only for tests (generally it is important to be very conservative with exports, as otherwise you are promising to keep a stable API).

Given that it is internal and single-purpose, let's also rename it to something more detailed. E.g. generalizedstab_cauchyschwarz_check.

I will mark this as a draft as it can not be finished until the other related PR is finished.

@Krastanov Krastanov marked this pull request as draft November 8, 2024 21:35
@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Nov 8, 2024

Indeed. Thank you for your comments!

@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Nov 22, 2024

Thank you, I will keep these points in mind. I need to implement stabilizer union (theorem 16) first for the fast, in-place implementation of inner product. Details at: #423 (comment)

@Fe-r-oz Fe-r-oz closed this Nov 22, 2024
@Fe-r-oz Fe-r-oz deleted the fa/cauchy_schwarz branch November 22, 2024 02:28
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.

2 participants