Time dependent Hamiltonian in bloch-redfield master equation solver

257 views
Skip to first unread message

zxon...@gmail.com

unread,
Apr 15, 2014, 5:19:43 PM4/15/14
to qu...@googlegroups.com
Hey,

I was wondering if there has been some progress in introducing the time dependent Hamiltonian in brmesolve. I have tried three kinds of time-dependent introduction and it has not work. So brmesolve still does not take time dependent Hamiltonian. I want to introduce a pi and pi-half pulse in some sequence to a system. Can you give me some help in how to achieve this? I saw earlier post about the pulses with brmesolve but could not get much. Your help will be much appreciated.
I am currently using qutip version 2.2.0

Best,
Jason

jrjoh...@gmail.com

unread,
Apr 22, 2014, 11:58:51 AM4/22/14
to qutip group
Hi Jason

Unfortunately there has not been any progress on time-dependent Bloch-Redfield equations. It would require diagonalizing the system and recalculate the rates at every time-step, and perhaps additional steps as well (I have not thought it through completely).

However, if all you need to do is to use pulsed of piecewise constant Hamiltonians you can probably solve that with the existing Bloch-Redfield solver, by repeatedly calling it for each piecewise constant time duration.

Rob
Message has been deleted

ineedsom...@gmail.com

unread,
Aug 5, 2015, 5:44:59 PM8/5/15
to QuTiP: Quantum Toolbox in Python, jrjoh...@gmail.com
Rob, maybe this is a trivial question, but how can I use the redfield solver for a piecewise constant Hamiltonian ? For a given timestep I am not sure how to obtain the initial state for the next timestep, because the redfield solver only returns some expectation values and not the propagated density matrix.

Kevin Fischer

unread,
Aug 6, 2015, 5:48:32 PM8/6/15
to QuTiP: Quantum Toolbox in Python, jrjoh...@gmail.com, ineedsom...@gmail.com
You need something like this:

rho_list = [qutip.fock(3, 0)]

for i in range(len(tlist)-1):
        H = H0 + Om*HI*pulse_shape(tlist[i])  # break up Hamiltonian
        R, ekets = qutip.bloch_redfield_tensor(H, a_ops, J_w_list)
        rho = qutip.bloch_redfield_solve( R, ekets, rho_list[i], [tlist[i], tlist[i+1]])
        rho_list.append(rho[-1])

Then use the qutip.expect() function for each rho.

Kevin
Reply all
Reply to author
Forward
0 new messages