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

QuantumFramework

Tutorials

  • Getting Started

Guides

  • Wolfram Quantum Computation Framework

Tech Notes

  • Bell's Theorem
  • Circuit Diagram
  • Example Repository Functions
  • Exploring Fundamentals of Quantum Theory
  • Quantum object abstraction
  • Tensor Network
  • Quantum Computation

Symbols

  • QuantumBasis
  • QuantumChannel
  • QuantumCircuitMultiwayGraph [EXPERIMENTAL]
  • QuantumCircuitOperator
  • QuantumDistance
  • QuantumEntangledQ
  • QuantumEntanglementMonotone
  • QuantumEvolve
  • QuantumMeasurement
  • QuantumMeasurementOperator
  • QuantumMeasurementSimulation
  • QuantumMPS [EXPERIMENTAL]
  • QuantumOperator
  • QuantumPartialTrace
  • QuantumPhaseSpaceTransform
  • QuantumShortcut [EXPERIMENTAL]
  • QuantumStateEstimate [EXPERIMENTAL]
  • QuantumState
  • QuantumTensorProduct
  • QuantumWignerMICTransform [EXPERIMENTAL]
  • QuantumWignerTransform [EXPERIMENTAL]
  • QuditBasis
  • QuditName
Wolfram`QuantumFramework`
QuantumWignerTransform
[
EXPERIMENTAL
]
​
QuantumWignerTransform[obj]
transforms a quantum object into its phase-space representation in the Wigner basis.
​
Details and Options

Examples  
(26)
Basic Examples  
(5)
Generate the Wigner transformation a quantum state in the phase space:
In[1]:=
ρ=
QuantumState
["RandomMixed",3];​​
QuantumWignerTransform
[ρ]
Out[2]=
QuantumState
Pure state
Qudits: 1
Type: Vector
Dimension: 9
Picture: PhaseSpace
​

It is the same as the basis transformation of the doubled state into the corresponding Wigner basis:
QuantumState
ρ["Double"],
QuantumBasis
["Wigner"[ρ["Dimension"]]]%
True
​
For odd dimensions, PhaseSpace as a property of a quantum state has the dimension
d×d
:
In[1]:=
ρ=
QuantumState
["RandomMixed",3];​​MatrixForm[ρ["PhaseSpace"]]
Out[1]=
0.108242
0.163752
0.200072
0.16736
0.193372
-0.026586
0.193771
-0.02127
0.0212874
The state vector in the Wigner basis corresponds to PhaseSpace representation of the state:
In[2]:=
QuantumWignerTransform
[ρ]["StateVector"]Flatten@ρ["PhaseSpace"]
Out[2]=
True
​
For even dimensions, PhaseSpace has the dimension
2d×2d
:
In[1]:=
d=4;​​ρ=
QuantumState
["RandomMixed",d];​​ρ["PhaseSpace"]
Out[1]=
SparseArray
Specified elements: 64
Dimensions: {8,8}

This implies that the PhaseSpace of even dimensions has some extra dependent elements. It has been discussed in more details later.
If we partition the PhaseSpace into four blocks of the dimension
d×d
, the upper left one corresponds to the StateVector of the Wigner transformation:
In[2]:=
QuantumWignerTransform
[ρ]["StateVector"]Flatten[ρ["PhaseSpace"]〚;;d,;;d〛]
Out[2]=
True
​
Winger transformation of an operator:
In[1]:=
op=
QuantumWignerTransform

QuantumOperator
["X"]
Out[1]=
QuantumOperator
Picture: PhaseSpace
Arity: 1
Dimension: 4→4
Qudits: 1→1

Show its representation in the phase space:
In[2]:=
TraditionalForm[op]
Out[2]=

1

00

1

00
+
2

00

2

00
-
4

00

4

00
-
3

00

3

00

​
Wigner transformation of a quantum circuit (pay attention to wire dimensions):
In[1]:=
qc=
QuantumWignerTransform

QuantumCircuitOperator
["Bell"];​​qc["Diagram","ShowWireDimensions"True]
Out[1]=
Return the result of circuit on a register state:
In[2]:=
qc[]["Amplitudes"]
Out[2]=

1

00
1

00

1
16
,
1

00
2

00
0,
1

00
4

00
0,
1

00
3

00
0,
2

00
1

00
0,
2

00
2

00

1
16
,
2

00
4

00
0,
2

00
3

00
0,
4

00
1

00
0,
4

00
2

00
0,
4

00
4

00

1
16
,
4

00
3

00
0,
3

00
1

00
0,
3

00
2

00
0,
3

00
4

00
0,
3

00
3

00
-
1
16

Check that the Weyl transformation of the outcome is the same as the Bell state:
In[3]:=
QuantumWeylTransform[qc[]]["Formula"]
Out[3]=
1
2
|00〉+
1
2
|11〉
Scope  
(9)

Generalizations & Extensions  
(4)

Applications  
(6)

Interactive Examples  
(2)

SeeAlso
QuantumState
 
▪
QuantumBasis
 
▪
QuantumOperator
RelatedGuides
▪
Wolfram Quantum Computation Framework
""

© 2025 Wolfram. All rights reserved.

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