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

implement squeezing #83

Merged
merged 4 commits into from
Sep 17, 2024
Merged

implement squeezing #83

merged 4 commits into from
Sep 17, 2024

Conversation

apkille
Copy link
Member

@apkille apkille commented Aug 24, 2024

Adds symbolic squeeze operator SqueezeOp and squeezed coherent state SqueezedCoherentState, with supported numerical translations to QuantumOptics.jl and symbolic simplification.

Copy link

codecov bot commented Aug 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.50%. Comparing base (f2cda40) to head (d8f8964).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #83      +/-   ##
==========================================
+ Coverage   75.31%   75.50%   +0.18%     
==========================================
  Files          19       19              
  Lines         794      800       +6     
==========================================
+ Hits          598      604       +6     
  Misses        196      196              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@apkille apkille requested a review from Krastanov August 25, 2024 00:15
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.

Wonderful! Feel free to bump version and add changelog and merge if the tests pass again after the bump.

@apkille
Copy link
Member Author

apkille commented Sep 16, 2024

@Krastanov I thought about this a little more after developing the Gaussian quantum info package and would like to alter this PR slightly as follows:

  • Change SqueezedCoherentState to SqueezedState, the latter being a squeezed vacuum state. If someone wants to create a squeezed coherent state, then they can simply apply the displacement operator DisplaceOp to a SqueezedState object. On the user end, this makes it more obvious what is being done symbolically. Plus, currently in the Gaussian quantum info package I have a squeezedstate function that creates a squeezed vacuum state in the phase representation, so making these changes would make a symbolic translation to that package slightly more straightforward. In the future once we register the Gaussian info package I can submit a PR to QSymbolics that enables easy translations with express.

@Krastanov
Copy link
Member

sounds good to me!

@apkille apkille merged commit c41ff6b into QuantumSavory:main Sep 17, 2024
16 of 17 checks passed
@apkille apkille deleted the squeeze branch September 17, 2024 01:32
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