Closed jakeffbulmer closed 3 years ago
Merging #598 (d9dceab) into master (7984174) will increase coverage by
0.00%
. The diff coverage is100.00%
.
@@ Coverage Diff @@
## master #598 +/- ##
=======================================
Coverage 98.45% 98.46%
=======================================
Files 76 76
Lines 8758 8780 +22
=======================================
+ Hits 8623 8645 +22
Misses 135 135
Impacted Files | Coverage Δ | |
---|---|---|
strawberryfields/compilers/gaussian_unitary.py | 100.00% <100.00%> (ø) |
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 7984174...d9dceab. Read the comment docs.
because of scipy sparse overheads, I think this change would only actually help for systems with several hundred modes or more!
to speed up large circuits with a lot of gates, we wish to avoid a full size, dense matrix-matrix multiplication upon application of each gate.
In this PR we will try to avoid this. My first attempt is to use scipy.sparse.csr_matrix to reduce the complexity of the matrix-matrix multiplications. However, we may also look into hardcoding the matrix-matrix multiplication.
Before submitting
Please complete the following checklist when submitting a PR:
[ ] All new features must include a unit test. If you've fixed a bug or added code that should be tested, add a test to the test directory!
[ ] All new functions and code must be clearly commented and documented. If you do make documentation changes, make sure that the docs build and render correctly by running
make docs
.[ ] Ensure that the test suite passes, by running
make test
.[ ] Ensure that code is properly formatted, by running
make format
orblack -l 100 strawberryfields
. You will need to have the Black code format installed:pip install black
.[ ] Add a new entry to the
.github/CHANGELOG.md
file, summarizing the change, and including a link back to the PR.[ ] The Strawberry Fields source code conforms to PEP8 standards. We check all of our code against Pylint. To lint modified files, simply
pip install pylint
, and then runpylint strawberryfields/path/to/file.py
.When all the above are checked, delete everything above the dashed line and fill in the pull request template.
Context:
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues: