Regarding calculation of Kraus Operator

167 views
Skip to first unread message

alakesh baishya

unread,
May 30, 2022, 5:12:32 AM5/30/22
to QuTiP: Quantum Toolbox in Python
Hello, 

I am trying to calculate Kraus operator for a time dependent Hamiltonian.  Is there any way to calculate Kraus operators using Qutip function? Or any other suggestion how I can proceed for Kraus operators with a time dependent Hamiltonian.

Thanks!

Simon Cross

unread,
May 31, 2022, 10:23:35 AM5/31/22
to qu...@googlegroups.com
Hi Alakesh,

It would help if you provided a more concrete example -- e.g. a short
snippet of code that showed what you wanted to do, even if it cannot
run because it uses a feature that QuTiP does not have.

I assume that you are aware of qutip.to_kraus which can calculate the
Kraus operators for quantum processes described by super-operators or
unitaries -- https://qutip.org/docs/latest/apidoc/functions.html#qutip.superop_reps.to_kraus.
This handles the case of time-independent quantum processes.

In general, it is a bit hard to see how one could calculate the Kraus
operators for a time-dependent quantum process more quickly than by
calculating it at each time t, since one needs to perform an SVD
decomposition in order to sqrt the super-operator. Perhaps there is
some technique I am unaware of though.

For the specific case of time-evolution under a time-dependent
Hamiltonian though, things are a bit simpler. Since the evolution is
unitary, the Kraus operators in this case are [U(t)] where U(t) is the
propagator for the Hamiltonian. See
https://qutip.org/docs/latest/apidoc/functions.html#module-qutip.propagator.

Regards,
Simon

alakesh baishya

unread,
Jun 9, 2022, 12:03:15 PM6/9/22
to QuTiP: Quantum Toolbox in Python
Hello Simon,

I have used propagator (U) function and then  calculated the kraus operator by using to_kraus(U) . But, when I summed over all the kraus operator*kraus_operator.dag() then it is not Identity. Can you please explain why that is not Identity?

Regards,
Alakesh

Simon Cross

unread,
Jun 10, 2022, 11:26:44 AM6/10/22
to qu...@googlegroups.com
Hi Alakesh,

Did you print out the list of Kraus operators and check that there is
exactly one U in the list (the U you passed to to_kraus) and that U is
unitary?

Regards,
Simon

alakesh baishya

unread,
Jun 13, 2022, 6:13:05 AM6/13/22
to QuTiP: Quantum Toolbox in Python
Hello Simon,

Thanks for the reply!

I have 400 no. of  kraus operator for my project and also, one unitary that I am passing to_kraus function.  My U is not unitary as expected since I passed collapse operator to the function U(propagator).

Regards,
Alakesh

Reply all
Reply to author
Forward
0 new messages