XanaduAI / strawberryfields

Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
https://strawberryfields.ai
Apache License 2.0
754 stars 191 forks source link

Changes the default compiler to be Xunitary #445

Closed josh146 closed 4 years ago

josh146 commented 4 years ago

Context: The current default compiler for devices that don't specify a preferred compiler is Xcov. This compiler is the most general, but can lead to permutations of the unitary.

Description of the Change: Changes the default compiler to Xunitary. This compiler only compiles the unitary, not the initial squeezers, however avoids any unintentional permutations.

Benefits: Avoids permutations of the qumodes

Possible Drawbacks: Slightly more strict; initial S2gate operations must match the chip layout.

Related GitHub Issues: n/a

codecov[bot] commented 4 years ago

Codecov Report

Merging #445 into master will increase coverage by 0.12%. The diff coverage is 99.22%.

@@            Coverage Diff             @@
##           master     #445      +/-   ##
==========================================
+ Coverage   97.84%   97.97%   +0.12%     
==========================================
  Files          58       68      +10     
  Lines        6784     6951     +167     
==========================================
+ Hits         6638     6810     +172     
+ Misses        146      141       -5     
Impacted Files Coverage Δ
strawberryfields/apps/plot.py 100.00% <ø> (ø)
strawberryfields/apps/train/embed.py 100.00% <ø> (ø)
...awberryfields/backends/gaussianbackend/__init__.py 100.00% <ø> (ø)
strawberryfields/backends/gaussianbackend/ops.py 100.00% <ø> (+2.70%) :arrow_up:
strawberryfields/program.py 100.00% <ø> (+1.15%) :arrow_up:
strawberryfields/utils/__init__.py 100.00% <ø> (ø)
strawberryfields/utils/decorators.py 100.00% <ø> (ø)
strawberryfields/utils/post_processing.py 100.00% <ø> (ø)
strawberryfields/utils/program_functions.py 97.77% <ø> (ø)
strawberryfields/utils/random_numbers_matrices.py 100.00% <ø> (ø)
... and 64 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 8dc66f5...b165358. Read the comment docs.