q-optimize / c3

Toolset for control, calibration and characterization of physical systems
https://c3-toolset.readthedocs.io/
Apache License 2.0
66 stars 36 forks source link

Resurrect Lindblad Evolution and Add Sequential Propagation #221

Open SRaent opened 2 years ago

SRaent commented 2 years ago

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

CLAassistant commented 2 years ago

CLA assistant check
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.

lgtm-com[bot] commented 2 years ago

This pull request introduces 1 alert when merging 4f50fef27e24fec357f59454677a8ddaa351c324 into 003824cad98b98acfaaa94c7f585828023341031 - view on LGTM.com

new alerts:

codecov[bot] commented 2 years ago

Codecov Report

Merging #221 (1d9a793) into dev (369f3d1) will decrease coverage by 0.77%. The diff coverage is 50.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.

lgtm-com[bot] commented 2 years ago

This pull request introduces 2 alerts when merging c6e109eb807b5690691064a1333299ccc6405318 into 003824cad98b98acfaaa94c7f585828023341031 - view on LGTM.com

new alerts:

lazyoracle commented 2 years ago

@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.