Þ ¥bonds€¬cell_resultsÞ YÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1Цqueued¤logs�§running¦output†¤bodyÚ
H
Suppose we have a system with a Lindblad operator $\hat{A}$ . The question is what is the Lindblad operator in a composite system. Presumably, $\hat{A} ⊗ �$ , but one could also think that with $� = ∑|k⟩⟨k|$ , the composite system could have one Lindblad operator $\hat{A} ⊗ |k⟩⟨k|$ for each basis vector of the second system. That is, the composite system would have multiple Lindblad operators?
Are those two things potentially equivalent? They are not! The difference is in the term $\hat{A} \hat{\rho} \hat{A}^\dagger$ in the Liouville equation. With a single Lindblad operator $\hat{A} ⊗ �$ , we find
$$(\hat{A} ⊗ �) \hat\rho (\hat{A} ⊗ �)^\dagger
= \sum_{ijnm} \rho_{(ij),(nm)} \hat{A} |i⟩⟨n| \hat{A}^{\dagger} \otimes |j⟩⟨m|
\tag{1}$$
where $|ij⟩⟨jm|$ is the double-indexed basis in which $\hat{\rho}$ is represented, and $\rho_{(ij),(nm)}$ is the matrix element for those indices.
On the other hand, with multiple Lindblad operators, we have
$$\sum_k (\hat{A} ⊗ |k⟩⟨k|) \hat\rho (\hat{A} ⊗ |k⟩⟨k|)^\dagger
= \sum_{ink}\rho_{(ik),(nk)} \hat{A} |i⟩⟨n| \hat{A}^{\dagger} \otimes |k⟩⟨k|
\tag{2}$$
That is, we are missing the cross-terms $|j⟩⟨m|$ in Eq. (1) for $j \ne m$ .
These matrices are coherences in the second system that are lost in the dynamics. That hints at the choice of multiple Lindblad operators being unphysical: Simply tensoring a non-dissipative system to a dissipative system should not affect the non-dissipative system at all, the dissipative system should not be inducing dissipation into the non-dissipative system.
We can illustrate this for the example of a single qubit with spontaneous decay. We will simulate the dynamics of the qubit, and then the dynamics of the system tensored with a second, non-dissipative qubit, for the two possible choices of composite Lindblad operators.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÌv°persist_js_state·has_pluto_hook_features§cell_idÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1¹depends_on_disabled_cells§runtimeÎ s~µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$777eefbd-a782-4388-af28-987fa43ef205Цqueued¤logs�§running¦output†¤bodyÙwThen, the population dynamics of the sub-systems, with the other system traced out:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔ!¼°persist_js_state·has_pluto_hook_features§cell_idÙ$777eefbd-a782-4388-af28-987fa43ef205¹depends_on_disabled_cells§runtimeÎ 5aµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a3fd0098-e0a1-4e9e-859f-37f1064cce29Цqueued¤logs�§running¦output†¤bodyÉ x
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ñïÞQ°persist_js_state·has_pluto_hook_features§cell_idÙ$a3fd0098-e0a1-4e9e-859f-37f1064cce29¹depends_on_disabled_cells§runtimeÎ
gáµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8cd9f807-6b19-4aae-b222-1560f04c3afbЦqueued¤logs�§running¦output†¤bodyÚ :
partial_trace
Calculate the partial trace of the given density matrix �
�_red = partial_trace(�, (N_i, N, N_j))
calculates the reduced density with the middle degree of freedom integrated out.
It is assumed that the density matrix � has the structure
$$� = \sum �_{(inj)(i^′n^′j^′)} |inj⟩⟨i^′n^′j^′|$$
with the triple-index $(inj)$ where $i$ is in the range $(1, N_i)$ , $n$ is in the range $(1, N)$ , and $j$ is in the range $(1, N_j)$
The reduced density matrix is defined as
$$�^{(red)} = \sum \underbrace{\sum_{n} �_{(inj)(i^′nj^′)}}_{= \rho^{(red)}_{(ij),(i^′j^′)}} |ij⟩⟨i^′j^′|$$
Note that assuming a structure of 3 tensored Hilbert spaces and always tracing out the middle Hilbert space allows handling an arbitrary number of actual Hilbert spaces, and tracing out arbitrary degrees of freedom: All Hilbert spaces to the left of the degree of freedom to be integrated out can be combined into a single Hilbert space of dimension $N_i$ , and all the Hilbert spaces on the right can be combined into a space of dimension $N_j$ . This includes the situation where we have two actual Hilbert spaces with dimensions N and M, respectively. If we wanted to trace out the first Hilbert space, we could use
�_red = partial_trace(�, (1, N, M))
If we wanted to trace out the second Hilbert space, we would instead use
�_red = partial_trace(�, (N, M, 1))
The given � can be a matrix or vectorized matrix. The reduced density matrix will be returned correspondingly.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1ñ³ú¤°persist_js_state·has_pluto_hook_features§cell_idÙ$8cd9f807-6b19-4aae-b222-1560f04c3afb¹depends_on_disabled_cells§runtimeÎÞÅDµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0edЦqueued¤logs�§running¦output†¤bodyƒ¨elements“’’…¦prefix¥Int64¨elements’’’¡2ªtext/plain’’¡5ªtext/plain¤type¥Array¬prefix_short ¨objectid°3dc94151e8be127bÙ!application/vnd.pluto.tree+object’’…¦prefix¥Int64¨elements’’’¢12ªtext/plain’’¢15ªtext/plain¤type¥Array¬prefix_short ¨objectid°dcf1f4a7a70f8068Ù!application/vnd.pluto.tree+object’’…¦prefixªComplexF64¨elements’’’©0.0+0.1imªtext/plain’’©0.0+0.1imªtext/plain¤type¥Array¬prefix_short ¨objectid°691d85d0bf66a4b0Ù!application/vnd.pluto.tree+object¤type¥Tuple¨objectid°34f9b353db3ca593¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÀ²last_run_timestampËAÚ1ñ†w°persist_js_state·has_pluto_hook_features§cell_idÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0ed¹depends_on_disabled_cells§runtimeÍE;µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$233b2763-5612-4786-9df0-17a6bdd10912Цqueued¤logs�§running¦output†¤bodyÙuAnd, the reduced density matrix of the second TLS (first TLS traced out):
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÒRH°persist_js_state·has_pluto_hook_features§cell_idÙ$233b2763-5612-4786-9df0-17a6bdd10912¹depends_on_disabled_cells§runtimeÎ ýµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33deЦqueued¤logs�§running¦output†¤bodyÈÿÅ
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ò°persist_js_state·has_pluto_hook_features§cell_idÙ$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de¹depends_on_disabled_cells§runtimeÎ ô—µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64Цqueued¤logs�§running¦output†¤bodyÙ2¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎ?Ù°persist_js_state·has_pluto_hook_features§cell_idÙ$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64¹depends_on_disabled_cells§runtimeÎ ðîµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$107f5cb1-6f79-483a-bbd2-e292a1592986Цqueued¤logs�§running¦output†¤bodyÙOWe'll consider a completely static TLS:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÍð̰persist_js_state·has_pluto_hook_features§cell_idÙ$107f5cb1-6f79-483a-bbd2-e292a1592986¹depends_on_disabled_cells§runtimeÎ Šµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e300efca-2800-4c0c-b915-ec8e4f81b292Цqueued¤logs�§running¦output†¤bodyÙsNow we tensor the system with a second TLS. This second TLS is non-dissipative.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎôܰpersist_js_state·has_pluto_hook_features§cell_idÙ$e300efca-2800-4c0c-b915-ec8e4f81b292¹depends_on_disabled_cells§runtimeÎ Lµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$dd8f6890-5234-4b1c-8ed7-b6d370c86876Цqueued¤logs�§running¦output†¤bodyÙ$⊗ (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñ[9Ÿ°persist_js_state·has_pluto_hook_features§cell_idÙ$dd8f6890-5234-4b1c-8ed7-b6d370c86876¹depends_on_disabled_cells§runtimeÎ �Œµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$89d0de66-b78a-4f0f-9134-84ca622f2ca3Цqueued¤logs�§running¦output†¤bodyÙ2¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çΦð°persist_js_state·has_pluto_hook_features§cell_idÙ$89d0de66-b78a-4f0f-9134-84ca622f2ca3¹depends_on_disabled_cells§runtimeÎ \òµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$531a7b9d-60bc-416e-9260-5757a4cc093cЦqueued¤logs�§running¦output†¤bodyÚH¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÉ‹°persist_js_state·has_pluto_hook_features§cell_idÙ$531a7b9d-60bc-416e-9260-5757a4cc093c¹depends_on_disabled_cells§runtimeÎ 7wõpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0a3cef9f-4dd7-4469-b4ae-18c4e3093cedЦqueued¤logs�§running¦output†¤body£0.1¤mimeªtext/plain¬rootassignee¢Î³²last_run_timestampËAÚ1íÖõ°persist_js_state·has_pluto_hook_features§cell_idÙ$0a3cef9f-4dd7-4469-b4ae-18c4e3093ced¹depends_on_disabled_cells§runtimeÍ1ȵpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$72010ae9-8300-41bb-a10b-37927cd8e000Цqueued¤logs�§running¦output†¤bodyÚ�Note that the purity starting from a mixed state should be $1 - \frac{1}{2} \left(e^{-\gamma t} + e^{-2\gamma t}\right)$ : The purity first drops due to the dissipation and then rises again because in the infinite time limit, all the population ends up in the (pure) ground state.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎÁr°persist_js_state·has_pluto_hook_features§cell_idÙ$72010ae9-8300-41bb-a10b-37927cd8e000¹depends_on_disabled_cells§runtimeÎ I$µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Цqueued¤logs�§running¦output†¤bodyÉ �Ü
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ñþÁ°persist_js_state·has_pluto_hook_features§cell_idÙ$e210cf9e-a5d6-4d48-83e1-200008a1d9d3¹depends_on_disabled_cells§runtimeÎ «‹‚µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$c0342b62-302d-470c-9e96-128905bbe848Цqueued¤logs�§running¦output†¤bodyÙnUses two Lindblad operators, one for each of the levels in the second TLS.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÏD °persist_js_state·has_pluto_hook_features§cell_idÙ$c0342b62-302d-470c-9e96-128905bbe848¹depends_on_disabled_cells§runtimeÎ î�µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$113410b5-64b3-4fcb-9263-9ba89a013107Цqueued¤logs�§running¦output†¤bodyÚ.When analyzing the dynamics, what we'll be looking for is that the second system remains unaffected by the dissipation in the first system. To this end, we'll have to calculate the reduced density matrices for the first and second TLS, using a partial trace:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÒ§°persist_js_state·has_pluto_hook_features§cell_idÙ$113410b5-64b3-4fcb-9263-9ba89a013107¹depends_on_disabled_cells§runtimeÎ Iµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a36ca5a6-f584-4bba-8e21-968bda4d5190Цqueued¤logs�§running¦output†¤bodyÙwThe difference comes in via the purity (the coherences) in the sub-systems:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔÝ{°persist_js_state·has_pluto_hook_features§cell_idÙ$a36ca5a6-f584-4bba-8e21-968bda4d5190¹depends_on_disabled_cells§runtimeÎ ÿµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$f5d72c44-185e-40f9-be10-50ca467ae8bfЦqueued¤logs�§running¦output†¤bodyÙiThe population dynamics even for the sub-systems still looks correct:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔÃü°persist_js_state·has_pluto_hook_features§cell_idÙ$f5d72c44-185e-40f9-be10-50ca467ae8bf¹depends_on_disabled_cells§runtimeÎ ò’µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$28a8661d-e5f5-4ecd-82d2-bb4f64c36039Цqueued¤logs�§running¦output†¤body¶1.5273449659913243e-16¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñéŰpersist_js_state·has_pluto_hook_features§cell_idÙ$28a8661d-e5f5-4ecd-82d2-bb4f64c36039¹depends_on_disabled_cells§runtimeÍTºµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$6b05ff89-52e0-4af1-8460-052222ebe93eЦqueued¤logs�§running¦output†¤body²0.8837279210325912¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñI:Ÿ°persist_js_state·has_pluto_hook_features§cell_idÙ$6b05ff89-52e0-4af1-8460-052222ebe93e¹depends_on_disabled_cells§runtimeÎF;Fµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$452f72e9-6817-45db-a514-23ddd0a4ebb2Цqueued¤logs�§running¦output†¤bodyÚõ6×6 Matrix{ComplexF64}:
0.714402+0.0im -0.24748-0.0147125im … -0.0219476-0.0129593im
-0.24748+0.0147125im 0.0860338+0.0im 0.00786988+0.00403731im
-0.307368-0.211605im 0.102119+0.0796332im 0.00560433+0.0120765im
0.0205404-0.0442616im -0.00802703+0.0149099im -0.00143394+0.000987185im
-0.00620398+0.0157559im 0.00247363-0.00533032im 0.000476409-0.000371507im
-0.0219476+0.0129593im 0.00786988-0.00403731im … 0.00090935+0.0im¤mimeªtext/plain¬rootassignee¢_C²last_run_timestampËAÚ1ñÈ –°persist_js_state·has_pluto_hook_features§cell_idÙ$452f72e9-6817-45db-a514-23ddd0a4ebb2¹depends_on_disabled_cells§runtimeÍ=]µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9eЦqueued¤logs�§running¦output†¤body…¦prefix§Float64¨elements’’’£0.5ªtext/plain’’£0.5ªtext/plain¤type¥Array¬prefix_short ¨objectid°1c16476edc364fed¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÀ²last_run_timestampËAÚ1ð â—°persist_js_state·has_pluto_hook_features§cell_idÙ$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9e¹depends_on_disabled_cells§runtimeÍIbµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$f3d99a0a-2188-4cb1-81d9-9670ece84610Цqueued¤logs�§running¦output†¤bodyÙà3×3 Matrix{ComplexF64}:
0.717735+0.0im -0.248634-0.0147811im -0.308802+0.212592im
-0.248634+0.0147811im 0.0864352+0.0im 0.102596-0.0800047im
-0.308802-0.212592im 0.102596+0.0800047im 0.19583+0.0im¤mimeªtext/plain¬rootassignee¢_B²last_run_timestampËAÚ1ñÇp°persist_js_state·has_pluto_hook_features§cell_idÙ$f3d99a0a-2188-4cb1-81d9-9670ece84610¹depends_on_disabled_cells§runtimeÍpfµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$629a5a46-0bea-4762-9c89-78c07cb43c72Цqueued¤logs�§running¦output†¤bodyÙ'purity (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñ Ó‘°persist_js_state·has_pluto_hook_features§cell_idÙ$629a5a46-0bea-4762-9c89-78c07cb43c72¹depends_on_disabled_cells§runtimeÎ7&Vµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998Цqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elementsÜ ’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’ ’ª0.25+0.0imªtext/plain’
’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’
’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°98c65c1778bad3b2¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee¯Ï�â‚€_composite²last_run_timestampËAÚ1ñŸ-Q°persist_js_state·has_pluto_hook_features§cell_idÙ$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998¹depends_on_disabled_cells§runtimeÍ`èµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$11ea567a-74dd-4a87-9695-7dfeccf49c0eЦqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elements”’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°a01d423a61dea796¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÀ²last_run_timestampËAÚ1ñ¼EÔ°persist_js_state·has_pluto_hook_features§cell_idÙ$11ea567a-74dd-4a87-9695-7dfeccf49c0e¹depends_on_disabled_cells§runtimeÍ<³µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a734c0b3-eef1-43a7-801c-81b5fdda1219Цqueued¤logs�§running¦output†¤bodyÙp2×2 Matrix{ComplexF64}:
0.995356+0.0im 0.0286184+0.0616684im
0.0286184-0.0616684im 0.00464357+0.0im¤mimeªtext/plain¬rootassignee¢_A²last_run_timestampËAÚ1ñÅÑ$°persist_js_state·has_pluto_hook_features§cell_idÙ$a734c0b3-eef1-43a7-801c-81b5fdda1219¹depends_on_disabled_cells§runtimeÍe„µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$f8d76484-05e6-4a72-98c8-3f33b06f4306Цqueued¤logs�§running¦output†¤bodyÙtensors the original Lindblad operator with the identity for the second TLS.
Second,
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÏ*|°persist_js_state·has_pluto_hook_features§cell_idÙ$f8d76484-05e6-4a72-98c8-3f33b06f4306¹depends_on_disabled_cells§runtimeÎ ú³µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$20eb5f97-ca69-434d-80ec-5c99b8f153c1Цqueued¤logs�§running¦output†¤body…¦prefix¦String¨elementsÜ ’’®"|00⟩⟨00|"ªtext/plain’’®"|01⟩⟨00|"ªtext/plain’’®"|10⟩⟨00|"ªtext/plain’’®"|11⟩⟨00|"ªtext/plain’’®"|00⟩⟨01|"ªtext/plain’’®"|01⟩⟨01|"ªtext/plain’’®"|10⟩⟨01|"ªtext/plain’’®"|11⟩⟨01|"ªtext/plain’ ’®"|00⟩⟨10|"ªtext/plain’
’®"|01⟩⟨10|"ªtext/plain’’®"|10⟩⟨10|"ªtext/plain’’®"|11⟩⟨10|"ªtext/plain’
’®"|00⟩⟨11|"ªtext/plain’’®"|01⟩⟨11|"ªtext/plain’’®"|10⟩⟨11|"ªtext/plain’’®"|11⟩⟨11|"ªtext/plain¤type¥Array¬prefix_short ¨objectid°c813cf94dbba48dc¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee®superop_labels²last_run_timestampËAÚ1ñ—C°persist_js_state·has_pluto_hook_features§cell_idÙ$20eb5f97-ca69-434d-80ec-5c99b8f153c1¹depends_on_disabled_cells§runtimeÍ„ûµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñëu°persist_js_state·has_pluto_hook_features§cell_idÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2¹depends_on_disabled_cells§runtimeÎ ¯ë°µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$378380e4-7043-434d-8933-72b36e3a8981Цqueued¤logs�§running¦output†¤bodyÚ4×4 SparseArrays.SparseMatrixCSC{ComplexF64, Int64} with 4 stored entries:
â‹… â‹… â‹… 0.0+0.1im
â‹… 0.0-0.05im â‹… â‹…
â‹… â‹… 0.0-0.05im â‹…
â‹… â‹… â‹… 0.0-0.1im¤mimeªtext/plain¬rootassignee¡L²last_run_timestampËAÚ1î&ï°persist_js_state·has_pluto_hook_features§cell_idÙ$378380e4-7043-434d-8933-72b36e3a8981¹depends_on_disabled_cells§runtimeÎ!ÀXµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0Цqueued¤logs�§running¦output†¤bodyÙ%pops (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ð°persist_js_state·has_pluto_hook_features§cell_idÙ$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¹depends_on_disabled_cells§runtimeÎ ~µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0aЦqueued¤logs�§running¦output†¤bodyÙeFirst, we look at the population dynamics of the combined system:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔ%°persist_js_state·has_pluto_hook_features§cell_idÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0a¹depends_on_disabled_cells§runtimeÎ §±µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a86b96af-f20d-48ac-b493-12204567a21cЦqueued¤logs�§running¦output†¤bodyÙnWe have two candidates for the Lindbladian of the composite system. First,
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÏ0°persist_js_state·has_pluto_hook_features§cell_idÙ$a86b96af-f20d-48ac-b493-12204567a21c¹depends_on_disabled_cells§runtimeÎ öUµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$b2ac08e1-8e2a-43ad-bb49-7441408d0571Цqueued¤logs�§running¦output†¤bodyÙÆJust to test our implementation of the partial trace a bit more for the general case, we can check that we can recover the components of a random separable state:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÒl+°persist_js_state·has_pluto_hook_features§cell_idÙ$b2ac08e1-8e2a-43ad-bb49-7441408d0571¹depends_on_disabled_cells§runtimeÎ C'µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9fa924d6-f287-4f6c-b5b6-1adb4909318cЦqueued¤logs�§running¦output†¤bodyÙUWe can look at which matrix elements are missing.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÑ °persist_js_state·has_pluto_hook_features§cell_idÙ$9fa924d6-f287-4f6c-b5b6-1adb4909318c¹depends_on_disabled_cells§runtimeÎ \޵published_object_keys�¸depends_on_skipped_cells§erroredÂÙ$90ff733c-01ac-48d0-a6b6-faa5021a8a9bЦqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ì£gI°persist_js_state·has_pluto_hook_features§cell_idÙ$90ff733c-01ac-48d0-a6b6-faa5021a8a9b¹depends_on_disabled_cells§runtimeÎ ½~µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$208b3fda-4263-4f7d-b73d-25eedd1771aaЦqueued¤logs�§running¦output†¤bodyÙt
Multiple Lindblad Operators Dynamics
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔt%°persist_js_state·has_pluto_hook_features§cell_idÙ$208b3fda-4263-4f7d-b73d-25eedd1771aa¹depends_on_disabled_cells§runtimeÎ éVµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1í)"Õ°persist_js_state·has_pluto_hook_features§cell_idÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05¹depends_on_disabled_cells§runtimeÍÃ�µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$1799c3d7-97c9-4602-9a02-7a0691ddf80eЦqueued¤logs�§running¦output†¤bodyÙ�L1 and L2 do not have the same number of non-zero entries!
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çѤ”°persist_js_state·has_pluto_hook_features§cell_idÙ$1799c3d7-97c9-4602-9a02-7a0691ddf80e¹depends_on_disabled_cells§runtimeÎ :$µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6Цqueued¤logs�§running¦output†¤bodyÙÊ16×16 SparseArrays.SparseMatrixCSC{ComplexF64, Int64} with 14 stored entries:
⎡⠀⢄⠀⠀⠀â �⠀⠀⎤
⎢⠀⠀⠀⢄⠀⠀⠀â �⎥
⎢⠀⠀⠀⠀⠑⢄⠀⠀⎥
⎣⠀⠀⠀⠀⠀⠀⠑⢄⎦¤mimeªtext/plain¬rootassignee¢L2²last_run_timestampËAÚ1ñhA°persist_js_state·has_pluto_hook_features§cell_idÙ$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6¹depends_on_disabled_cells§runtimeÎ w µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$f3bd26e5-f6d4-4833-88aa-01ba389451b1Цqueued¤logs�§running¦output†¤bodyÙaWe'll add to that spontaneous decay, with a decay rate of
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎå°persist_js_state·has_pluto_hook_features§cell_idÙ$f3bd26e5-f6d4-4833-88aa-01ba389451b1¹depends_on_disabled_cells§runtimeÎ ¤µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8e9523fc-2810-4370-b1cc-e159b588ea83Цqueued¤logs�§running¦output†¤bodyÚ|This is clearly unphysical: without interactions between system 1 and system 2, the dissipation in system 1 should not be causing dissipation in system 2! System 2 should remain pure at all times.
Thus, we can conclude that a single Lindblad operator $\hat{A} \otimes �$ is the correct approach.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔún°persist_js_state·has_pluto_hook_features§cell_idÙ$8e9523fc-2810-4370-b1cc-e159b588ea83¹depends_on_disabled_cells§runtimeÎ :ĵpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9029c42e-462d-4bc6-9d9f-edc53fb28dedЦqueued¤logs�§running¦output†¤bodyÙL
Composite System
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎÚý°persist_js_state·has_pluto_hook_features§cell_idÙ$9029c42e-462d-4bc6-9d9f-edc53fb28ded¹depends_on_disabled_cells§runtimeÎ áûµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$6aa6f586-9977-476f-a306-73345c0bbc30Цqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elements’’’©0.0+0.0imªtext/plain’’©1.0+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°c4c7e38a8797345a¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee¤ket1²last_run_timestampËAÚ1íbE°persist_js_state·has_pluto_hook_features§cell_idÙ$6aa6f586-9977-476f-a306-73345c0bbc30¹depends_on_disabled_cells§runtimeÍ\�µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8Цqueued¤logs�§running¦output†¤bodyÙ_The Liouvillian can be constructed as a super-operator, via
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎ&°persist_js_state·has_pluto_hook_features§cell_idÙ$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8¹depends_on_disabled_cells§runtimeÎ @µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0d819a8e-95d8-43e4-846d-1b1a44cb9214Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ìÏá±°persist_js_state·has_pluto_hook_features§cell_idÙ$0d819a8e-95d8-43e4-846d-1b1a44cb9214¹depends_on_disabled_cells§runtimeÍU¡µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$50703d4a-b742-4ccb-9f1a-2171d94e5e0aЦqueued¤logs�§running¦output†¤bodyÙD
Single Qubit
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÍÐ̰persist_js_state·has_pluto_hook_features§cell_idÙ$50703d4a-b742-4ccb-9f1a-2171d94e5e0a¹depends_on_disabled_cells§runtimeÎ ¢^µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$3fca1322-b88c-4016-81d1-44a3a8013e32Цqueued¤logs�§running¦output†¤bodyÉ �Ü
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ò;‚°persist_js_state·has_pluto_hook_features§cell_idÙ$3fca1322-b88c-4016-81d1-44a3a8013e32¹depends_on_disabled_cells§runtimeÎ v/µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$29b3077f-fe4a-4ed9-910b-532af7b5684bЦqueued¤logs�§running¦output†¤body±4.586543737968368¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ò
WO°persist_js_state·has_pluto_hook_features§cell_idÙ$29b3077f-fe4a-4ed9-910b-532af7b5684b¹depends_on_disabled_cells§runtimeÎ 5µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$96b3bbd3-966c-4912-82cc-ff01f089f066Цqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elements”’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°e3feff1b6d5ded1b¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee¥Ï�â‚€²last_run_timestampËAÚ1îN„°persist_js_state·has_pluto_hook_features§cell_idÙ$96b3bbd3-966c-4912-82cc-ff01f089f066¹depends_on_disabled_cells§runtimeÍNµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$d565abf9-4b59-429e-834c-d390017a5b53Цqueued¤logs�§running¦output†¤bodyÙ^We can check that the intial state decomposes as expected:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÒë°persist_js_state·has_pluto_hook_features§cell_idÙ$d565abf9-4b59-429e-834c-d390017a5b53¹depends_on_disabled_cells§runtimeÎ þçµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$b307c37f-2395-4806-a35f-a9118bb9adf9Цqueued¤logs�§running¦output†¤bodyÉ x
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ò ¶°persist_js_state·has_pluto_hook_features§cell_idÙ$b307c37f-2395-4806-a35f-a9118bb9adf9¹depends_on_disabled_cells§runtimeÎ
=%µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$6fdf587d-4555-445e-b392-5ddc99c34bb6Цqueued¤logs�§running¦output†¤bodyÙTwhich we can analyze in terms of the populations
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎ�7°persist_js_state·has_pluto_hook_features§cell_idÙ$6fdf587d-4555-445e-b392-5ddc99c34bb6¹depends_on_disabled_cells§runtimeÎ ï?µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5Цqueued¤logs�§running¦output†¤body³0.14142135623730953¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñnÿ¨°persist_js_state·has_pluto_hook_features§cell_idÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5¹depends_on_disabled_cells§runtimeÍINµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcbaЦqueued¤logs�§running¦output†¤bodyÙn
Single Lindblad Operator Dynamics
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÓç°persist_js_state·has_pluto_hook_features§cell_idÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcba¹depends_on_disabled_cells§runtimeÎ H„µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9d5ee94b-250a-4062-8d97-b7f789edce25Цqueued¤logs�§running¦output†¤bodyÙCThe result of the propgation is
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎsɰpersist_js_state·has_pluto_hook_features§cell_idÙ$9d5ee94b-250a-4062-8d97-b7f789edce25¹depends_on_disabled_cells§runtimeÎ \ƒµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$5adbc0dd-f040-4d8f-b960-593edf3c1b3cЦqueued¤logs�§running¦output†¤body²0.9999999999999996¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñG8Ú°persist_js_state·has_pluto_hook_features§cell_idÙ$5adbc0dd-f040-4d8f-b960-593edf3c1b3c¹depends_on_disabled_cells§runtimeÍ@Wµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$fe72a230-9546-4962-82a8-c5980fb297b1Цqueued¤logs�§running¦output†¤bodyÙpThe reduced density matrix of the first TLS (second TLS traced out):
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÒ8ɰpersist_js_state·has_pluto_hook_features§cell_idÙ$fe72a230-9546-4962-82a8-c5980fb297b1¹depends_on_disabled_cells§runtimeÎ õµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$8a7d114b-eca7-47db-8191-8052ffc226b8Цqueued¤logs�§running¦output†¤bodyÈð@
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ò0°persist_js_state·has_pluto_hook_features§cell_idÙ$8a7d114b-eca7-47db-8191-8052ffc226b8¹depends_on_disabled_cells§runtimeÎ üûµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$dd2084d0-e587-4afa-bd17-d79f1260091eЦqueued¤logs�§running¦output†¤bodyÙÉ16×16 SparseArrays.SparseMatrixCSC{ComplexF64, Int64} with 2 stored entries:
⎡⠀⠀⠀⠀⠀â �⠀⠀⎤
⎢⠀⠀⠀⠀⠀⠀⠀â �⎥
⎢⠀⠀⠀⠀⠀⠀⠀⠀⎥
⎣⠀⠀⠀⠀⠀⠀⠀⠀⎦¤mimeªtext/plain¬rootassignee¤diff²last_run_timestampËAÚ1ñoÍ«°persist_js_state·has_pluto_hook_features§cell_idÙ$dd2084d0-e587-4afa-bd17-d79f1260091e¹depends_on_disabled_cells§runtimeÍCµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$573dbc48-530a-4f52-8864-18aad432c147Цqueued¤logs�§running¦output†¤bodyµ9.813077866773595e-18¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ñêQ7°persist_js_state·has_pluto_hook_features§cell_idÙ$573dbc48-530a-4f52-8864-18aad432c147¹depends_on_disabled_cells§runtimeÍI§µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$a286612a-2119-4860-9911-00eaa4ddebb9Цqueued¤logs�§running¦output†¤bodyȪw
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ñEi˜°persist_js_state·has_pluto_hook_features§cell_idÙ$a286612a-2119-4860-9911-00eaa4ddebb9¹depends_on_disabled_cells§runtimeÎ «ãµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0d20207a-ac00-483e-a1db-e0755845a7e6Цqueued¤logs�§running¦output†¤bodyÙ‘to simulate the dynamics of a coherent superposition of |0⟩ and |1⟩ as an initial state, over a time grid
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÎY–°persist_js_state·has_pluto_hook_features§cell_idÙ$0d20207a-ac00-483e-a1db-e0755845a7e6¹depends_on_disabled_cells§runtimeÎ ×µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$cb5f6496-3170-4f07-808a-c641c98469d7Цqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elements’’’©1.0+0.0imªtext/plain’’©0.0+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°7bf3bf5e72ffac27¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee¤ket0²last_run_timestampËAÚ1í
$¼°persist_js_state·has_pluto_hook_features§cell_idÙ$cb5f6496-3170-4f07-808a-c641c98469d7¹depends_on_disabled_cells§runtimeÎ dýµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$46b81556-c322-4d06-8a8d-5e69caefff63Цqueued¤logs�§running¦output†¤body…¦prefix¦String¨elements”’’¤"00"ªtext/plain’’¤"01"ªtext/plain’’¤"10"ªtext/plain’’¤"11"ªtext/plain¤type¥Array¬prefix_short ¨objectid¯f91b535f7e86ab5¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee°composite_labels²last_run_timestampËAÚ1ñ’†°persist_js_state·has_pluto_hook_features§cell_idÙ$46b81556-c322-4d06-8a8d-5e69caefff63¹depends_on_disabled_cells§runtimeÍ<åµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8Цqueued¤logs�§running¦output†¤bodyÙÎWe repeat this analysis for the second candidate of a Liouvillian, with two Liouville operators.
The population dynamics in the combined system looks unsuspicious:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔ�~°persist_js_state·has_pluto_hook_features§cell_idÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8¹depends_on_disabled_cells§runtimeÎ ºµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$296fa066-fc76-4a1b-9d70-57c0fe080966Цqueued¤logs�§running¦output†¤bodyÙÊ16×16 SparseArrays.SparseMatrixCSC{ComplexF64, Int64} with 16 stored entries:
⎡⠀⢄⠀⠀⠀⠑⠀⠀⎤
⎢⠀⠀⠀⢄⠀⠀⠀⠑⎥
⎢⠀⠀⠀⠀⠑⢄⠀⠀⎥
⎣⠀⠀⠀⠀⠀⠀⠑⢄⎦¤mimeªtext/plain¬rootassignee¢L1²last_run_timestampËAÚ1ñbâ°persist_js_state·has_pluto_hook_features§cell_idÙ$296fa066-fc76-4a1b-9d70-57c0fe080966¹depends_on_disabled_cells§runtimeÎ ^ãµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$9e8682c2-0e3d-4515-bb1f-28a8d339402aЦqueued¤logs�§running¦output†¤bodyÙ¼As we expect, the population deviates from the initial superposition only for the first system.
Lastly, we look at the purity in the sub-systems:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔ>–°persist_js_state·has_pluto_hook_features§cell_idÙ$9e8682c2-0e3d-4515-bb1f-28a8d339402a¹depends_on_disabled_cells§runtimeÎ Àµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ìgF�°persist_js_state·has_pluto_hook_features§cell_idÙ$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5¹depends_on_disabled_cells§runtimeÎŽnOµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$3a19ed7c-0c11-4415-a397-e8c195d966c8Цqueued¤logs�§running¦output†¤bodyÙgAgain, we see the purity deviating from 1 only in the first system.
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔYï°persist_js_state·has_pluto_hook_features§cell_idÙ$3a19ed7c-0c11-4415-a397-e8c195d966c8¹depends_on_disabled_cells§runtimeÎ µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7Цqueued¤logs�§running¦output†¤bodyÚQIt might be interesting to further look into the interpretation of exactly how these matrix elements affect the dynamics. But in lieue of that, we'll simply simulate the dynamics.
As the initial state, we'll use a coherent superposition both in the first and in the second TLS:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÑâó°persist_js_state·has_pluto_hook_features§cell_idÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7¹depends_on_disabled_cells§runtimeÎ ¡$µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1Цqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elements’’’®0.707107+0.0imªtext/plain’’®0.707107+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°1bf4dcb8355cd5c4¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee¥Î¨â‚€²last_run_timestampËAÚ1îAx°persist_js_state·has_pluto_hook_features§cell_idÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1¹depends_on_disabled_cells§runtimeÍSµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7Цqueued¤logs�§running¦output†¤bodyÚP¾
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1ì@ͧ°persist_js_state·has_pluto_hook_features§cell_idÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7¹depends_on_disabled_cells§runtimeÎKÑ%µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$906eb8c1-c1bc-4c61-8e22-8ab6eb91182fЦqueued¤logs�§running¦output†¤bodyÙ�Now, we can compare the dynamics under our two candidate Liouvillian L1 and L2:
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÒ†¡°persist_js_state·has_pluto_hook_features§cell_idÙ$906eb8c1-c1bc-4c61-8e22-8ab6eb91182f¹depends_on_disabled_cells§runtimeÎ <&µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$ba6711cb-c036-4db8-953d-d9d71eaba585Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ìš!ɰpersist_js_state·has_pluto_hook_features§cell_idÙ$ba6711cb-c036-4db8-953d-d9d71eaba585¹depends_on_disabled_cells§runtimeÎFA‡µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$b958e41a-493c-4566-aebb-161868f15bcaЦqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1òŠ×°persist_js_state·has_pluto_hook_features§cell_idÙ$b958e41a-493c-4566-aebb-161868f15bca¹depends_on_disabled_cells§runtimeÎ ª'µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$95c10e78-c60b-4bd0-9558-1858f80e157dЦqueued¤logs�§running¦output†¤bodyÙUBut the dynamics are certainly not identical!
¤mime©text/html¬rootassigneeÀ²last_run_timestampËAÚ1çÔª&°persist_js_state·has_pluto_hook_features§cell_idÙ$95c10e78-c60b-4bd0-9558-1858f80e157d¹depends_on_disabled_cells§runtimeÎ 0�µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$148ac275-d22b-444e-bd2e-507decd5188eЦqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elementsÜ ’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’ ’ª0.25+0.0imªtext/plain’
’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’
’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain’’ª0.25+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°98c65c1778bad3b2¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÀ²last_run_timestampËAÚ1ñ¶Ñ°persist_js_state·has_pluto_hook_features§cell_idÙ$148ac275-d22b-444e-bd2e-507decd5188e¹depends_on_disabled_cells§runtimeÍ&2µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00Цqueued¤logs�§running¦output†¤body…¦prefixªComplexF64¨elements”’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain’’©0.5+0.0imªtext/plain¤type¥Array¬prefix_short ¨objectid°2c89ee7d7adcbe16¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÀ²last_run_timestampËAÚ1ñ¼ÑR°persist_js_state·has_pluto_hook_features§cell_idÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00¹depends_on_disabled_cells§runtimeÍ;¸µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$69fdfe8d-0de8-4c61-ace2-b20f70af52deЦqueued¤logs�§running¦output†¤body…¦prefix§Float64¨elementsÜ ’’£0.0ªtext/plain’’¤0.01ªtext/plain’’¤0.02ªtext/plain’’¤0.03ªtext/plain’’¤0.04ªtext/plain’’¤0.05ªtext/plain’’¤0.06ªtext/plain’’¤0.07ªtext/plain’ ’¤0.08ªtext/plain’
’¤0.09ªtext/plain’’£0.1ªtext/plain’’¤0.11ªtext/plain’
’¤0.12ªtext/plain’’¤0.13ªtext/plain’’¤0.14ªtext/plain’’¤0.15ªtext/plain’’¤0.16ªtext/plain’’¤0.17ªtext/plain’’¤0.18ªtext/plain’’¤0.19ªtext/plain¤more’Íà’¤9.91ªtext/plain’Íá’¤9.92ªtext/plain’Íâ’¤9.93ªtext/plain’Íã’¤9.94ªtext/plain’Íä’¤9.95ªtext/plain’Íå’¤9.96ªtext/plain’Íæ’¤9.97ªtext/plain’Íç’¤9.98ªtext/plain’Íè’¤9.99ªtext/plain’Íé’¤10.0ªtext/plain¤type¥Array¬prefix_short ¨objectid°ee59073bce67642c¤mimeÙ!application/vnd.pluto.tree+object¬rootassignee¥tlist²last_run_timestampËAÚ1î9yB°persist_js_state·has_pluto_hook_features§cell_idÙ$69fdfe8d-0de8-4c61-ace2-b20f70af52de¹depends_on_disabled_cells§runtime͵published_object_keys�¸depends_on_skipped_cells§erroredÂÙ$855b56e1-c95b-41e5-a933-57d6686a3c1eЦqueued¤logs�§running¦output†¤body…¦prefix¦String¨elements’’’¿"|01⟩⟨00| ↔ |11⟩⟨10|"ªtext/plain’’¿"|00⟩⟨01| ↔ |10⟩⟨11|"ªtext/plain¤type¥Array¬prefix_short ¨objectid°52337ba5ed03e9fc¤mimeÙ!application/vnd.pluto.tree+object¬rootassigneeÀ²last_run_timestampËAÚ1ñ›e°persist_js_state·has_pluto_hook_features§cell_idÙ$855b56e1-c95b-41e5-a933-57d6686a3c1e¹depends_on_disabled_cells§runtimeÍf.µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$6d064572-5af2-463b-8091-fb3defd36ef4Цqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ìg—–°persist_js_state·has_pluto_hook_features§cell_idÙ$6d064572-5af2-463b-8091-fb3defd36ef4¹depends_on_disabled_cells§runtimeÎ wAµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$109055a1-edc4-4c83-8262-99cdcae5b1a5Цqueued¤logs�§running¦output†¤bodyÚp4×1001 Matrix{ComplexF64}:
0.5+0.0im 0.5005-2.38069e-26im 0.500999-8.06994e-26im … 0.81606+7.9742e-22im
0.5+0.0im 0.49975-3.10011e-29im 0.4995+3.71318e-28im 0.303265-3.35173e-18im
0.5+0.0im 0.49975-3.10011e-29im 0.4995+3.71318e-28im 0.303265-3.35173e-18im
0.5+0.0im 0.4995+1.80587e-26im 0.499001+4.51017e-26im 0.18394-5.27352e-23im¤mimeªtext/plain¬rootassignee¦states²last_run_timestampËAÚ1ð
ù'°persist_js_state·has_pluto_hook_features§cell_idÙ$109055a1-edc4-4c83-8262-99cdcae5b1a5¹depends_on_disabled_cells§runtimeÎ捻™µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$28f7b3c0-be79-4d30-99b1-dd90f9f30b3fЦqueued¤logs�§running¦output†¤body ¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ1ìgs*°persist_js_state·has_pluto_hook_features§cell_idÙ$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¹depends_on_disabled_cells§runtimeÎ 2µpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$2e405a3e-4b5e-489e-a651-5792ae26e089Цqueued¤logs�§running¦output†¤bodyÙ)2×2 Matrix{Float64}:
1.0 0.0
0.0 1.0¤mimeªtext/plain¬rootassignee¤ð�Ÿ™²last_run_timestampËAÚ1ñTÖØ°persist_js_state·has_pluto_hook_features§cell_idÙ$2e405a3e-4b5e-489e-a651-5792ae26e089¹depends_on_disabled_cells§runtimeÍ?Rµpublished_object_keys�¸depends_on_skipped_cells§erroredÂÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6Цqueued¤logs�§running¦output†¤bodyÉ l
¤mimeimage/svg+xml¬rootassigneeÀ²last_run_timestampËAÚ1ð¿&-°persist_js_state·has_pluto_hook_features§cell_idÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6¹depends_on_disabled_cells§runtimeÎW‘ ĵpublished_object_keys�¸depends_on_skipped_cells§errored±cell_dependenciesÞ YÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1„´precedence_heuristic §cell_idÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$777eefbd-a782-4388-af28-987fa43ef205„´precedence_heuristic §cell_idÙ$777eefbd-a782-4388-af28-987fa43ef205´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$a3fd0098-e0a1-4e9e-859f-37f1064cce29„´precedence_heuristic §cell_idÙ$a3fd0098-e0a1-4e9e-859f-37f1064cce29´downstream_cells_map€²upstream_cells_map‰¦length�¤pops‘Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¡:�¤hcat�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¤plot�±states_composite1‘Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2§adjoint�¤conj�Ù$8cd9f807-6b19-4aae-b222-1560f04c3afb„´precedence_heuristic §cell_idÙ$8cd9f807-6b19-4aae-b222-1560f04c3afb´downstream_cells_map�partial_trace˜Ù$11ea567a-74dd-4a87-9695-7dfeccf49c0eÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039Ù$573dbc48-530a-4f52-8864-18aad432c147Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Ù$8a7d114b-eca7-47db-8191-8052ffc226b8Ù$3fca1322-b88c-4016-81d1-44a3a8013e32Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de²upstream_cells_mapÞ §@assert�¥Tuple�¡>�¦isless�¦length�¡<�£â‰¥�¿Base.require_one_based_indexing�¡^�¦eltype�¢==�³Base.AssertionError�¤@doc�¡:�ªBase.throw�¥error�¨@raw_str�¥zeros�º#___this_pluto_module_name�£Any�¤Base�¡-�§reshape�¢>=�¡+�¥Union�¡*�¥ndims�Ù$91ab02a1-65b0-43c4-99f3-08dbc274e0ed„´precedence_heuristic §cell_idÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0ed´downstream_cells_mapƒ£JNZ‘Ù$855b56e1-c95b-41e5-a933-57d6686a3c1e£INZ‘Ù$855b56e1-c95b-41e5-a933-57d6686a3c1e£VNZ�²upstream_cells_map‚¦findnz‘Ù$6d064572-5af2-463b-8091-fb3defd36ef4¤diff‘Ù$dd2084d0-e587-4afa-bd17-d79f1260091eÙ$233b2763-5612-4786-9df0-17a6bdd10912„´precedence_heuristic §cell_idÙ$233b2763-5612-4786-9df0-17a6bdd10912´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de„´precedence_heuristic §cell_idÙ$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de´downstream_cells_map€²upstream_cells_mapˆ¦length�¡:�¤plot�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¥plot!�¦purity‘Ù$629a5a46-0bea-4762-9c89-78c07cb43c72partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afb±states_composite2‘Ù$b958e41a-493c-4566-aebb-161868f15bcaÙ$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64„´precedence_heuristic §cell_idÙ$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$107f5cb1-6f79-483a-bbd2-e292a1592986„´precedence_heuristic §cell_idÙ$107f5cb1-6f79-483a-bbd2-e292a1592986´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$e300efca-2800-4c0c-b915-ec8e4f81b292„´precedence_heuristic §cell_idÙ$e300efca-2800-4c0c-b915-ec8e4f81b292´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876„´precedence_heuristic §cell_idÙ$dd8f6890-5234-4b1c-8ed7-b6d370c86876´downstream_cells_map�£âŠ—”Ù$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2²upstream_cells_map�¤kron‘Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7Ù$89d0de66-b78a-4f0f-9134-84ca622f2ca3„´precedence_heuristic §cell_idÙ$89d0de66-b78a-4f0f-9134-84ca622f2ca3´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$531a7b9d-60bc-416e-9260-5757a4cc093c„´precedence_heuristic §cell_idÙ$531a7b9d-60bc-416e-9260-5757a4cc093c´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$0a3cef9f-4dd7-4469-b4ae-18c4e3093ced„´precedence_heuristic §cell_idÙ$0a3cef9f-4dd7-4469-b4ae-18c4e3093ced´downstream_cells_map�¢Î³‘Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05²upstream_cells_map€Ù$72010ae9-8300-41bb-a10b-37927cd8e000„´precedence_heuristic §cell_idÙ$72010ae9-8300-41bb-a10b-37927cd8e000´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3„´precedence_heuristic §cell_idÙ$e210cf9e-a5d6-4d48-83e1-200008a1d9d3´downstream_cells_map€²upstream_cells_map‹¡:�¤hcat�§adjoint�¦length�¤pops‘Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¤plot�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¥plot!�±states_composite1‘Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afb¤conj�Ù$c0342b62-302d-470c-9e96-128905bbe848„´precedence_heuristic §cell_idÙ$c0342b62-302d-470c-9e96-128905bbe848´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$113410b5-64b3-4fcb-9263-9ba89a013107„´precedence_heuristic §cell_idÙ$113410b5-64b3-4fcb-9263-9ba89a013107´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$a36ca5a6-f584-4bba-8e21-968bda4d5190„´precedence_heuristic §cell_idÙ$a36ca5a6-f584-4bba-8e21-968bda4d5190´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$f5d72c44-185e-40f9-be10-50ca467ae8bf„´precedence_heuristic §cell_idÙ$f5d72c44-185e-40f9-be10-50ca467ae8bf´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039„´precedence_heuristic §cell_idÙ$28a8661d-e5f5-4ecd-82d2-bb4f64c36039´downstream_cells_map€²upstream_cells_map…¢_C‘Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2¡-�¤norm‘Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afb¢_B‘Ù$f3d99a0a-2188-4cb1-81d9-9670ece84610Ù$6b05ff89-52e0-4af1-8460-052222ebe93e„´precedence_heuristic §cell_idÙ$6b05ff89-52e0-4af1-8460-052222ebe93e´downstream_cells_map€²upstream_cells_map„¡:�¦purity‘Ù$629a5a46-0bea-4762-9c89-78c07cb43c72¦states‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5£end�Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2„´precedence_heuristic §cell_idÙ$452f72e9-6817-45db-a514-23ddd0a4ebb2´downstream_cells_map�¢_C’Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039Ù$573dbc48-530a-4f52-8864-18aad432c147²upstream_cells_mapƒ¢_A‘Ù$a734c0b3-eef1-43a7-801c-81b5fdda1219¢_B‘Ù$f3d99a0a-2188-4cb1-81d9-9670ece84610£âŠ—‘Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876Ù$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9e„´precedence_heuristic §cell_idÙ$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9e´downstream_cells_map€²upstream_cells_mapƒ¤pops‘Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¡:�¦states‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$f3d99a0a-2188-4cb1-81d9-9670ece84610„´precedence_heuristic §cell_idÙ$f3d99a0a-2188-4cb1-81d9-9670ece84610´downstream_cells_map‚¤Î¨_B�¢_B’Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039²upstream_cells_map„¡*�§adjoint�¤conj�³random_state_vector‘Ù$ba6711cb-c036-4db8-953d-d9d71eaba585Ù$629a5a46-0bea-4762-9c89-78c07cb43c72„´precedence_heuristic §cell_idÙ$629a5a46-0bea-4762-9c89-78c07cb43c72´downstream_cells_map�¦purity•Ù$a286612a-2119-4860-9911-00eaa4ddebb9Ù$5adbc0dd-f040-4d8f-b960-593edf3c1b3cÙ$6b05ff89-52e0-4af1-8460-052222ebe93eÙ$8a7d114b-eca7-47db-8191-8052ffc226b8Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de²upstream_cells_map‹¥trace‘Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7§@assert�¤size�¦length�¥isqrt�§reshape�¡^�®AssertionError�¥throw�¢==�£abs�Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998„´precedence_heuristic §cell_idÙ$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998´downstream_cells_map�¯Ï�â‚€_composite•Ù$148ac275-d22b-444e-bd2e-507decd5188eÙ$11ea567a-74dd-4a87-9695-7dfeccf49c0eÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Ù$b958e41a-493c-4566-aebb-161868f15bca²upstream_cells_map‡¥Î¨â‚€‘Ù$ebad3a75-a9e9-4573-8d97-525ce8421fa1¡:�§reshape�¡*�§adjoint�¤conj�£âŠ—‘Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876Ù$11ea567a-74dd-4a87-9695-7dfeccf49c0e„´precedence_heuristic §cell_idÙ$11ea567a-74dd-4a87-9695-7dfeccf49c0e´downstream_cells_map€²upstream_cells_map‚¯Ï�â‚€_composite‘Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afbÙ$a734c0b3-eef1-43a7-801c-81b5fdda1219„´precedence_heuristic §cell_idÙ$a734c0b3-eef1-43a7-801c-81b5fdda1219´downstream_cells_map‚¤Î¨_A�¢_A’Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2Ù$573dbc48-530a-4f52-8864-18aad432c147²upstream_cells_map„¡*�§adjoint�¤conj�³random_state_vector‘Ù$ba6711cb-c036-4db8-953d-d9d71eaba585Ù$f8d76484-05e6-4a72-98c8-3f33b06f4306„´precedence_heuristic §cell_idÙ$f8d76484-05e6-4a72-98c8-3f33b06f4306´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$20eb5f97-ca69-434d-80ec-5c99b8f153c1„´precedence_heuristic §cell_idÙ$20eb5f97-ca69-434d-80ec-5c99b8f153c1´downstream_cells_map�®superop_labels‘Ù$855b56e1-c95b-41e5-a933-57d6686a3c1e²upstream_cells_mapƒ¡:�§reshape�°composite_labels‘Ù$46b81556-c322-4d06-8a8d-5e69caefff63Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2„´precedence_heuristic §cell_idÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2´downstream_cells_map�±states_composite1”Ù$a3fd0098-e0a1-4e9e-859f-37f1064cce29Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Ù$8a7d114b-eca7-47db-8191-8052ffc226b8Ù$29b3077f-fe4a-4ed9-910b-532af7b5684b²upstream_cells_map…¢L1‘Ù$296fa066-fc76-4a1b-9d70-57c0fe080966¦Newton‘Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¯Ï�â‚€_composite‘Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998©propagate‘Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52deÙ$378380e4-7043-434d-8933-72b36e3a8981„´precedence_heuristic §cell_idÙ$378380e4-7043-434d-8933-72b36e3a8981´downstream_cells_map�¡L‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5²upstream_cells_mapƒ¡A‘Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05«liouvillian‘Ù$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5¡H‘Ù$0d819a8e-95d8-43e4-846d-1b1a44cb9214Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0„´precedence_heuristic §cell_idÙ$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0´downstream_cells_map�¤pops–Ù$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9eÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6Ù$a3fd0098-e0a1-4e9e-859f-37f1064cce29Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Ù$b307c37f-2395-4806-a35f-a9118bb9adf9Ù$3fca1322-b88c-4016-81d1-44a3a8013e32²upstream_cells_map…¥error�§Float64�¤size�¢==�£abs�Ù$337e927c-6c23-4afe-9a62-bf30f3a12c0a„´precedence_heuristic §cell_idÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0a´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$a86b96af-f20d-48ac-b493-12204567a21c„´precedence_heuristic §cell_idÙ$a86b96af-f20d-48ac-b493-12204567a21c´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$b2ac08e1-8e2a-43ad-bb49-7441408d0571„´precedence_heuristic §cell_idÙ$b2ac08e1-8e2a-43ad-bb49-7441408d0571´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$9fa924d6-f287-4f6c-b5b6-1adb4909318c„´precedence_heuristic §cell_idÙ$9fa924d6-f287-4f6c-b5b6-1adb4909318c´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$90ff733c-01ac-48d0-a6b6-faa5021a8a9b„´precedence_heuristic§cell_idÙ$90ff733c-01ac-48d0-a6b6-faa5021a8a9b´downstream_cells_map�LinearAlgebra�²upstream_cells_map€Ù$208b3fda-4263-4f7d-b73d-25eedd1771aa„´precedence_heuristic §cell_idÙ$208b3fda-4263-4f7d-b73d-25eedd1771aa´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05„´precedence_heuristic §cell_idÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05´downstream_cells_map�¡A“Ù$378380e4-7043-434d-8933-72b36e3a8981Ù$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6²upstream_cells_mapˆ¢Î³‘Ù$0a3cef9f-4dd7-4469-b4ae-18c4e3093ced¤sqrt�£âˆš�¡*�¤ket1‘Ù$6aa6f586-9977-476f-a306-73345c0bbc30§adjoint�¤conj�¤ket0‘Ù$cb5f6496-3170-4f07-808a-c641c98469d7Ù$1799c3d7-97c9-4602-9a02-7a0691ddf80e„´precedence_heuristic §cell_idÙ$1799c3d7-97c9-4602-9a02-7a0691ddf80e´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6„´precedence_heuristic §cell_idÙ$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6´downstream_cells_map�¢L2“Ù$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5Ù$dd2084d0-e587-4afa-bd17-d79f1260091eÙ$b958e41a-493c-4566-aebb-161868f15bca²upstream_cells_map‹¡A‘Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05¤ð�Ÿ™‘Ù$2e405a3e-4b5e-489e-a651-5792ae26e089§adjoint�«liouvillian‘Ù$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5£âŠ—‘Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876¤ket1‘Ù$6aa6f586-9977-476f-a306-73345c0bbc30¡+�¡*�¤conj�¡H‘Ù$0d819a8e-95d8-43e4-846d-1b1a44cb9214¤ket0‘Ù$cb5f6496-3170-4f07-808a-c641c98469d7Ù$f3bd26e5-f6d4-4833-88aa-01ba389451b1„´precedence_heuristic §cell_idÙ$f3bd26e5-f6d4-4833-88aa-01ba389451b1´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$8e9523fc-2810-4370-b1cc-e159b588ea83„´precedence_heuristic §cell_idÙ$8e9523fc-2810-4370-b1cc-e159b588ea83´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$9029c42e-462d-4bc6-9d9f-edc53fb28ded„´precedence_heuristic §cell_idÙ$9029c42e-462d-4bc6-9d9f-edc53fb28ded´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$6aa6f586-9977-476f-a306-73345c0bbc30„´precedence_heuristic §cell_idÙ$6aa6f586-9977-476f-a306-73345c0bbc30´downstream_cells_map�¤ket1“Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05Ù$ebad3a75-a9e9-4573-8d97-525ce8421fa1Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6²upstream_cells_map�ªComplexF64�Ù$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8„´precedence_heuristic §cell_idÙ$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$0d819a8e-95d8-43e4-846d-1b1a44cb9214„´precedence_heuristic §cell_idÙ$0d819a8e-95d8-43e4-846d-1b1a44cb9214´downstream_cells_map�¡H“Ù$378380e4-7043-434d-8933-72b36e3a8981Ù$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6²upstream_cells_map€Ù$50703d4a-b742-4ccb-9f1a-2171d94e5e0a„´precedence_heuristic §cell_idÙ$50703d4a-b742-4ccb-9f1a-2171d94e5e0a´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$3fca1322-b88c-4016-81d1-44a3a8013e32„´precedence_heuristic §cell_idÙ$3fca1322-b88c-4016-81d1-44a3a8013e32´downstream_cells_map€²upstream_cells_map‹¡:�¤hcat�±states_composite2‘Ù$b958e41a-493c-4566-aebb-161868f15bca§adjoint�¦length�¤pops‘Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¤plot�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¥plot!�partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afb¤conj�Ù$29b3077f-fe4a-4ed9-910b-532af7b5684b„´precedence_heuristic §cell_idÙ$29b3077f-fe4a-4ed9-910b-532af7b5684b´downstream_cells_map€²upstream_cells_map„¡-�±states_composite1‘Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2¤norm‘Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7±states_composite2‘Ù$b958e41a-493c-4566-aebb-161868f15bcaÙ$96b3bbd3-966c-4912-82cc-ff01f089f066„´precedence_heuristic §cell_idÙ$96b3bbd3-966c-4912-82cc-ff01f089f066´downstream_cells_map�¥Ï�â‚€‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5²upstream_cells_map†¡:�§reshape�¡*�§adjoint�¤conj�¥Î¨â‚€‘Ù$ebad3a75-a9e9-4573-8d97-525ce8421fa1Ù$d565abf9-4b59-429e-834c-d390017a5b53„´precedence_heuristic §cell_idÙ$d565abf9-4b59-429e-834c-d390017a5b53´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$b307c37f-2395-4806-a35f-a9118bb9adf9„´precedence_heuristic §cell_idÙ$b307c37f-2395-4806-a35f-a9118bb9adf9´downstream_cells_map€²upstream_cells_map‰¦length�¤pops‘Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¡:�¤hcat�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¤plot�±states_composite2‘Ù$b958e41a-493c-4566-aebb-161868f15bca§adjoint�¤conj�Ù$6fdf587d-4555-445e-b392-5ddc99c34bb6„´precedence_heuristic §cell_idÙ$6fdf587d-4555-445e-b392-5ddc99c34bb6´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5„´precedence_heuristic §cell_idÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5´downstream_cells_map€²upstream_cells_map„¢L2‘Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6¢L1‘Ù$296fa066-fc76-4a1b-9d70-57c0fe080966¡-�¤norm‘Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7Ù$e944732c-ab82-4b09-b9e6-7fc8df1dbcba„´precedence_heuristic §cell_idÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcba´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$9d5ee94b-250a-4062-8d97-b7f789edce25„´precedence_heuristic §cell_idÙ$9d5ee94b-250a-4062-8d97-b7f789edce25´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$5adbc0dd-f040-4d8f-b960-593edf3c1b3c„´precedence_heuristic §cell_idÙ$5adbc0dd-f040-4d8f-b960-593edf3c1b3c´downstream_cells_map€²upstream_cells_mapƒ¡:�¦purity‘Ù$629a5a46-0bea-4762-9c89-78c07cb43c72¦states‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$fe72a230-9546-4962-82a8-c5980fb297b1„´precedence_heuristic §cell_idÙ$fe72a230-9546-4962-82a8-c5980fb297b1´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$8a7d114b-eca7-47db-8191-8052ffc226b8„´precedence_heuristic §cell_idÙ$8a7d114b-eca7-47db-8191-8052ffc226b8´downstream_cells_map€²upstream_cells_mapˆ¦length�¡:�¤plot�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¥plot!�±states_composite1‘Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2¦purity‘Ù$629a5a46-0bea-4762-9c89-78c07cb43c72partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afbÙ$dd2084d0-e587-4afa-bd17-d79f1260091e„´precedence_heuristic §cell_idÙ$dd2084d0-e587-4afa-bd17-d79f1260091e´downstream_cells_map�¤diff‘Ù$91ab02a1-65b0-43c4-99f3-08dbc274e0ed²upstream_cells_mapƒ¢L2‘Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6¢L1‘Ù$296fa066-fc76-4a1b-9d70-57c0fe080966¡-�Ù$573dbc48-530a-4f52-8864-18aad432c147„´precedence_heuristic §cell_idÙ$573dbc48-530a-4f52-8864-18aad432c147´downstream_cells_map€²upstream_cells_map…¢_A‘Ù$a734c0b3-eef1-43a7-801c-81b5fdda1219¢_C‘Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2¡-�¤norm‘Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afbÙ$a286612a-2119-4860-9911-00eaa4ddebb9„´precedence_heuristic §cell_idÙ$a286612a-2119-4860-9911-00eaa4ddebb9´downstream_cells_map€²upstream_cells_map†¦length�¡:�¤plot�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¦purity‘Ù$629a5a46-0bea-4762-9c89-78c07cb43c72¦states‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$0d20207a-ac00-483e-a1db-e0755845a7e6„´precedence_heuristic §cell_idÙ$0d20207a-ac00-483e-a1db-e0755845a7e6´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$cb5f6496-3170-4f07-808a-c641c98469d7„´precedence_heuristic §cell_idÙ$cb5f6496-3170-4f07-808a-c641c98469d7´downstream_cells_map�¤ket0“Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05Ù$ebad3a75-a9e9-4573-8d97-525ce8421fa1Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6²upstream_cells_map�ªComplexF64�Ù$46b81556-c322-4d06-8a8d-5e69caefff63„´precedence_heuristic §cell_idÙ$46b81556-c322-4d06-8a8d-5e69caefff63´downstream_cells_map�°composite_labels‘Ù$20eb5f97-ca69-434d-80ec-5c99b8f153c1²upstream_cells_map€Ù$d45416d2-ba22-43d3-bc6a-6e7edf050be8„´precedence_heuristic §cell_idÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$296fa066-fc76-4a1b-9d70-57c0fe080966„´precedence_heuristic §cell_idÙ$296fa066-fc76-4a1b-9d70-57c0fe080966´downstream_cells_map�¢L1“Ù$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5Ù$dd2084d0-e587-4afa-bd17-d79f1260091eÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2²upstream_cells_map†¡A‘Ù$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05¡+�¤ð�Ÿ™‘Ù$2e405a3e-4b5e-489e-a651-5792ae26e089«liouvillian‘Ù$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5¡H‘Ù$0d819a8e-95d8-43e4-846d-1b1a44cb9214£âŠ—‘Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876Ù$9e8682c2-0e3d-4515-bb1f-28a8d339402a„´precedence_heuristic §cell_idÙ$9e8682c2-0e3d-4515-bb1f-28a8d339402a´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5„´precedence_heuristic§cell_idÙ$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5´downstream_cells_map�«liouvillian“Ù$378380e4-7043-434d-8933-72b36e3a8981Ù$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6²upstream_cells_map€Ù$3a19ed7c-0c11-4415-a397-e8c195d966c8„´precedence_heuristic §cell_idÙ$3a19ed7c-0c11-4415-a397-e8c195d966c8´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$07ac2aab-759e-4aea-afa4-dbdb46568fc7„´precedence_heuristic §cell_idÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$ebad3a75-a9e9-4573-8d97-525ce8421fa1„´precedence_heuristic §cell_idÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1´downstream_cells_map�¥Î¨â‚€’Ù$96b3bbd3-966c-4912-82cc-ff01f089f066Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998²upstream_cells_map†¤sqrt�¡/�£âˆš�¡+�¤ket1‘Ù$6aa6f586-9977-476f-a306-73345c0bbc30¤ket0‘Ù$cb5f6496-3170-4f07-808a-c641c98469d7Ù$4df2b6b2-8e4e-11f0-3732-a75c62505eb7„´precedence_heuristic§cell_idÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7´downstream_cells_map…¥trace‘Ù$629a5a46-0bea-4762-9c89-78c07cb43c72§PlutoUI�¥Plots�¤kron‘Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876¤norm”Ù$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039Ù$573dbc48-530a-4f52-8864-18aad432c147Ù$29b3077f-fe4a-4ed9-910b-532af7b5684b²upstream_cells_map�¯TableOfContents�Ù$906eb8c1-c1bc-4c61-8e22-8ab6eb91182f„´precedence_heuristic §cell_idÙ$906eb8c1-c1bc-4c61-8e22-8ab6eb91182f´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$ba6711cb-c036-4db8-953d-d9d71eaba585„´precedence_heuristic§cell_idÙ$ba6711cb-c036-4db8-953d-d9d71eaba585´downstream_cells_map�³random_state_vector’Ù$a734c0b3-eef1-43a7-801c-81b5fdda1219Ù$f3d99a0a-2188-4cb1-81d9-9670ece84610²upstream_cells_map€Ù$b958e41a-493c-4566-aebb-161868f15bca„´precedence_heuristic §cell_idÙ$b958e41a-493c-4566-aebb-161868f15bca´downstream_cells_map�±states_composite2”Ù$b307c37f-2395-4806-a35f-a9118bb9adf9Ù$29b3077f-fe4a-4ed9-910b-532af7b5684bÙ$3fca1322-b88c-4016-81d1-44a3a8013e32Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de²upstream_cells_map…¢L2‘Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6¦Newton‘Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¯Ï�â‚€_composite‘Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998©propagate‘Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52deÙ$95c10e78-c60b-4bd0-9558-1858f80e157d„´precedence_heuristic §cell_idÙ$95c10e78-c60b-4bd0-9558-1858f80e157d´downstream_cells_map€²upstream_cells_map‚§@md_str�¨getindex�Ù$148ac275-d22b-444e-bd2e-507decd5188e„´precedence_heuristic §cell_idÙ$148ac275-d22b-444e-bd2e-507decd5188e´downstream_cells_map€²upstream_cells_map�¯Ï�â‚€_composite‘Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998Ù$2f65cb30-99b2-4e68-bb77-1feae4c8be00„´precedence_heuristic §cell_idÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00´downstream_cells_map€²upstream_cells_map‚¯Ï�â‚€_composite‘Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998partial_trace‘Ù$8cd9f807-6b19-4aae-b222-1560f04c3afbÙ$69fdfe8d-0de8-4c61-ace2-b20f70af52de„´precedence_heuristic §cell_idÙ$69fdfe8d-0de8-4c61-ace2-b20f70af52de´downstream_cells_map�¥tlist›Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$0a7a7970-d66d-41ca-8cb8-7180d288c9e6Ù$a286612a-2119-4860-9911-00eaa4ddebb9Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Ù$a3fd0098-e0a1-4e9e-859f-37f1064cce29Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Ù$8a7d114b-eca7-47db-8191-8052ffc226b8Ù$b958e41a-493c-4566-aebb-161868f15bcaÙ$b307c37f-2395-4806-a35f-a9118bb9adf9Ù$3fca1322-b88c-4016-81d1-44a3a8013e32Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de²upstream_cells_map‚¥range�§collect�Ù$855b56e1-c95b-41e5-a933-57d6686a3c1e„´precedence_heuristic §cell_idÙ$855b56e1-c95b-41e5-a933-57d6686a3c1e´downstream_cells_map€²upstream_cells_map„®superop_labels‘Ù$20eb5f97-ca69-434d-80ec-5c99b8f153c1£JNZ‘Ù$91ab02a1-65b0-43c4-99f3-08dbc274e0ed£INZ‘Ù$91ab02a1-65b0-43c4-99f3-08dbc274e0ed£zip�Ù$6d064572-5af2-463b-8091-fb3defd36ef4„´precedence_heuristic§cell_idÙ$6d064572-5af2-463b-8091-fb3defd36ef4´downstream_cells_map�¦findnz‘Ù$91ab02a1-65b0-43c4-99f3-08dbc274e0ed²upstream_cells_map€Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5„´precedence_heuristic §cell_idÙ$109055a1-edc4-4c83-8262-99cdcae5b1a5´downstream_cells_map�¦states•Ù$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9eÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6Ù$a286612a-2119-4860-9911-00eaa4ddebb9Ù$5adbc0dd-f040-4d8f-b960-593edf3c1b3cÙ$6b05ff89-52e0-4af1-8460-052222ebe93e²upstream_cells_map…¦Newton‘Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f©propagate‘Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¥Ï�â‚€‘Ù$96b3bbd3-966c-4912-82cc-ff01f089f066¡L‘Ù$378380e4-7043-434d-8933-72b36e3a8981Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f„´precedence_heuristic§cell_idÙ$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f´downstream_cells_map‚¦Newton“Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Ù$b958e41a-493c-4566-aebb-161868f15bca©propagate“Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Ù$b958e41a-493c-4566-aebb-161868f15bca²upstream_cells_map€Ù$2e405a3e-4b5e-489e-a651-5792ae26e089„´precedence_heuristic §cell_idÙ$2e405a3e-4b5e-489e-a651-5792ae26e089´downstream_cells_map�¤ð�Ÿ™’Ù$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6²upstream_cells_map€Ù$0a7a7970-d66d-41ca-8cb8-7180d288c9e6„´precedence_heuristic §cell_idÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6´downstream_cells_map€²upstream_cells_map‰¦length�¤pops‘Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¡:�¤hcat�¥tlist‘Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52de¤plot�§adjoint�¤conj�¦states‘Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5´cell_execution_orderÜ YÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7Ù$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3fÙ$6d064572-5af2-463b-8091-fb3defd36ef4Ù$ba6711cb-c036-4db8-953d-d9d71eaba585Ù$90ff733c-01ac-48d0-a6b6-faa5021a8a9bÙ$531a7b9d-60bc-416e-9260-5757a4cc093cÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1Ù$50703d4a-b742-4ccb-9f1a-2171d94e5e0aÙ$107f5cb1-6f79-483a-bbd2-e292a1592986Ù$0d819a8e-95d8-43e4-846d-1b1a44cb9214Ù$cb5f6496-3170-4f07-808a-c641c98469d7Ù$6aa6f586-9977-476f-a306-73345c0bbc30Ù$f3bd26e5-f6d4-4833-88aa-01ba389451b1Ù$0a3cef9f-4dd7-4469-b4ae-18c4e3093cedÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05Ù$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8Ù$378380e4-7043-434d-8933-72b36e3a8981Ù$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64Ù$0d20207a-ac00-483e-a1db-e0755845a7e6Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52deÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1Ù$96b3bbd3-966c-4912-82cc-ff01f089f066Ù$9d5ee94b-250a-4062-8d97-b7f789edce25Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$6fdf587d-4555-445e-b392-5ddc99c34bb6Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0Ù$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9eÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6Ù$89d0de66-b78a-4f0f-9134-84ca622f2ca3Ù$629a5a46-0bea-4762-9c89-78c07cb43c72Ù$a286612a-2119-4860-9911-00eaa4ddebb9Ù$72010ae9-8300-41bb-a10b-37927cd8e000Ù$5adbc0dd-f040-4d8f-b960-593edf3c1b3cÙ$6b05ff89-52e0-4af1-8460-052222ebe93eÙ$9029c42e-462d-4bc6-9d9f-edc53fb28dedÙ$e300efca-2800-4c0c-b915-ec8e4f81b292Ù$2e405a3e-4b5e-489e-a651-5792ae26e089Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876Ù$a86b96af-f20d-48ac-b493-12204567a21cÙ$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$f8d76484-05e6-4a72-98c8-3f33b06f4306Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6Ù$c0342b62-302d-470c-9e96-128905bbe848Ù$1799c3d7-97c9-4602-9a02-7a0691ddf80eÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5Ù$dd2084d0-e587-4afa-bd17-d79f1260091eÙ$9fa924d6-f287-4f6c-b5b6-1adb4909318cÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0edÙ$46b81556-c322-4d06-8a8d-5e69caefff63Ù$20eb5f97-ca69-434d-80ec-5c99b8f153c1Ù$855b56e1-c95b-41e5-a933-57d6686a3c1eÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998Ù$113410b5-64b3-4fcb-9263-9ba89a013107Ù$8cd9f807-6b19-4aae-b222-1560f04c3afbÙ$148ac275-d22b-444e-bd2e-507decd5188eÙ$d565abf9-4b59-429e-834c-d390017a5b53Ù$fe72a230-9546-4962-82a8-c5980fb297b1Ù$11ea567a-74dd-4a87-9695-7dfeccf49c0eÙ$233b2763-5612-4786-9df0-17a6bdd10912Ù$2f65cb30-99b2-4e68-bb77-1feae4c8be00Ù$b2ac08e1-8e2a-43ad-bb49-7441408d0571Ù$a734c0b3-eef1-43a7-801c-81b5fdda1219Ù$f3d99a0a-2188-4cb1-81d9-9670ece84610Ù$452f72e9-6817-45db-a514-23ddd0a4ebb2Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039Ù$573dbc48-530a-4f52-8864-18aad432c147Ù$906eb8c1-c1bc-4c61-8e22-8ab6eb91182fÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcbaÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0aÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Ù$a3fd0098-e0a1-4e9e-859f-37f1064cce29Ù$777eefbd-a782-4388-af28-987fa43ef205Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Ù$9e8682c2-0e3d-4515-bb1f-28a8d339402aÙ$8a7d114b-eca7-47db-8191-8052ffc226b8Ù$3a19ed7c-0c11-4415-a397-e8c195d966c8Ù$208b3fda-4263-4f7d-b73d-25eedd1771aaÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8Ù$b958e41a-493c-4566-aebb-161868f15bcaÙ$b307c37f-2395-4806-a35f-a9118bb9adf9Ù$95c10e78-c60b-4bd0-9558-1858f80e157dÙ$29b3077f-fe4a-4ed9-910b-532af7b5684bÙ$f5d72c44-185e-40f9-be10-50ca467ae8bfÙ$3fca1322-b88c-4016-81d1-44a3a8013e32Ù$a36ca5a6-f584-4bba-8e21-968bda4d5190Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33deÙ$8e9523fc-2810-4370-b1cc-e159b588ea83´last_hot_reload_timeË ©shortpath·CompositeDissipation.jl®process_status¥ready¤pathÙk/home/runner/work/2025-09-11_Composite_Dissipation/2025-09-11_Composite_Dissipation/CompositeDissipation.jlpluto_version¨v0.20.18®last_save_timeËAÚ1æâ(úªcell_orderÜ YÙ$531a7b9d-60bc-416e-9260-5757a4cc093cÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7Ù$a41f348d-7d13-4fd1-b7c7-abef440cf9b1Ù$50703d4a-b742-4ccb-9f1a-2171d94e5e0aÙ$107f5cb1-6f79-483a-bbd2-e292a1592986Ù$0d819a8e-95d8-43e4-846d-1b1a44cb9214Ù$cb5f6496-3170-4f07-808a-c641c98469d7Ù$6aa6f586-9977-476f-a306-73345c0bbc30Ù$f3bd26e5-f6d4-4833-88aa-01ba389451b1Ù$0a3cef9f-4dd7-4469-b4ae-18c4e3093cedÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05Ù$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8Ù$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5Ù$378380e4-7043-434d-8933-72b36e3a8981Ù$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64Ù$28f7b3c0-be79-4d30-99b1-dd90f9f30b3fÙ$0d20207a-ac00-483e-a1db-e0755845a7e6Ù$69fdfe8d-0de8-4c61-ace2-b20f70af52deÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1Ù$96b3bbd3-966c-4912-82cc-ff01f089f066Ù$9d5ee94b-250a-4062-8d97-b7f789edce25Ù$109055a1-edc4-4c83-8262-99cdcae5b1a5Ù$6fdf587d-4555-445e-b392-5ddc99c34bb6Ù$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0Ù$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9eÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6Ù$89d0de66-b78a-4f0f-9134-84ca622f2ca3Ù$629a5a46-0bea-4762-9c89-78c07cb43c72Ù$a286612a-2119-4860-9911-00eaa4ddebb9Ù$72010ae9-8300-41bb-a10b-37927cd8e000Ù$5adbc0dd-f040-4d8f-b960-593edf3c1b3cÙ$6b05ff89-52e0-4af1-8460-052222ebe93eÙ$9029c42e-462d-4bc6-9d9f-edc53fb28dedÙ$e300efca-2800-4c0c-b915-ec8e4f81b292Ù$2e405a3e-4b5e-489e-a651-5792ae26e089Ù$dd8f6890-5234-4b1c-8ed7-b6d370c86876Ù$a86b96af-f20d-48ac-b493-12204567a21cÙ$296fa066-fc76-4a1b-9d70-57c0fe080966Ù$f8d76484-05e6-4a72-98c8-3f33b06f4306Ù$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6Ù$c0342b62-302d-470c-9e96-128905bbe848Ù$1799c3d7-97c9-4602-9a02-7a0691ddf80eÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5Ù$dd2084d0-e587-4afa-bd17-d79f1260091eÙ$6d064572-5af2-463b-8091-fb3defd36ef4Ù$9fa924d6-f287-4f6c-b5b6-1adb4909318cÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0edÙ$46b81556-c322-4d06-8a8d-5e69caefff63Ù$20eb5f97-ca69-434d-80ec-5c99b8f153c1Ù$855b56e1-c95b-41e5-a933-57d6686a3c1eÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7Ù$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998Ù$113410b5-64b3-4fcb-9263-9ba89a013107Ù$8cd9f807-6b19-4aae-b222-1560f04c3afbÙ$148ac275-d22b-444e-bd2e-507decd5188eÙ$d565abf9-4b59-429e-834c-d390017a5b53Ù$fe72a230-9546-4962-82a8-c5980fb297b1Ù$11ea567a-74dd-4a87-9695-7dfeccf49c0eÙ$233b2763-5612-4786-9df0-17a6bdd10912Ù$2f65cb30-99b2-4e68-bb77-1feae4c8be00Ù$b2ac08e1-8e2a-43ad-bb49-7441408d0571Ù$ba6711cb-c036-4db8-953d-d9d71eaba585Ù$a734c0b3-eef1-43a7-801c-81b5fdda1219Ù$f3d99a0a-2188-4cb1-81d9-9670ece84610Ù$90ff733c-01ac-48d0-a6b6-faa5021a8a9bÙ$452f72e9-6817-45db-a514-23ddd0a4ebb2Ù$28a8661d-e5f5-4ecd-82d2-bb4f64c36039Ù$573dbc48-530a-4f52-8864-18aad432c147Ù$906eb8c1-c1bc-4c61-8e22-8ab6eb91182fÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcbaÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0aÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2Ù$a3fd0098-e0a1-4e9e-859f-37f1064cce29Ù$777eefbd-a782-4388-af28-987fa43ef205Ù$e210cf9e-a5d6-4d48-83e1-200008a1d9d3Ù$9e8682c2-0e3d-4515-bb1f-28a8d339402aÙ$8a7d114b-eca7-47db-8191-8052ffc226b8Ù$3a19ed7c-0c11-4415-a397-e8c195d966c8Ù$208b3fda-4263-4f7d-b73d-25eedd1771aaÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8Ù$b958e41a-493c-4566-aebb-161868f15bcaÙ$b307c37f-2395-4806-a35f-a9118bb9adf9Ù$95c10e78-c60b-4bd0-9558-1858f80e157dÙ$29b3077f-fe4a-4ed9-910b-532af7b5684bÙ$f5d72c44-185e-40f9-be10-50ca467ae8bfÙ$3fca1322-b88c-4016-81d1-44a3a8013e32Ù$a36ca5a6-f584-4bba-8e21-968bda4d5190Ù$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33deÙ$8e9523fc-2810-4370-b1cc-e159b588ea83±published_objects€¥nbpkgНinstall_time_nsÏ Å|Ьinstantiatedòinstalled_versions†·QuantumControlTestUtils¥0.3.1LinearAlgebra¦stdlib§PlutoUI¦0.7.71¥Plots§1.40.18¬SparseArrays¦stdlib²QuantumPropagators¥0.8.3°terminal_outputs‡·QuantumControlTestUtilsÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`ªnbpkg_syncÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`LinearAlgebraÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`§PlutoUIÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`¥PlotsÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`¬SparseArraysÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`²QuantumPropagatorsÚ¸
[0m[1mResolving...[22m
[90m===[39m
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Project.toml`
[32m[1m No Changes[22m[39m to `/tmp/jl_XP4FCH/Manifest.toml`
[0m[1mInstantiating...[22m
[90m===[39m
[0m[1mPrecompiling...[22m
[90m===[39m
[90m[debug cache flags] CacheFlags(; use_pkgimages=true, debug_level=1, check_bounds=0, inline=true, opt_level=2)[39m
[32m[1m Activating[22m[39m project at `/tmp/jl_XP4FCH`§enabled÷restart_recommended_msgÀ´restart_required_msgÀbusy_packages�¶waiting_for_permissionÂÙ,waiting_for_permission_but_probably_disabled«cell_inputsÞ YÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1„§cell_idÙ$a41f348d-7d13-4fd1-b7c7-abef440cf9b1¤codeÚ�md"""
Suppose we have a system with a Lindblad operator ``\hat{A}``. The question is what is the Lindblad operator in a composite system. Presumably, ``\hat{A} ⊗ �``, but one could also think that with ``� = ∑|k⟩⟨k|``, the composite system could have one Lindblad operator ``\hat{A} ⊗ |k⟩⟨k|`` for each basis vector of the second system. That is, the composite system would have _multiple_ Lindblad operators?
Are those two things potentially equivalent? They are not! The difference is in the term ``\hat{A} \hat{\rho} \hat{A}^\dagger`` in the Liouville equation. With a single Lindblad operator ``\hat{A} ⊗ �``, we find
```math
(\hat{A} ⊗ �) \hat\rho (\hat{A} ⊗ �)^\dagger
= \sum_{ijnm} \rho_{(ij),(nm)} \hat{A} |i⟩⟨n| \hat{A}^{\dagger} \otimes |j⟩⟨m|
\tag{1}
```
where ``|ij⟩⟨jm|`` is the double-indexed basis in which ``\hat{\rho}`` is represented, and ``\rho_{(ij),(nm)}`` is the matrix element for those indices.
On the other hand, with multiple Lindblad operators, we have
```math
\sum_k (\hat{A} ⊗ |k⟩⟨k|) \hat\rho (\hat{A} ⊗ |k⟩⟨k|)^\dagger
= \sum_{ink}\rho_{(ik),(nk)} \hat{A} |i⟩⟨n| \hat{A}^{\dagger} \otimes |k⟩⟨k|
\tag{2}
```
That is, we are missing the cross-terms ``|j⟩⟨m|`` in Eq. (1) for ``j \ne m``.
These matrices are coherences in the second system that are lost in the dynamics. That hints at the choice of multiple Lindblad operators being unphysical: Simply tensoring a non-dissipative system to a dissipative system should not affect the non-dissipative system at all, the dissipative system should not be inducing dissipation into the non-dissipative system.
We can illustrate this for the example of a single qubit with spontaneous decay. We will simulate the dynamics of the qubit, and then the dynamics of the system tensored with a second, non-dissipative qubit, for the two possible choices of composite Lindblad operators.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$777eefbd-a782-4388-af28-987fa43ef205„§cell_idÙ$777eefbd-a782-4388-af28-987fa43ef205¤codeÙ]md"""
Then, the population dynamics of the sub-systems, with the other system traced out:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$a3fd0098-e0a1-4e9e-859f-37f1064cce29„§cell_idÙ$a3fd0098-e0a1-4e9e-859f-37f1064cce29¤codeÙ¼plot(
tlist,
hcat([pops(states_composite1[:, i]) for i = 1:length(tlist)]...)';
xlabel = "time",
ylabel = "population",
label = ["|00⟩" "|01⟩" "|10⟩" "|10⟩"],
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$8cd9f807-6b19-4aae-b222-1560f04c3afb„§cell_idÙ$8cd9f807-6b19-4aae-b222-1560f04c3afb¤codeÚ
Á@doc raw"""Calculate the partial trace of the given density matrix Ï�
```julia
�_red = partial_trace(�, (N_i, N, N_j))
```
calculates the reduced density with the middle degree of freedom integrated
out.
It is assumed that the density matrix � has the structure
```math
� = \sum �_{(inj)(i^′n^′j^′)} |inj⟩⟨i^′n^′j^′|
```
with the triple-index ``(inj)`` where ``i`` is in the range ``(1, N_i)``, ``n``
is in the range ``(1, N)``, and ``j`` is in the range ``(1, N_j)``
The reduced density matrix is defined as
```math
�^{(red)} = \sum \underbrace{\sum_{n} �_{(inj)(i^′nj^′)}}_{= \rho^{(red)}_{(ij),(i^′j^′)}} |ij⟩⟨i^′j^′|
```
Note that assuming a structure of 3 tensored Hilbert spaces and always tracing
out the middle Hilbert space allows handling an arbitrary number of _actual_
Hilbert spaces, and tracing out arbitrary degrees of freedom: All Hilbert
spaces to the _left_ of the degree of freedom to be integrated out can be
combined into a single Hilbert space of dimension ``N_i``, and all the Hilbert
spaces on the _right_ can be combined into a space of dimension ``N_j``. This
includes the situation where we have _two_ actual Hilbert spaces with
dimensions N and M, respectively. If we wanted to trace out the first Hilbert
space, we could use
```julia
�_red = partial_trace(�, (1, N, M))
```
If we wanted to trace out the second Hilbert space, we would instead use
```julia
�_red = partial_trace(�, (N, M, 1))
```
The given `�` can be a matrix or vectorized matrix. The reduced density matrix will be returned correspondingly.
"""
function partial_trace(�, dims)
N_i, N, N_j = dims
@assert N_i ≥ 1
@assert N > 1
@assert N_j ≥ 1
@assert length(�) == (N_i * N * N_j)^2
if ndims(�) == 1
�_red = partial_trace(reshape(�, (N_i*N*N_j, N_i*N*N_j)), dims)
return reshape(�_red, :)
elseif ndims(�) == 2
Base.require_one_based_indexing(�)
�_red = zeros(eltype(�), N_i * N_j, N_i * N_j)
for i′ = 1:N_i
for j′ = 1:N_j
i′_j′ = (i′-1) * N_j + j′
for i = 1:N_i
for j = 1:N_j
i_j = (i-1) * N_j + j
for n = 1:N
# unroll the multi-indices
i_n_j = (i-1) * N * N_j + (n - 1) * N_j + j
i′_n_j′ = (i′-1) * N * N_j + (n - 1) * N_j + j′
�_red[i_j, i′_j′] += �[i_n_j, i′_n_j′]
end
end
end
end
end
return �_red
else
error("� must be matrix or vectorized matrix")
end
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0ed„§cell_idÙ$91ab02a1-65b0-43c4-99f3-08dbc274e0ed¤code¼INZ, JNZ, VNZ = findnz(diff)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$233b2763-5612-4786-9df0-17a6bdd10912„§cell_idÙ$233b2763-5612-4786-9df0-17a6bdd10912¤codeÙSmd"""
And, the reduced density matrix of the second TLS (first TLS traced out):
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de„§cell_idÙ$f3dc6aa3-7f04-4d43-a925-3a3ab8ce33de¤codeÚ”begin
plot(
tlist,
[purity(partial_trace(states_composite2[:, i], (2, 2, 1))) for i = 1:length(tlist)];
xlabel = "time",
ylabel = "purity",
label = "1",
)
plot!(
tlist,
[purity(partial_trace(states_composite2[:, i], (1, 2, 2))) for i = 1:length(tlist)];
xlabel = "time",
ylabel = "purity",
label = "2",
)
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64„§cell_idÙ$4c62e504-4ab5-4eec-a2bc-0967f7a7ae64¤code¸md"""
We can now use
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$107f5cb1-6f79-483a-bbd2-e292a1592986„§cell_idÙ$107f5cb1-6f79-483a-bbd2-e292a1592986¤codeÙ1md"""
We'll consider a completely static TLS:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$e300efca-2800-4c0c-b915-ec8e4f81b292„§cell_idÙ$e300efca-2800-4c0c-b915-ec8e4f81b292¤codeÙYmd"""
Now we tensor the system with a second TLS. This second TLS is non-dissipative.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$dd8f6890-5234-4b1c-8ed7-b6d370c86876„§cell_idÙ$dd8f6890-5234-4b1c-8ed7-b6d370c86876¤code¶âŠ—(A, B) = kron(A, B)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$89d0de66-b78a-4f0f-9134-84ca622f2ca3„§cell_idÙ$89d0de66-b78a-4f0f-9134-84ca622f2ca3¤code¸md"""
and the purity
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$531a7b9d-60bc-416e-9260-5757a4cc093c„§cell_idÙ$531a7b9d-60bc-416e-9260-5757a4cc093c¤codeÙ«md"""
# Lindblad operators for composite systems
Note: the code for this notebook is available at
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$0a3cef9f-4dd7-4469-b4ae-18c4e3093ced„§cell_idÙ$0a3cef9f-4dd7-4469-b4ae-18c4e3093ced¤code¨Î³ = 0.1¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$72010ae9-8300-41bb-a10b-37927cd8e000„§cell_idÙ$72010ae9-8300-41bb-a10b-37927cd8e000¤codeÚ#md"""
Note that the purity starting from a mixed state should be ``1 - \frac{1}{2} \left(e^{-\gamma t} + e^{-2\gamma t}\right)``: The purity first drops due to the dissipation and then rises again because in the infinite time limit, all the population ends up in the (pure) ground state.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$e210cf9e-a5d6-4d48-83e1-200008a1d9d3„§cell_idÙ$e210cf9e-a5d6-4d48-83e1-200008a1d9d3¤codeÚ^begin
plot(
tlist,
hcat(
[
pops(partial_trace(states_composite1[:, i], (2, 2, 1))) for
i = 1:length(tlist)
]...,
)';
xlabel = "time",
ylabel = "population",
label = ["|0⟩�" "|1⟩�"],
)
plot!(
tlist,
hcat(
[
pops(partial_trace(states_composite1[:, i], (1, 2, 2))) for
i = 1:length(tlist)
]...,
)';
xlabel = "time",
ylabel = "population",
label = ["|0⟩₂" "|1⟩₂"],
)
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$c0342b62-302d-470c-9e96-128905bbe848„§cell_idÙ$c0342b62-302d-470c-9e96-128905bbe848¤codeÙTmd"""
Uses two Lindblad operators, one for each of the levels in the second TLS.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$113410b5-64b3-4fcb-9263-9ba89a013107„§cell_idÙ$113410b5-64b3-4fcb-9263-9ba89a013107¤codeÚmd"""
When analyzing the dynamics, what we'll be looking for is that the second system remains unaffected by the dissipation in the first system. To this end, we'll have to calculate the reduced density matrices for the first and second TLS, using a partial trace:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$a36ca5a6-f584-4bba-8e21-968bda4d5190„§cell_idÙ$a36ca5a6-f584-4bba-8e21-968bda4d5190¤codeÙUmd"""
The difference comes in via the purity (the coherences) in the sub-systems:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$f5d72c44-185e-40f9-be10-50ca467ae8bf„§cell_idÙ$f5d72c44-185e-40f9-be10-50ca467ae8bf¤codeÙOmd"""
The population dynamics even for the sub-systems still looks correct:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$28a8661d-e5f5-4ecd-82d2-bb4f64c36039„§cell_idÙ$28a8661d-e5f5-4ecd-82d2-bb4f64c36039¤codeÙ'norm(partial_trace(_C, (1, 2, 3)) - _B)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$6b05ff89-52e0-4af1-8460-052222ebe93e„§cell_idÙ$6b05ff89-52e0-4af1-8460-052222ebe93e¤code¶purity(states[:, end])¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$452f72e9-6817-45db-a514-23ddd0a4ebb2„§cell_idÙ$452f72e9-6817-45db-a514-23ddd0a4ebb2¤code®_C = _A ⊗ _B¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9e„§cell_idÙ$e7b9b53a-b4e8-4701-ab4a-7a6b06cbbc9e¤code²pops(states[:, 1])¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$f3d99a0a-2188-4cb1-81d9-9670ece84610„§cell_idÙ$f3d99a0a-2188-4cb1-81d9-9670ece84610¤codeÙA_B = begin
Ψ_B = random_state_vector(3)
Ψ_B * Ψ_B'
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$629a5a46-0bea-4762-9c89-78c07cb43c72„§cell_idÙ$629a5a46-0bea-4762-9c89-78c07cb43c72¤codeÙ§function purity(Ï�_vec)
N² = length(�_vec)
@assert size(�_vec) == (N²,)
N = isqrt(N²)
� = reshape(�_vec, (N, N))
return abs(trace(�^2))
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998„§cell_idÙ$2b48afa7-5fbd-4262-ac8b-efa8a2f6a998¤codeÙDÏ�â‚€_composite = reshape((Ψ₀ ⊗ Ψ₀) * (Ψ₀ ⊗ Ψ₀)', :)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$11ea567a-74dd-4a87-9695-7dfeccf49c0e„§cell_idÙ$11ea567a-74dd-4a87-9695-7dfeccf49c0e¤codeÙ)partial_trace(Ï�â‚€_composite, (2, 2, 1))¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$a734c0b3-eef1-43a7-801c-81b5fdda1219„§cell_idÙ$a734c0b3-eef1-43a7-801c-81b5fdda1219¤codeÙA_A = begin
Ψ_A = random_state_vector(2)
Ψ_A * Ψ_A'
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$f8d76484-05e6-4a72-98c8-3f33b06f4306„§cell_idÙ$f8d76484-05e6-4a72-98c8-3f33b06f4306¤codeÙ_md"""
tensors the original Lindblad operator with the identity for the second TLS.
Second,
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$20eb5f97-ca69-434d-80ec-5c99b8f153c1„§cell_idÙ$20eb5f97-ca69-434d-80ec-5c99b8f153c1¤codeÙnsuperop_labels =
reshape(["|$(composite_labels[i])⟩⟨$(composite_labels[j])|" for i = 1:4, j = 1:4], :)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2„§cell_idÙ$0fabd75f-e9d1-46d5-8ba5-7e334101d1c2¤codeÙ[states_composite1 = propagate(Ï�â‚€_composite, L1, tlist; method = Newton, storage = true);¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$378380e4-7043-434d-8933-72b36e3a8981„§cell_idÙ$378380e4-7043-434d-8933-72b36e3a8981¤codeÙ,L = liouvillian(H, (A,); convention = :TDSE)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0„§cell_idÙ$0eaf2661-c7cd-4c3d-872e-00d4eaef74e0¤codeÙôfunction pops(Ï�)
if size(�) == (16,)
return Float64[abs(�[1]), abs(�[6]), abs(�[11]), abs(�[16])]
elseif size(�) == (4,)
return Float64[abs(�[1]), abs(�[4])]
else
error("Not implemented")
end
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0a„§cell_idÙ$337e927c-6c23-4afe-9a62-bf30f3a12c0a¤codeÙKmd"""
First, we look at the population dynamics of the combined system:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$a86b96af-f20d-48ac-b493-12204567a21c„§cell_idÙ$a86b96af-f20d-48ac-b493-12204567a21c¤codeÙTmd"""
We have two candidates for the Lindbladian of the composite system. First,
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$b2ac08e1-8e2a-43ad-bb49-7441408d0571„§cell_idÙ$b2ac08e1-8e2a-43ad-bb49-7441408d0571¤codeÙ¬md"""
Just to test our implementation of the partial trace a bit more for the general case, we can check that we can recover the components of a random separable state:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$9fa924d6-f287-4f6c-b5b6-1adb4909318c„§cell_idÙ$9fa924d6-f287-4f6c-b5b6-1adb4909318c¤codeÙ;md"""
We can look at which matrix elements are missing.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$90ff733c-01ac-48d0-a6b6-faa5021a8a9b„§cell_idÙ$90ff733c-01ac-48d0-a6b6-faa5021a8a9b¤code³using LinearAlgebra¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$208b3fda-4263-4f7d-b73d-25eedd1771aa„§cell_idÙ$208b3fda-4263-4f7d-b73d-25eedd1771aa¤codeÙ2md"""
### Multiple Lindblad Operators Dynamics
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05„§cell_idÙ$b7a6ffd9-6a9a-42ef-970f-c4e660b36f05¤code¹A = √γ * ket0 * ket1';¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$1799c3d7-97c9-4602-9a02-7a0691ddf80e„§cell_idÙ$1799c3d7-97c9-4602-9a02-7a0691ddf80e¤codeÙLmd"""
**`L1` and `L2` do not have the same number of non-zero entries!**
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6„§cell_idÙ$91c11d2b-a7f2-4a7d-b014-6b7c3ea292a6¤codeÙoL2 =
liouvillian(H ⊗ ð�Ÿ™ + ð�Ÿ™ ⊗ H, (A ⊗ (ket0 * ket0'), A ⊗ (ket1 * ket1')); convention = :TDSE)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$f3bd26e5-f6d4-4833-88aa-01ba389451b1„§cell_idÙ$f3bd26e5-f6d4-4833-88aa-01ba389451b1¤codeÙCmd"""
We'll add to that spontaneous decay, with a decay rate of
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$8e9523fc-2810-4370-b1cc-e159b588ea83„§cell_idÙ$8e9523fc-2810-4370-b1cc-e159b588ea83¤codeÚ7md"""
This is clearly unphysical: without interactions between system 1 and system 2, the dissipation in system 1 should not be causing dissipation in system 2! System 2 should remain pure at all times.
Thus, we can conclude that a single Lindblad operator ``\hat{A} \otimes �`` is the correct approach.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$9029c42e-462d-4bc6-9d9f-edc53fb28ded„§cell_idÙ$9029c42e-462d-4bc6-9d9f-edc53fb28ded¤code½md"""
## Composite System
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$6aa6f586-9977-476f-a306-73345c0bbc30„§cell_idÙ$6aa6f586-9977-476f-a306-73345c0bbc30¤code·ket1 = ComplexF64[0, 1]¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8„§cell_idÙ$e06b72c2-913d-4de9-8ef1-af12a1a2b8c8¤codeÙEmd"""
The Liouvillian can be constructed as a super-operator, via
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$0d819a8e-95d8-43e4-846d-1b1a44cb9214„§cell_idÙ$0d819a8e-95d8-43e4-846d-1b1a44cb9214¤code·H = [0.0 0.0; 0.0 0.0];¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$50703d4a-b742-4ccb-9f1a-2171d94e5e0a„§cell_idÙ$50703d4a-b742-4ccb-9f1a-2171d94e5e0a¤code¹md"""
## Single Qubit
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$3fca1322-b88c-4016-81d1-44a3a8013e32„§cell_idÙ$3fca1322-b88c-4016-81d1-44a3a8013e32¤codeÚ^begin
plot(
tlist,
hcat(
[
pops(partial_trace(states_composite2[:, i], (2, 2, 1))) for
i = 1:length(tlist)
]...,
)';
xlabel = "time",
ylabel = "population",
label = ["|0⟩�" "|1⟩�"],
)
plot!(
tlist,
hcat(
[
pops(partial_trace(states_composite2[:, i], (1, 2, 2))) for
i = 1:length(tlist)
]...,
)';
xlabel = "time",
ylabel = "population",
label = ["|0⟩₂" "|1⟩₂"],
)
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$29b3077f-fe4a-4ed9-910b-532af7b5684b„§cell_idÙ$29b3077f-fe4a-4ed9-910b-532af7b5684b¤codeÙ+norm(states_composite2 - states_composite1)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$96b3bbd3-966c-4912-82cc-ff01f089f066„§cell_idÙ$96b3bbd3-966c-4912-82cc-ff01f089f066¤codeÙ"Ï�â‚€ = reshape(Ψ₀ * Ψ₀', :)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$d565abf9-4b59-429e-834c-d390017a5b53„§cell_idÙ$d565abf9-4b59-429e-834c-d390017a5b53¤codeÙDmd"""
We can check that the intial state decomposes as expected:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$b307c37f-2395-4806-a35f-a9118bb9adf9„§cell_idÙ$b307c37f-2395-4806-a35f-a9118bb9adf9¤codeÙ¼plot(
tlist,
hcat([pops(states_composite2[:, i]) for i = 1:length(tlist)]...)';
xlabel = "time",
ylabel = "population",
label = ["|00⟩" "|01⟩" "|10⟩" "|10⟩"],
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$6fdf587d-4555-445e-b392-5ddc99c34bb6„§cell_idÙ$6fdf587d-4555-445e-b392-5ddc99c34bb6¤codeÙ:md"""
which we can analyze in terms of the populations
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5„§cell_idÙ$31bc35f7-f79a-4d0e-bf4f-e6362b372ec5¤codenorm(L1 - L2)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcba„§cell_idÙ$e944732c-ab82-4b09-b9e6-7fc8df1dbcba¤codeÙ/md"""
### Single Lindblad Operator Dynamics
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$9d5ee94b-250a-4062-8d97-b7f789edce25„§cell_idÙ$9d5ee94b-250a-4062-8d97-b7f789edce25¤codeÙ)md"""
The result of the propgation is
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$5adbc0dd-f040-4d8f-b960-593edf3c1b3c„§cell_idÙ$5adbc0dd-f040-4d8f-b960-593edf3c1b3c¤code´purity(states[:, 1])¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$fe72a230-9546-4962-82a8-c5980fb297b1„§cell_idÙ$fe72a230-9546-4962-82a8-c5980fb297b1¤codeÙNmd"""
The reduced density matrix of the first TLS (second TLS traced out):
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$8a7d114b-eca7-47db-8191-8052ffc226b8„§cell_idÙ$8a7d114b-eca7-47db-8191-8052ffc226b8¤codeÚ”begin
plot(
tlist,
[purity(partial_trace(states_composite1[:, i], (2, 2, 1))) for i = 1:length(tlist)];
xlabel = "time",
ylabel = "purity",
label = "1",
)
plot!(
tlist,
[purity(partial_trace(states_composite1[:, i], (1, 2, 2))) for i = 1:length(tlist)];
xlabel = "time",
ylabel = "purity",
label = "2",
)
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$dd2084d0-e587-4afa-bd17-d79f1260091e„§cell_idÙ$dd2084d0-e587-4afa-bd17-d79f1260091e¤code°diff = (L1 - L2)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$573dbc48-530a-4f52-8864-18aad432c147„§cell_idÙ$573dbc48-530a-4f52-8864-18aad432c147¤codeÙ'norm(partial_trace(_C, (2, 3, 1)) - _A)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$a286612a-2119-4860-9911-00eaa4ddebb9„§cell_idÙ$a286612a-2119-4860-9911-00eaa4ddebb9¤codeÙ‚plot(
tlist,
[purity(states[:, i]) for i = 1:length(tlist)];
xlabel = "time",
ylabel = "purity",
label = "",
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$0d20207a-ac00-483e-a1db-e0755845a7e6„§cell_idÙ$0d20207a-ac00-483e-a1db-e0755845a7e6¤codeÙwmd"""
to simulate the dynamics of a coherent superposition of |0⟩ and |1⟩ as an initial state, over a time grid
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$cb5f6496-3170-4f07-808a-c641c98469d7„§cell_idÙ$cb5f6496-3170-4f07-808a-c641c98469d7¤code·ket0 = ComplexF64[1, 0]¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$46b81556-c322-4d06-8a8d-5e69caefff63„§cell_idÙ$46b81556-c322-4d06-8a8d-5e69caefff63¤codeÙ+composite_labels = ["00", "01", "10", "11"]¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8„§cell_idÙ$d45416d2-ba22-43d3-bc6a-6e7edf050be8¤codeÙ®md"""
We repeat this analysis for the second candidate of a Liouvillian, with two Liouville operators.
The population dynamics in the combined system looks unsuspicious:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$296fa066-fc76-4a1b-9d70-57c0fe080966„§cell_idÙ$296fa066-fc76-4a1b-9d70-57c0fe080966¤codeÙLL1 = liouvillian(H ⊗ ð�Ÿ™ + ð�Ÿ™ ⊗ H, (A ⊗ ð�Ÿ™,); convention = :TDSE)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$9e8682c2-0e3d-4515-bb1f-28a8d339402a„§cell_idÙ$9e8682c2-0e3d-4515-bb1f-28a8d339402a¤codeÙœmd"""
As we expect, the population deviates from the initial superposition only for the first system.
Lastly, we look at the purity in the sub-systems:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5„§cell_idÙ$e24ce5f2-58ac-489e-9d24-02fdd66d0cd5¤codeÙ0using QuantumPropagators.Generators: liouvillian¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$3a19ed7c-0c11-4415-a397-e8c195d966c8„§cell_idÙ$3a19ed7c-0c11-4415-a397-e8c195d966c8¤codeÙMmd"""
Again, we see the purity deviating from 1 only in the first system.
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7„§cell_idÙ$07ac2aab-759e-4aea-afa4-dbdb46568fc7¤codeÚ"md"""
It might be interesting to further look into the interpretation of exactly how these matrix elements affect the dynamics. But in lieue of that, we'll simply _simulate_ the dynamics.
As the initial state, we'll use a coherent superposition both in the first and in the second TLS:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1„§cell_idÙ$ebad3a75-a9e9-4573-8d97-525ce8421fa1¤code¼Î¨â‚€ = (ket0 + ket1) / √2¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7„§cell_idÙ$4df2b6b2-8e4e-11f0-3732-a75c62505eb7¤codeÙrbegin
using LinearAlgebra: norm, kron, tr as trace
using Plots
using PlutoUI
TableOfContents()
end¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$906eb8c1-c1bc-4c61-8e22-8ab6eb91182f„§cell_idÙ$906eb8c1-c1bc-4c61-8e22-8ab6eb91182f¤codeÙ]md"""
Now, we can compare the dynamics under our two candidate Liouvillian `L1` and `L2`:
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$ba6711cb-c036-4db8-953d-d9d71eaba585„§cell_idÙ$ba6711cb-c036-4db8-953d-d9d71eaba585¤codeÙ@using QuantumControlTestUtils.RandomObjects: random_state_vector¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$b958e41a-493c-4566-aebb-161868f15bca„§cell_idÙ$b958e41a-493c-4566-aebb-161868f15bca¤codeÙ[states_composite2 = propagate(Ï�â‚€_composite, L2, tlist; method = Newton, storage = true);¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$95c10e78-c60b-4bd0-9558-1858f80e157d„§cell_idÙ$95c10e78-c60b-4bd0-9558-1858f80e157d¤codeÙ7md"""
But the dynamics are certainly not identical!
"""¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$148ac275-d22b-444e-bd2e-507decd5188e„§cell_idÙ$148ac275-d22b-444e-bd2e-507decd5188e¤code¯Ï�â‚€_composite¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00„§cell_idÙ$2f65cb30-99b2-4e68-bb77-1feae4c8be00¤codeÙ)partial_trace(Ï�â‚€_composite, (1, 2, 2))¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$69fdfe8d-0de8-4c61-ace2-b20f70af52de„§cell_idÙ$69fdfe8d-0de8-4c61-ace2-b20f70af52de¤codeÙ,tlist = collect(range(0, 10; length = 1001))¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÃÙ$855b56e1-c95b-41e5-a933-57d6686a3c1e„§cell_idÙ$855b56e1-c95b-41e5-a933-57d6686a3c1e¤codeÙM["$(superop_labels[i]) ↔ $(superop_labels[j])" for (i, j) in zip(INZ, JNZ)]¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$6d064572-5af2-463b-8091-fb3defd36ef4„§cell_idÙ$6d064572-5af2-463b-8091-fb3defd36ef4¤codeºusing SparseArrays: findnz¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$109055a1-edc4-4c83-8262-99cdcae5b1a5„§cell_idÙ$109055a1-edc4-4c83-8262-99cdcae5b1a5¤codeÙDstates = propagate(Ï�â‚€, L, tlist; method = Newton, storage = true)¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f„§cell_idÙ$28f7b3c0-be79-4d30-99b1-dd90f9f30b3f¤codeÙ+using QuantumPropagators: propagate, Newton¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$2e405a3e-4b5e-489e-a651-5792ae26e089„§cell_idÙ$2e405a3e-4b5e-489e-a651-5792ae26e089¤code¹ð�Ÿ™ = [1.0 0.0; 0.0 1.0]¨metadataƒ©show_logsèdisabled®skip_as_script«code_foldedÂÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6„§cell_idÙ$0a7a7970-d66d-41ca-8cb8-7180d288c9e6¤codeÙ�plot(
tlist,
hcat([pops(states[:, i]) for i = 1:length(tlist)]...)';
xlabel = "time",
ylabel = "population",
label = ["|0⟩" "|1⟩"],
)¨metadataƒ©show_logsèdisabled®skip_as_script«code_folded«notebook_idÙ$fbe9d286-8ff3-11f0-3195-3f9d08dd8d6d«in_temp_dir¨metadata€