The Quantum Stochastic Master Equation (SME) describes the evolution of an open quantum system interacting with its environment in a probabilistic manner. It extends the Lindblad master equation by incorporating stochastic noise, often modeled using quantum Wiener or Poisson processes. QSMEs are crucial for understanding decoherence, quantum measurement dynamics, and feedback control in quantum information processing. Implementation is used from: Pierre Rouchon, Jason F. Ralph (2015), Efficient Quantum Filtering for Quantum Feedback Control. Phys. Rev. A 91, 012118. https://doi.org/10.1103/PhysRevA.91.012118
Dynamical equation of the quantum system:
ρ=t-i[H,ρ]+ρ-,ρ+ρ-,ρ+ρ+ρ-Trρ+ρρ
∑
i
Γ
i
V
i
†
V
i
1
2
†
V
i
V
i
∑
i
γ
i
L
i
†
L
i
1
2
†
L
i
L
i
∑
i
η
i
w
i
γ
i
L
i
†
L
i
L
i
†
L
i
There are jump/Lindblad operators due to the environment, denoted by , that contribute only as decoherence term in the dynamical equation (deterministic) with the decoherence rate .
There are jump/Lindblad operators due to the monitoring of the system (with a corresponding readout), denoted by, that contribute as decoherence terms and also stochastic terms in the dynamical equation, with the decoherence rate of and the measurement channel efficiency of . Their corresponding output signal reads as
V
i
Γ
i
There are jump/Lindblad operators due to the monitoring of the system (with a corresponding readout), denoted by
L
i
γ
i
η
i
=tTrρ++
R
j
η
i
L
i
†
L
i
w
i
We have implemented the efficient numerical scheme proposed in this paper: https://arxiv.org/pdf/1410.5345
The main function for simulation is the following one:
The main function for simulation is the following one:
[,H,L,η,V,δt,
ρ
0
t
f
The function for manual evolution, with ρ the initial state,
H
L
V
t
f
We call it manual evolution because we do not use numerical features of Mathematica such as NDSolve or ItoProcess. The main reason for that is we were not able to using those functionalities while preserving important features of a Bloch sphere dynamics.
The readout currents are sowed in .
ℒ[ρ]=-i[Ωσx,ρ]+γD[σz] and γ >> Ω
ℒ[ρ]=-i[,ρ]+γD[]
Ωσ
x
σ
z
Hamiltonian, jump operators and damping rates:
ℒ[ρ]=-i[,ρ]+γD[]
Ωσ
x
σ
z
In[]:=
SeedRandom[1];Ω=1.0;H=ΩQuantumOperator["X"];
Jump operators and damping rates (note they are List):
In[]:=
γs={2.0};Ls={QuantumOperator["Z"]};
Time increment and final time:
In[]:=
δt=0.005;tf=20.;
Initial state:
In[]:=
ρ0=QuantumState["0"];
Solve the Lindblad master equation for the density matrix: ρ=-i[H,ρ]+ρ-,ρ
∂
t
∑
i
γ
i
L
i
†
L
i
1
2
†
L
i
L
i
In[]:=
ρt=QuantumEvolve[H,Ls->γs,ρ0,{t,0,tf}]
Out[]=
In[]:=
MatchQ[{1},None]
Out[]=
False
trajectory=ρ0,H,
γs
Ls,δt,tf;//AbsoluteTimingOut[]=
{10.7171,Null}
Check if any un-physical state:
In[]:=
PositiveSemidefiniteMatrixQ/@trajectory//Tally
Out[]=
{{True,4001}}
In[]:=
bloch=Table[Re@Tr[#.PauliMatrix[i]],{i,3}]&/@trajectory;
In[]:=
ListLinePlot[Transpose[bloch]]
Out[]=
For each trajectory, find Bloch vector:
In[]:=
Show[QuantumState["UniformMixture"]["BlochPlot"],ListLinePlot3D[bloch]]
Out[]=
ℒ[ρ]=-i[Ωσx,ρ]+γD[σz] and γ << Ω
ℒ[ρ]=-i[,ρ]+γD[]
Ωσ
x
σ
z
Hamiltonian, jump operators and damping rates:
ℒ[ρ]=-i[,ρ]+γD[]
Ωσ
x
σ
z
In[]:=
SeedRandom[1];Ω=1.0;H=ΩQuantumOperator["X"];
Jump operators and damping rates (note they are List):
In[]:=
γs={.1};Ls={QuantumOperator["Z"]};
Time increment and final time:
In[]:=
δt=0.005;tf=20.;
Initial state:
In[]:=
ρ0=QuantumState["0"];
Solve the Lindblad master equation for the density matrix: ρ=-i[H,ρ]+ρ-,ρ
∂
t
∑
i
γ
i
L
i
†
L
i
1
2
†
L
i
L
i
In[]:=
ρt=QuantumEvolve[H,Ls->γs,ρ0,{t,0,tf}]
Out[]=
Plot the evolution:
In[]:=
Plot[Evaluate@Re@ρt[t]["BlochVector"],{t,0,tf},PlotRange->All]
Out[]=
In[]:=
average=Table[Evaluate@Re[ρt[t]["BlochVector"]],{t,0,tf,δt}]//Transpose;
In[]:=
trajectory=ρ0,H,
γs
Ls,δt,tf;//AbsoluteTimingOut[]=
{0.116607,Null}
Check if any un-physical state:
In[]:=
PositiveSemidefiniteMatrixQ/@trajectory//Tally
Out[]=
{{True,4001}}
In[]:=
bloch=Table[Re@Tr[#.PauliMatrix[i]],{i,3}]&/@trajectory;
Visualize them:
In[]:=
Table[ListLinePlot[Transpose[{Range[0,tf,δt],#}]&/@{average[[i]],Transpose@bloch[[All,i]]}],{i,3}]
Out[]=
,
,
Diffusion for spontaneous emission
Diffusion for spontaneous emission
Hamiltonian, jump operators and damping rates:
In[]:=
SeedRandom[1];Δ=1.;Ω=2.;H=1/2(ΩQuantumOperator["X"]+ΔQuantumOperator["Z"]);
Jump operators and damping rates (note they are List):
In[]:=
γs={.2};Ls={QuantumOperator["J-"]};
Time increment and final time:
Initial state:
Plot the evolution:
Check if any un-physical state:
Reproducing Fig. 4.6 of Wiseman and Milburn
Reproducing Fig. 4.6 of Wiseman and Milburn
Exp #1
Exp #1
Hamiltonian, jump operators and damping rates:
Jump operators and damping rates (note they are List):
Time increment and final time:
Initial state:
Plot the evolution:
Manual simulation:
Check if any un-physical state:
Exp #2
Exp #2
Hamiltonian, jump operators and damping rates:
Jump operators and damping rates (note they are List):
Time increment and final time:
Initial state:
Plot the evolution:
Manual
Check if any un-physical state:
Two-point function for the stochastic homodyne current
Two-point function for the stochastic homodyne current
Hamiltonian, jump operators and damping rates:
Jump operators and damping rates (note they are List):
Time increment and final time:
Initial state:
Generate trajectory and output currents:
Check if any un-physical state:
Since only one jump operator being monitored, only one current:
Two point correlations:
Initialization
Initialization
In[]:=
Install quantum paclet
Install quantum paclet
Manual evolution
Manual evolution
Two point correlation and Butterworth filter
Two point correlation and Butterworth filter
Gabriel’ s function :
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Quantum stochastic master equation (SME)
by Mohammad Bahrami
Wolfram Community, STAFF PICKS, January 31, 2025
https://community.wolfram.com/groups/-/m/t/3368265
by Mohammad Bahrami
Wolfram Community, STAFF PICKS, January 31, 2025
https://community.wolfram.com/groups/-/m/t/3368265