-
Notifications
You must be signed in to change notification settings - Fork 98
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
Change interface of mcwf to match that of master #174
Conversation
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #174 +/- ##
==========================================
+ Coverage 99.39% 99.41% +0.01%
==========================================
Files 32 32
Lines 2155 2206 +51
==========================================
+ Hits 2142 2193 +51
Misses 13 13
Continue to review full report at Codecov.
|
We should probably change the mcwf implementation to be more similar to the master implementation:
I agree that throwing an error with a message that tells the user about the |
I agree that we should try to stay as similar as possible to the master implementation and I am already working on it. Checking the arguments as in The non-Hermitian (nH) Hamiltonian is built up and then passed to We could simply check whether the rates are of type Void when building up the nH Hamiltonian and leave it to the user to take care of the rates when explicitly using the function |
1 similar comment
Sorry I'm not sure if I understand your question regarding the |
The latest version looks good! The only thing that I would like to change is including the rates into the jump operators ( |
In your first response you mentioned Oh, of course I should have implemented different |
I have changed the syntax of
timeevolution.mcwf
to accept the kwargrates
as intimeevolution.master
.It now accepts
rates
as a vector of floats of the same length asJ
. I also thought about implementing an internal diagonalization, such that ifrates
is a matrix, a new set of jump operators and rates is calculated usingdiagonljumps
. However, since usually one computes many trajectories using the MCWF method, this would be expensive as the calculation is repeated for every trajectory. Instead,timeevolution.mcwf
now throws an error ifrates
is a matrix, which points the user towards usingdiagonaljumps
a priori.The same changes were made to
mcwf_h
, but notmcwf_nh
. I don't see why anyone would usemcwf_nh
instead ofmcwf
if the rates are not already included in the Hamiltonian. Should we add this?Please review @bastikr.