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`
WickState
​
WickState
[{nrm,cvr}]
represents a fermionic Gaussian state with covariance matrix
cvr
in the Majorana spinor space and trace
nrm
(i.e., norm square in the case of pure state).
​
​
WickState
[{
n
1
,
n
2
,…},m]
returns a WickState object corresponding to the computational basis state
|
n
1
,
n
2
,…〉
of
m
fermion modes. If the list of occupation numbers
{
n
1
,
n
2
,…}
is shorter (or longer) than
m
, then the occupation numbers are cyclically repeated (or the list is simply cut).
​
Details and Options

Examples  
(9)
Basic Examples  
(5)
We will consider a fixed number of bare fermion modes.
In[1]:=
$n=5;
Consider a quantum state filling every two fermion modes.
In[2]:=
in=WickState[{1,0},$n]
Out[2]=
WickState
Modes: 5
Prefactor: 1

To examine the Wick state in more common forms, let consider a labeled fermion modes.
In[3]:=
Let[Fermion,c]​​cc=c[Range@$n]
Out[3]=
{
c
1
,
c
2
,
c
3
,
c
4
,
c
5
}
Convince yourself that the Wick state form is equivalent to the conventional form.
In[4]:=
ExpressionFor[in,cc]
Out[4]=

1
c
1
0
c
2
1
c
3
0
c
4
1
c
5

In[5]:=
Matrix[in,cc]//IntegerChop//Normal
Out[5]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0}
​
Consider a unitary time-evolution operator.
In[1]:=
SeedRandom[370];
In[2]:=
wu=RandomWickUnitary[$n]
Out[2]=
WickUnitary
Target: All
Dimensions: {10,10}

In[3]:=
out=wu**in
Out[3]=
WickState
Modes: 5
Prefactor: 1

In[4]:=
Matrix[out]//ArrayShort
Out[4]=
{0,0.452764,0.264602-0.239179,0,…}
​
Consider a measurement of the occupation number of the 2nd fermion mode.
In[1]:=
msr=WickMeasurement[2]
Out[1]=
WickMeasurement[2]
Prepare a state.
In[2]:=
ket=wu**in
Out[2]=
WickState
Modes: 5
Prefactor: 1

Perform the measurement on the above state.
In[3]:=
out=msr**ket
Out[3]=
WickState
Modes: 5
Prefactor: 1

In[4]:=
Matrix[out]//ArrayShort
Out[4]=
{0,0.588577,0.343973-0.310924,0,…}
​
Consider a quantum jump operator.
In[1]:=
jmp=RandomWickJump[3,$n]
Out[1]=
WickJump
Target: All
Modes: 10
Operators: 3

Operate the quantum jump operator.
In[2]:=
out=jmp**in
Out[2]=
WickState
Modes: 5
Prefactor: 1

In this case, the state is normalized since the process causes a "collapse" of the wave function.
In[3]:=
NormSquare[out]
Out[3]=
1
​
Consider a non-unitary time-evolution operator.
In[1]:=
non=RandomWickNonunitary[$n]
Out[1]=
WickNonunitary
Modes: 5
Constant: 0

Operate the non-unitary evolution operator.
In[2]:=
out=non**in
Out[2]=
WickState
Modes: 5
Prefactor: 344.

Note that the output state is not normalized since the time-evolution is not unitary.
In[3]:=
Norm[out]
Out[3]=
18.554
It may look like a mixed state due to numerical errors.
In[4]:=
Chop[Matrix[out],1*^-6]//ArrayShort
Out[4]//MatrixForm=
0
0
0
0
…
0
16.995
-8.11841+18.639
0
…
0
-8.11841-18.639
24.3201
0
…
0
0
0
0
…
…
…
…
…
…
Scope  
(4)

SeeAlso
WickUnitary
 
▪
WickNonunitary
 
▪
WickMeasurement
 
▪
WickJump
 
▪
WickSimulate
 
▪
RandomWickCircuitSimulate
 
▪
WickMonitor
TechNotes
▪
Majorana Fermions
▪
Quantum Many-Body Systems with Q3
▪
Quantum Information Systems with Q3
▪
Q3: Quick Start
RelatedGuides
▪
Fermionic Quantum Computation
▪
Quantum Many-Body Systems
▪
Quantum Information Systems
▪
Q3: Symbolic Quantum Simulation

© 2025 Wolfram. All rights reserved.

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