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
Symmetry Effects On Quantum Master Equations
This demonstration illustrates the effects of permutation symmetry on quantum master equations. Although we consider only permutation symmetry, the essential idea may apply to any symmetry.
Permutation
Permutation operator
KetPermute
Permute the logical values in each Ket[…] or Ket[<|…|>]
Supermap
Describes the quantum operations
ChoiMatrix
The Choi matrix of a supermap
LindbladGenerator
Describes the Lindblad equations
LindbladBasis
A basis of matrices or operators that are all traceless except for one.
LindbladConvert
Converts the Lindblad equation into a normal linear differential equation
LindbladSolve
Solves the Lindblad equation
NLindbladSolve
Finds a numerical solution to a given Lindblad equation
Functions useful to handle quantum operations.
Make sure that the
Q3 package
is loaded to use the demonstrations in this documentation.
In[75]:=
Needs["QuantumMob`Q3`"]
Throughout this document, symbol S will be used to denote qubits and Pauli operators on them.
In[76]:=
Let[Qubit,S]
Here are some shortcut utilities.
In[77]:=
toYoungForm[gg:{_?GelfandPatternQ,__}]:=Map[toYoungForm,gg];​​toYoungForm[gp_?GelfandPatternQ]:=YoungForm@ToYoungTableau@gp;​​toYoungForm[bs_Association]:=KeyMap[toYoungForm,toYoungForm/@bs];​​toYoungForm[other_]:=other
Three-Qubit Case
Consider a system of three (or more) qubits, which involves irreducible subspaces of larger than one dimensions.
In[81]:=
$n=3;​​kk=Range[$n];​​SS=S[kk,$];

Initial State

Start with constructing the Schur basis.
The first four irreducible representations are one-dimensional and equivalent to one another. The last two irreducible representations are two-dimensional and equivalent to each other.
In[89]:=
bs=SchurBasis[SS];​​bs=KeyGroupBy[bs,Last,Values];​​toYoungForm[bs]​​bb=Catenate[bs];
Out[91]=

1
1
1

0
S
1
0
S
2
0
S
3
,
1
1
2


0
S
1
0
S
2
1
S
3

3
+

0
S
1
1
S
2
0
S
3

3
+

1
S
1
0
S
2
0
S
3

3
,
1
2
2


0
S
1
1
S
2
1
S
3

3
+

1
S
1
0
S
2
1
S
3

3
+

1
S
1
1
S
2
0
S
3

3
,
2
2
2

1
S
1
1
S
2
1
S
3
,
1
1
2
​

2
3

0
S
1
0
S
2
1
S
3
-

0
S
1
1
S
2
0
S
3

6
-

1
S
1
0
S
2
0
S
3

6
,

0
S
1
1
S
2
0
S
3

2
-

1
S
1
0
S
2
0
S
3

2
,
1
2
2
​


0
S
1
1
S
2
1
S
3

6
+

1
S
1
0
S
2
1
S
3

6
-
2
3

1
S
1
1
S
2
0
S
3
,

0
S
1
1
S
2
1
S
3

2
-

1
S
1
0
S
2
1
S
3

2

Take an initial state. This is the most general form of density matrix that is invariant under the symmetric group.
In[93]:=
mat=RandomMatrix[4]⊕(RandomMatrix[2]⊗One[2]);​​mat=Topple[mat].mat;​​mat=Chop[mat/Tr[mat]];​​mat//MatrixForm​​dd=Outer[Dyad[#1,#2,SS]&,bb,bb];​​in=Total@Flatten[dd*mat];
Out[96]//MatrixForm=
0.253062
-0.0192915+0.00759828
0.00503343+0.0338309
-0.0464404-0.00876152
0
0
0
0
-0.0192915-0.00759828
0.157611
-0.0302057-0.00869276
-0.0104722-0.0673122
0
0
0
0
0.00503343-0.0338309
-0.0302057+0.00869276
0.121335
0.0973724-0.0398234
0
0
0
0
-0.0464404+0.00876152
-0.0104722+0.0673122
0.0973724+0.0398234
0.190283
0
0
0
0
0
0
0
0
0.0661748
0
-0.0274016+0.0502753
0
0
0
0
0
0
0.0661748
0
-0.0274016+0.0502753
0
0
0
0
-0.0274016-0.0502753
0
0.0726803
0
0
0
0
0
0
-0.0274016-0.0502753
0
0.0726803
Check that the matrix representation in the Schur basis is the same as the intended matrix.
In[99]:=
new=MatrixIn[in,bb];​​new-mat//Chop//MatrixForm
Out[100]//MatrixForm=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Check that the initial state is a density operator (a positive operator with unit trace).
In[101]:=
Eigenvalues[mat]​​Tr[mat]
Out[101]=
{0.310083,0.250664,0.147245,0.126778,0.126778,0.0142987,0.0120775,0.0120775}
Out[102]=
1.
Check also that the initial state is invariant under all symmetry transformations in the symmetric group. It suffices to test with transpositions, which are generators of the symmetric group.
In[103]:=
cyc=Permutation[#,SS]&/@Cycles/@List/@Subsets[kk,{2}]
Out[103]=
{Permutation[Cycles[{{1,2}}],{
S
1
,
S
2
,
S
3
}],Permutation[Cycles[{{1,3}}],{
S
1
,
S
2
,
S
3
}],Permutation[Cycles[{{2,3}}],{
S
1
,
S
2
,
S
3
}]}
In[104]:=
new=cyc〚1〛**in**cyc〚1〛;​​new-in//Garner//Chop​​new=cyc〚2〛**in**cyc〚2〛;​​new-in//Garner//Chop​​new=cyc〚3〛**in**cyc〚3〛;​​new-in//Garner//Chop
Out[105]=
0
Out[107]=
0
Out[109]=
0

Lindblad Equation

Let us now construct the Lindblad equation.
In[110]:=
Let[Real,B];opH=Total@Map[Total[S[First@#,All]**S[Last@#,All]]&,Subsets[kk,{2}]]+B*Total@S[kk,3]
Out[110]=
x
S
1
x
S
2
+
x
S
1
x
S
3
+
y
S
1
y
S
2
+
y
S
1
y
S
3
+
z
S
1
z
S
2
+
z
S
1
z
S
3
+
x
S
2
x
S
3
+
y
S
2
y
S
3
+
z
S
2
z
S
3
+B
z
S
1
+
z
S
2
+
z
S
3

Check that the Hamiltonian is invariant under the symmetric group.
In[111]:=
cyc〚1〛**opH**cyc〚1〛-opH//Elaborate​​cyc〚2〛**opH**cyc〚2〛-opH//Elaborate​​cyc〚3〛**opH**cyc〚3〛-opH//Elaborate
Out[111]=
0
Out[112]=
0
Out[113]=
0
In[114]:=
Let[Real,Γ]​​opL=Join[Sqrt[Γ["+"]]S[kk,4],Sqrt[Γ["-"]]S[kk,5]]
Out[115]=

+
S
1
Γ
+
,
+
S
2
Γ
+
,
+
S
3
Γ
+
,
-
S
1
Γ
-
,
-
S
2
Γ
-
,
-
S
3
Γ
-

In[116]:=
ops=Prepend[opL,opH];​​MatrixForm/@ops
Out[117]=

x
S
1
x
S
2
+
x
S
1
x
S
3
+
y
S
1
y
S
2
+
y
S
1
y
S
3
+
z
S
1
z
S
2
+
z
S
1
z
S
3
+
x
S
2
x
S
3
+
y
S
2
y
S
3
+
z
S
2
z
S
3
+B
z
S
1
+
z
S
2
+
z
S
3
,
+
S
1
Γ
+
,
+
S
2
Γ
+
,
+
S
3
Γ
+
,
-
S
1
Γ
-
,
-
S
2
Γ
-
,
-
S
3
Γ
-

Here is the solution to the Lindblad equation.
In[118]:=
Clear[rho]​​$tmax=5;​​rho[t_]=Block[​​{Γ,B},​​Γ["+"]=.3;​​Γ["-"]=.7;​​B=0.2;​​NLindbladSolve[ops,in,{t,0,$tmax}]​​];
Here is a typical output state.

Verifying the Solutions

Choose a output state at a particular time. Note that the time must be smaller than $tmax chosen when numerically solving the Lindblad equation.
Check that any output state is invariant under all transpositions (and hence under the whole symmetric group).
The invariance also implies that any output state must be block diagonal in the Schur basis grouped by the standard Young tableaux.
In this arrangement of the Schur basis, the initial as well as output state must be block diagonal.

Conclusion

So far, we have verified the numerical solution in several ways.
Now, let us get back to the point and examine whether the Lindblad equation may be solved separately in each irreducible subspaces specified by the Schur basis. The answer is no. You can see this by noting that the trace in each block is not conserved.
Note that the (overall) trace is preserved.

© 2025 Wolfram. All rights reserved.

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