@@ -43,32 +43,38 @@ where :math:`\sigma^+ = \ket{g}\!\bra{e}` and
4343Equations 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
100106constraint
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
117123In 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
119125code, 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
139145generated with list comprehension.
140146
141147The 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
143149states.
144150
145151Making 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
198204function and is subsequently used to transform between the complex and
199205real bases.
200206
0 commit comments