@@ -132,30 +132,32 @@ function spectrum(omega_samplepoints,
132
132
H:: AbstractOperator , J, op;
133
133
rho0= tensor (basisstate (H. basis_l, 1 ), dagger (basisstate (H. basis_r, 1 ))),
134
134
tol= 1e-4 ,
135
- rho_ss= steadystate. master (H, J; tol= tol, rho0= rho0)[end ][end ],
135
+ rates= nothing ,
136
+ rho_ss= steadystate. master (H, J; rates= rates, tol= tol, rho0= rho0)[end ][end ],
136
137
kwargs... )
137
138
domega = minimum (diff (omega_samplepoints))
138
139
dt = 2 * pi / abs (omega_samplepoints[end ] - omega_samplepoints[1 ])
139
140
T = 2 * pi / domega
140
141
tspan = [0. :dt : T;]
141
- exp_values = correlation (tspan, rho_ss, H, J, dagger (op), op, kwargs... )
142
+ exp_values = correlation (tspan, rho_ss, H, J, dagger (op), op; rates = rates , kwargs... )
142
143
S = 2 dt.* fftshift (real (fft (exp_values)))
143
144
return omega_samplepoints, S
144
145
end
145
146
146
147
function spectrum (H:: AbstractOperator , J, op;
147
148
rho0= tensor (basisstate (H. basis_l, 1 ), dagger (basisstate (H. basis_r, 1 ))),
148
149
tol= 1e-4 ,
149
- rho_ss= steadystate. master (H, J; tol= tol)[end ][end ],
150
+ rates= nothing ,
151
+ rho_ss= steadystate. master (H, J; rates= rates, tol= tol)[end ][end ],
150
152
kwargs... )
151
- tspan, exp_values = correlation (rho_ss, H, J, dagger (op), op, tol= tol, kwargs... )
153
+ tspan, exp_values = correlation (rho_ss, H, J, dagger (op), op; rates = rates , tol= tol, kwargs... )
152
154
dtmin = minimum (diff (tspan))
153
155
T = tspan[end ] - tspan[1 ]
154
156
tspan = Float64[0. :dtmin : T;]
155
157
n = length (tspan)
156
158
omega = mod (n, 2 ) == 0 ? [- n/ 2 : n/ 2 - 1 ;] : [- (n- 1 )/ 2 : (n- 1 )/ 2 ;]
157
159
omega .*= 2pi / T
158
- return spectrum (omega, H, J, op; tol= tol, rho_ss= rho_ss, kwargs... )
160
+ return spectrum (omega, H, J, op; tol= tol, rates = rates, rho_ss= rho_ss, kwargs... )
159
161
end
160
162
161
163
0 commit comments