Resurrect Lindblad Evolution and Add Sequential Propagation
What
Ideally reinserts lindbladian evolution Added sequential propagators that use less ram
Why
Linbladian evolution was in the code but not accessible. Reduces code complexity and nested ifs. Closes Issue #215
How
A new function in the Model takes care of returning Hamiltonians or Liouvillian superoperators according to model.lindbladian. In this way propagation.pwc() basically just needs to do the exponentiation.
Remarks
Checks on signals (e. g. passing times) are supposed to be moved to the Generator and might be faulty now.
Checklist
Please include and complete the following checklist. Your Pull Request is (in most cases) not ready for review until the following have been completed. You can create a draft PR while you are still completing the checklist. Check the Contribution Guidelines for more details. You can mark an item as complete with the - [x] prefix
- [ ] Tests - Added unit tests for new code, regression tests for bugs and updated the integration tests if required
- [ ] Formatting & Linting -
blackandflake8have been used to ensure styling guidelines are met - [ ] Type Annotations - All new code has been type annotated in the function signatures using type hints
- [ ] Docstrings - Docstrings have been provided for functions in the
numpydocstyle - [ ] Documentation - The tutorial style documentation has been updated to explain changes & new features
- [ ] Notebooks - Example notebooks have been updated to incorporate changes and new features
- [ ] Changelog - A short note on this PR has been added to the Upcoming Release section
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.
:white_check_mark: frosati1
:x: Moritz Schu
Moritz Schu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.
This pull request introduces 1 alert when merging 4f50fef27e24fec357f59454677a8ddaa351c324 into 003824cad98b98acfaaa94c7f585828023341031 - view on LGTM.com
new alerts:
- 1 for Unused local variable
Codecov Report
Merging #221 (1d9a793) into dev (369f3d1) will decrease coverage by
0.77%. The diff coverage is50.84%.
:exclamation: Current head 1d9a793 differs from pull request most recent head eaeb22a. Consider uploading reports for the commit eaeb22a to get more accurate results
@@ Coverage Diff @@
## dev #221 +/- ##
==========================================
- Coverage 74.79% 74.02% -0.78%
==========================================
Files 38 38
Lines 5559 5597 +38
==========================================
- Hits 4158 4143 -15
- Misses 1401 1454 +53
| Impacted Files | Coverage Δ | |
|---|---|---|
| c3/libraries/propagation.py | 42.10% <13.33%> (-19.47%) |
:arrow_down: |
| c3/experiment.py | 76.29% <70.00%> (-0.86%) |
:arrow_down: |
| c3/model.py | 88.38% <92.85%> (+1.92%) |
:arrow_up: |
| c3/libraries/chip.py | 62.63% <100.00%> (+0.84%) |
:arrow_up: |
| c3/optimizers/modellearning.py | 89.86% <100.00%> (+0.04%) |
:arrow_up: |
| c3/optimizers/optimalcontrol.py | 67.44% <100.00%> (ø) |
|
| c3/qiskit/c3_backend_utils.py | 56.52% <0.00%> (-4.20%) |
:arrow_down: |
| c3/qiskit/c3_backend.py | 91.11% <0.00%> (-2.64%) |
:arrow_down: |
| c3/parametermap.py | 93.46% <0.00%> (-0.36%) |
:arrow_down: |
| ... and 6 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
This pull request introduces 2 alerts when merging c6e109eb807b5690691064a1333299ccc6405318 into 003824cad98b98acfaaa94c7f585828023341031 - view on LGTM.com
new alerts:
- 2 for Unused local variable
@SRaent Can you add tests for the lindbladian evolution? In the future we would want to know if some work done elsewhere breaks this important functionality.