Skip to content

Commit 6cd84bc

Browse files
committed
Improve EOM physics docs
1 parent 9668450 commit 6cd84bc

1 file changed

Lines changed: 24 additions & 18 deletions

File tree

docs/source/writeups/eom_notes.rst

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,32 +43,38 @@ where :math:`\sigma^+ = \ket{g}\!\bra{e}` and
4343
Equations of Motion
4444
-------------------
4545

46-
The Master equation is,
46+
The Master equation that governs system dynamics used by Rydiqule is the `Linbladian <https://en.wikipedia.org/wiki/Lindbladian>`_.
47+
It is a semi-classical formulation of the Schoedinger equation for use in open quantum systems.
4748

48-
.. math:: \dot{\rho} = -i[H,\rho]-\mathcal{L}
49+
.. math:: \dot{\rho} = -\frac{i}{\hbar}[H,\rho]-\mathcal{L}
4950

50-
We write this in summation notation,
51+
This can be written in summation notation (using Kronnecker deltas),
5152

52-
.. math:: \dot{\rho}_{ij} = -i(H_{ik}\rho_{kj}-\rho_{ik}H_{kj}) - L_{ij}
53+
.. math::
54+
55+
\dot{\rho}_{ij}=-\frac{i}{\hbar}\left(H_{ik}\rho_{kj}
56+
- \rho_{ik}H_{kj}\right)
57+
+ \sum_{m,n}\frac{\Gamma_{mn}}{2}\left(2\delta_{ij}\rho_{mm}
58+
- \delta_{mi}\rho_{ij}-\delta_{mj}\rho_{ij}\right)
5359
54-
More, generally, we can re-write this equation as a matrix equation,
60+
More generally, we can re-write the system of equations as a super-operator,
5561

5662
.. math:: \dot{\rho}_{ij} = R_{ik}\rho_{kj}
5763

58-
By re-shaping these equations, using ``numpy.reshape``, we can convert
59-
this into a linear set of differential equations in matrix form (see,
60-
for example ``Sensor._hamiltonian_term()`` and
61-
``Sensor._decoherence_term()`` in Rydiqule). I am not going to focus on
62-
these right now. I will call the re-shaped density vector :math:`p`
64+
By re-shaping these equations, using :external+numpy:func:`numpy.reshape`, we can convert
65+
this into a linear set of differential equations in matrix form (see :func:`~.generate_eom()`).
66+
With the re-shaped density vector :math:`p`, the equations of motion become
6367

6468
.. math::
6569
6670
\label{eq:master}
6771
\dot{p}_l = M_{li}p_{i}
6872
6973
This is a linear set of equations we can easily solve with
70-
``linalg.solve``. As a note, our reshaping procedure produces a **basis
71-
that is**, for basis size **b**
74+
:external+numpy:func:`numpy.linalg.solve`.
75+
76+
Our reshaping procedure defines a new computational basis
77+
that is, for basis size b,
7278

7379
.. math:: l = b\times j+i
7480

@@ -99,9 +105,9 @@ instability is to algebraically remove one of the equations of motion
99105
(ie the ground state). To remove the ground state, we apply the
100106
constraint
101107

102-
.. math:: \rho_{00} = 1-\rho_{ii}.
108+
.. math:: \rho_{00} = 1-\sum_i\rho_{ii}.
103109

104-
Writing this in terms of :math:`\rho'` gives,
110+
Writing this in terms of :math:`p` gives,
105111

106112
.. math:: p_0 = 1-\sum_{x} p_{[(b+1)\times x]}
107113

@@ -110,12 +116,12 @@ We use this to re-write Eq. \\ref{eq:master},
110116
.. math::
111117
112118
\label{eq:groundRemoved}
113-
\dot{p}_l = M_{li}p_{i} - M_{l0}p_{0} + M_{l0}(1-\sum_{x} p_{[(b+1)\times x]})
119+
\dot{p}_l = M_{li}p_{i} - M_{l0}p_{0} + M_{l0}\left(1-\sum_{x} p_{[(b+1)\times x]}\right)
114120
115121
This is the equation we must implement to remove the ground state.
116122

117123
In the code, we can apply Eq. \\ref{eq:groundRemoved}
118-
and then we can simply remove the first column of :math:`M_{il}`. In the
124+
and then we can simply remove the first column of :math:`M_{li}`. In the
119125
code, we implement this transformation by replacing the set of equations
120126
:math:`M_{li}`,
121127

@@ -139,7 +145,7 @@ where :math:`M_{i0}` is just :math:`M[:,0]` and
139145
generated with list comprehension.
140146

141147
The end result is an equation where each ground state term of the
142-
density matrix :math:`\rho_00` is replaced by the sum of all excited
148+
density matrix :math:`\rho_{00}` is replaced by the sum of all excited
143149
states.
144150

145151
Making the Equations Real
@@ -194,7 +200,7 @@ up to a scale factor,
194200
M_r &= U\cdot M_c \cdot U^{-1}\\
195201
c_r &= U\cdot c_c \end{aligned}
196202
197-
This matrix is calculated in the ``get_basis_transformation()`` helper
203+
This matrix is calculated in the :func:`~.get_basis_transform` helper
198204
function and is subsequently used to transform between the complex and
199205
real bases.
200206

0 commit comments

Comments
 (0)