Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

QuantumPlaybook

Guides

  • QuantumPlaybook

Tech Notes

  • Addition of Numbers
  • Baker-Hausdorff Lemma
  • Chiral Fermion Random Circuit
  • Clifford Operators: How to Test
  • Commutation Relations for Qubits
  • Entanglement Distillation
  • Generalized Pauli Operators: Implementation
  • Hatano-Nelson-Kitaev Model: Monte Carlo Simulation
  • Hatano-Nelson Model: Monte Carlo Simulation
  • Kitaev Chain
  • Kitaev Random Circuit
  • Λ-Matter in a Cavity
  • Measurement of Total Pauli Z
  • Non-Unitary Dynamics of Quantum States
  • Partial Trace: Physical Meaning
  • Quantum Dot Systems
  • A Quantum Playbook
  • Magnetic Exchange Coupling
  • Solovay-Kitaev Algorithm
  • Spin Code
  • Symmetry Effects On Quantum Master Equations
  • Transmon: Quantum Phase Model
  • Transposition as a Supermap
  • Variational Quantum Classifier: Iris
  • Variational Quantum Classifier: Parity
  • Variational Quantum Eigensolver: Transverse-Field Ising Model

Symbols

  • BlochEnergy
  • BlochFunction
  • QuantumPlaybookCheckUpdate
  • QuantumPlaybookEdition
  • QuantumPlaybookUpdate
  • TransmonEnergy
  • TransmonExponent
  • TransmonFunction
  • TransmonHamiltonian
Hatano-Nelson Model: Monte Carlo Simulation
The Model
Monte Carlo Simulation: Projective Model
Monte Carlo Simulation: Dissipative Model
​
The Hatano-Nelson model is a non-Hermitian Hamiltonian model of fermionic modes exhibiting the so-called skin effect. It was introduced by Hatano and Nelson in 1996, originally, in the context of localization transitions, and later applied to describe vortex pinning in superconductors (Hatano and Nelson, 1997). The non-hermicity and associated skin effect come from quantum dissipative processes through a coupling to the bath (Kawabata, Numasawa and Ryu, 2023).
This tutorial presents a simulation of the quantum master equation of the Hatano-Nelson model.
WickState
Represents a fermionic Gaussian state.
WickNonunitary
Represents a non-unitary evolution operator associated with local quadratic non-Hermitian Hamiltonian
WickJump
Represents a set of quantum jump operators
WickSimulate
Simulates the quantum master equation for a dissipative fermionic system
Q3 functions for the Monte Carlo simulation of open quantum systems of non-interacting fermions.
The Model
Make sure that Q3 is loaded.
In[1]:=
Needs["QuantumMob`Q3`"]
Set the number of fermion modes to consider.
In[81]:=
$L=6;
Although unnecessary for simulation itself in the below, here we need to choose a specific set of fermion modes to examine the model.
In[6]:=
Let[Fermion,c]​​cc=c[Range@$L]
Out[7]=
{
c
1
,
c
2
,
c
3
,
c
4
,
c
5
,
c
6
}
We consider auxiliary fermion modes for convenience. They will be used mainly to describe the quantum jump operators.
In[8]:=
Let[Fermion,a,b]​​aa=a[Range[$L-1]]​​bb=b[Range[$L-1]]
Out[9]=
{
a
1
,
a
2
,
a
3
,
a
4
,
a
5
}
Out[10]=
{
b
1
,
b
2
,
b
3
,
b
4
,
b
5
}
The hopping amplitude.
In[11]:=
Let[Real,J]
The single-particle Hamiltonian.
In[12]:=
hamOp=-J*Hop[cc]//PlusDagger​​ham=CoefficientTensor[hamOp,Dagger@cc,cc];​​ham//ArrayShort
Out[12]=
-J
†
c
1
c
2
+
†
c
2
c
3
+
†
c
3
c
4
+
†
c
4
c
5
+
†
c
5
c
6
-J
†
c
2
c
1
+
†
c
3
c
2
+
†
c
4
c
3
+
†
c
5
c
4
+
†
c
6
c
5

Out[14]//MatrixForm=
0
-J
0
0
…
-J
0
-J
0
…
0
-J
0
-J
…
0
0
-J
0
…
…
…
…
…
…

Dissipative Model

Construct the quantum jump operators.
In[15]:=
a[k_]:=(c[k]+I*c[k+1])/Sqrt[2]​​b[k_]:=(c[k]-I*c[k+1])/Sqrt[2]​​ab=Join[aa,Dagger@bb];​​ab//TableForm
Out[18]//TableForm=
c
1
+
c
2
2
c
2
+
c
3
2
c
3
+
c
4
2
c
4
+
c
5
2
c
5
+
c
6
2
†
c
1
+
†
c
2
2
†
c
2
+
†
c
3
2
†
c
3
+
†
c
4
2
†
c
4
+
†
c
5
2
†
c
5
+
†
c
6
2
Construct the effective non-Hermitian Hamiltonian, which results in the so-called Hatano-Nelson model.
In[19]:=
dmpOp=γ*Total[Dagger[ab]**ab]//Garner
Out[19]=
5γ+γ
†
c
1
c
2
-γ
†
c
2
c
1
+γ
†
c
2
c
3
-γ
†
c
3
c
2
+γ
†
c
3
c
4
-γ
†
c
4
c
3
+γ
†
c
4
c
5
-γ
†
c
5
c
4
+γ
†
c
5
c
6
-γ
†
c
6
c
5
In[20]:=
nonOp=hamOp-I*dmpOp//Garner
Out[20]=
-5γ+(-J+γ)
†
c
1
c
2
+(-J-γ)
†
c
2
c
1
+(-J+γ)
†
c
2
c
3
+(-J-γ)
†
c
3
c
2
+(-J+γ)
†
c
3
c
4
+(-J-γ)
†
c
4
c
3
+(-J+γ)
†
c
4
c
5
+(-J-γ)
†
c
5
c
4
+(-J+γ)
†
c
5
c
6
+(-J-γ)
†
c
6
c
5
In[21]:=
non=CoefficientTensor[nonOp,Dagger@cc,cc];​​-non//ArrayShort
Out[22]//MatrixForm=
0
J-γ
0
0
…
J+γ
0
J-γ
0
…
0
J+γ
0
J-γ
…
0
0
J+γ
0
…
…
…
…
…
…

Projective Model

Another choice of quantum jump operators that leads to the same Hatano-Nelson Hamiltonian is the projection operators
L
2k-1
:=
†
a
k
a
k
and
L
2k
:=
b
k
†
b
k
, where
a
k
and
b
k
are the auxiliary fermion modes defined above.
In[23]:=
prj=Dagger[ab]**ab
Out[23]=

1
2
†
c
1
c
1
+
1
2

†
c
1
c
2
-
1
2

†
c
2
c
1
+
1
2
†
c
2
c
2
,
1
2
†
c
2
c
2
+
1
2

†
c
2
c
3
-
1
2

†
c
3
c
2
+
1
2
†
c
3
c
3
,
1
2
†
c
3
c
3
+
1
2

†
c
3
c
4
-
1
2

†
c
4
c
3
+
1
2
†
c
4
c
4
,
1
2
†
c
4
c
4
+
1
2

†
c
4
c
5
-
1
2

†
c
5
c
4
+
1
2
†
c
5
c
5
,
1
2
†
c
5
c
5
+
1
2

†
c
5
c
6
-
1
2

†
c
6
c
5
+
1
2
†
c
6
c
6
,1-
1
2
†
c
1
c
1
+
1
2

†
c
1
c
2
-
1
2

†
c
2
c
1
-
1
2
†
c
2
c
2
,1-
1
2
†
c
2
c
2
+
1
2

†
c
2
c
3
-
1
2

†
c
3
c
2
-
1
2
†
c
3
c
3
,1-
1
2
†
c
3
c
3
+
1
2

†
c
3
c
4
-
1
2

†
c
4
c
3
-
1
2
†
c
4
c
4
,1-
1
2
†
c
4
c
4
+
1
2

†
c
4
c
5
-
1
2

†
c
5
c
4
-
1
2
†
c
5
c
5
,1-
1
2
†
c
5
c
5
+
1
2

†
c
5
c
6
-
1
2

†
c
6
c
5
-
1
2
†
c
6
c
6

Since
†
a
k
a
k
and
b
k
†
b
k
are projection operators, it is clear that they reproduces the same effective damping operator;
Σ
μ
†
L
μ
L
μ
=
Σ
k
†
a
k
a
k
+
Σ
k
†
b
k
b
k
=2G
.
In[24]:=
dmpOp=γ*Total[prj]
Out[24]=
γ5+
†
c
1
c
2
-
†
c
2
c
1
+
†
c
2
c
3
-
†
c
3
c
2
+
†
c
3
c
4
-
†
c
4
c
3
+
†
c
4
c
5
-
†
c
5
c
4
+
†
c
5
c
6
-
†
c
6
c
5

Monte Carlo Simulation: Dissipative Model

Setting Up the Model

Here, we construct the model without referring to any specific set of fermion modes.
Make sure that Q3 is loaded.
In[52]:=
Needs["QuantumMob`Q3`"]
Set the number of fermion modes.
In[2]:=
$L=6;
Construct the single-particle Hamiltonian matrix.
In[3]:=
$J=2;
In[4]:=
tmp=PlusTopple[-$J*One[{$L,$L},1]];​​tmp=NambuHermitian[{tmp,0}]​​tmp//ArrayShort
Again, convert the quantum jump operation to the Majorana fermion representation for efficiency.
Note that the stored coefficients are those of Majorana operators.
Check the effective non-Hermitian Hamiltonian (for a single-particle)

Monte Carlo Simulation

Let us now perform the Monte-Carlo simulation on the Hatano-Nelson model.
Pick an initial state with half filling.
To reproduce exactly the same simulation results, seed the random processor.
Dot the simulation.
Check some basic things about the data
Check the normalization of the output states.

Entanglement Properties

Choose a subsystem.
Calculate the entanglement entropy (EE) between the subsystem and the rest..
Check the entanglement entropy as a function of time.
Calculate the mutual information (MI) between the subsystem and the rest..
Check the mutual information as a function of time.
Calculate the logarithmic negativity (LN) between the subsystem and the rest..
Check the logarithmic negativity as a function of time.
Construct approximate density matrices by taking averages of the covariance matrices in different trajectories, and calculate the logarithmic negativity (LN) between the subsystem and the rest in the density matrices.
Check the logarithmic negativity as a function of time.

Green's Functions

Monte Carlo Simulation: Projective Model
Let us now consider the projective model for the Hatano-Nelson Hamiltonian. In this case, each quantum jump operators are projection operators, and the problem can be regarded as a continuous monitoring of the dressed fermion modes.

Setting Up the Model

Make sure that Q3 is loaded.
Set the number of fermion modes.
Construct the single-particle Hamiltonian matrix.
Note that the stored coefficients are those of Majorana operators.

Monte Carlo Simulation

Let us now perform the Monte-Carlo simulation on the projective model for Hatano-Nelson Hamiltonian.
Pick an initial state with half filling.
Dot the simulation.

Entanglement Properties

Choose a subsystem.
Calculate the entanglement entropy (EE) between the subsystem and the rest..
Check the entanglement entropy as a function of time.
Calculate the mutual information (MI) between the subsystem and the rest..
Plot the mutual information as a function of time.
Calculate the logarithmic negativity (LN) between the subsystem and the rest..
Plot the logarithmic negativity as a function of time.
Construct approximate density matrices by taking averages of the covariance matrices in different trajectories, and calculate the logarithmic negativity (LN) between the subsystem and the rest in the density matrices.
Check the logarithmic negativity as a function of time.

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com