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

Q3mini

Guides

  • Fermionic Quantum Computation
  • Q3: Symbolic Quantum Simulation
  • Quantum Information Systems
  • Quantum Many-Body Systems
  • Quantum Spin Systems

Tech Notes

  • About Q3
  • Q3: Quick Start
  • Quantum Fourier Transform
  • Quantum Information Systems with Q3
  • Quantum Many-Body Systems with Q3
  • Quantum Operations
  • Quantum Spin Systems with Q3
  • Quantum States
  • Quantum Teleportation
  • Quick Quantum Computing with Q3

Symbols

  • Basis
  • Boson
  • Bra
  • CNOT
  • ControlledGate
  • ExpressionFor
  • Fermion
  • Heisenberg
  • Ket
  • Let
  • Majorana
  • Matrix
  • Multiply
  • NambuGreen
  • NambuHermitian
  • NambuMatrix
  • NambuUnitary
  • Pauli
  • Phase
  • QuantumCircuit
  • Qubit
  • Qudit
  • RandomWickCircuitSimulate
  • Rotation
  • Species
  • Spin
  • SWAP
  • WickCircuit
  • WickEntanglementEntropy
  • WickEntropy
  • WickGreenFunction
  • WickJump
  • WickLindbladSolve
  • WickLogarithmicNegativity
  • WickMeasurement
  • WickMonitor
  • WickMutualInformation
  • WickNonunitary
  • WickSimulate
  • WickState
  • WickUnitary

Overviews

  • The Postulates of Quantum Mechanics
  • Quantum Algorithms
  • Quantum Computation: Models
  • Quantum Computation: Overview
  • Quantum Error-Correction Codes
  • Quantum Information Theory
  • Quantum Noise and Decoherence
QuantumMob`Q3mini`
WickUnitary
​
WickUnitary
[r]
represents the Gaussian-type unitary operator that transforms
2n
Majorana fermion modes according to
2n×2n
orthogonal matrix
r:=MatrixExp[a]
associated with a
2n×2n
anti-symmetric matrix
a
.
​
​
WickUnitary
[{1,n}]
is equivalent to
WickUnitary
[
I
2n×2n
]
.
​
Details and Options

Examples  
(5)
Basic Examples  
(1)
Consider some fermion modes.
In[1]:=
$n=3;
Consider a unitary operator.
In[2]:=
SeedRandom[357];
In[3]:=
ham=Re@RandomAntisymmetric[2*$n];​​wu=WickUnitary[MatrixExp[ham]]
Out[3]=
WickUnitary
Target: All
Dimensions: {6,6}

Get the matrix representation in the computational basis.
In[4]:=
mat=Matrix[wu]//Chop;​​mat//ArrayShort
Out[4]//MatrixForm=
0.761713+0.479101
0
0
-0.0958183-0.146774
…
0
0.444503+0.37586
-0.691974+0.314491
0
…
0
0.170742+0.614613
0.462074+0.256298
0
…
0.292814+0.130956
0
0
0.744422+0.324297
…
…
…
…
…
…
Pick an initial state.
In[5]:=
in=RandomWickState[$n]
Out[5]=
WickState
Modes: 3
Prefactor: 1

Operate the unitary operator on the initial state.
In[6]:=
out=wu**in
Out[6]=
WickState
Modes: 3
Prefactor: 1

Convert the results to the vector representation.
In[7]:=
vin=Matrix[in];​​vin//ArrayShort
Out[7]=
{0,0.597393,0.33844+0.2461,0,…}
In[8]:=
vout=Matrix[out];​​vout//ArrayShort
Out[8]=
{0,0.183398,0.470325+0.0187807,0,…}
In[9]:=
mint=mat.vin//Chop;​​mint//ArrayShort
Out[9]=
{0,-0.00654079+0.183282,-0.0355426+0.469356,0,…}
The two results vout and mint look different, but that is due to a global phase factor. Note that the matrix representation of
WickState
is always in the canonical form.
In[10]:=
vout-CanonicalizeVector[mint]//ArrayZeroQ
Out[10]=
True
Now, let us verify the above result using the conventional method.
Consider a specific set of fermion modes for analysis.
In[11]:=
Let[Fermion,a]​​aa=a[Range@$n]
Out[11]=
{
a
1
,
a
2
,
a
3
}
In[12]:=
Let[Majorana,c]​​cc=c@Range[2$n]
Out[12]=
{
c
1
,
c
2
,
c
3
,
c
4
,
c
5
,
c
6
}
In[13]:=
hamOp=MultiplyDot[cc,ham.cc]*I/4;​​hamOp=ToDirac[hamOp,ccaa];​​uni=MatrixExp[-I*Matrix[hamOp,aa]]
Out[13]=
SparseArray
Specified elements: 32
Dimensions: {8,8}

In[14]:=
uni-mat//Chop//ArrayZeroQ
Out[14]=
True
Scope  
(4)

SeeAlso
WickState
 
▪
WickNonunitary
 
▪
NambuUnitary
TechNotes
▪
Majorana Fermions
▪
Quantum Many-Body Systems with Q3
▪
Q3: Quick Start
RelatedGuides
▪
Fermionic Quantum Computation
▪
Quantum Many-Body Systems
▪
Q3: Symbolic Quantum Simulation
RelatedLinks
▪
S. Bravyi and R. König (2012)
, Quantum Information & Computation 12, 925 (2012), "Classical simulation of dissipative fermionic linear optics."
▪
S. Bravyi (2005)
, Quantum Information & Computation 5, 216 (2005), "Lagrangian representation for fermionic linear optics."
▪
S. Bravyi and A. Y. Kitaev (2002)
, Annals of Physics 298, 210 (2002),"Fermionic Quantum Computation."
▪
B. M. Terhal and D. P. DiVincenzo (2002)
, Physical Review A 65, 032325, "Classical simulation of
noninteracting
-fermion quantum circuits."
▪
Mahn-Soo Choi (2022)
, A Quantum Computation Workbook (Springer).
""

© 2025 Wolfram. All rights reserved.

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