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

  • QuantumPhaseSpaceTranform
  • 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
Quantum Computation
Basic quantum objects
Advanced quantum objects
Quantum computation is the use of quantum mechanical systems to perform computations. Wolfram quantum framework aims to simulate a wide range of quantum computations in the Wolfram Mathematica.
Basic quantum objects
QuantumBasis
basis vectors encoding quantum states and operators
QuantumState
quantum discrete state, defined by an association, a complex vector, or a density matrix
QuantumOperator
quantum discrete operator, defined by an association or a matrix representation
QuantumMeasurementOperator
quantum measurement operator, defined by a matrix, a collection of positive matrices (POVM) or an eigenbasis (projective)
QuantumMeasurement
description of possible measurement results, containing a probability distribution as well as possible quantum states after the measurement
Basic objects of discrete quantum mechanics.
A fundamental object in our framework is
QuantumBasis
. Quantum states and operators are defined with respect to a basis.
QuantumBasis
can be constructed for any number of qudits, with any dimensionality. There are also a set of named basis (e.g., PauliX or Bell) built-in into the quantum framework.
Define a quantum basis given dimensions (3x5):
In[60]:=
QuantumBasis
[{3,5}]
Out[60]=
QuantumBasis
Picture: Schrodinger
Rank: 2
Dimension: 15
​

Define a quantum basis by an association:
QuantumBasis
[0{1,1},1{1,-}]
QuantumBasis
Picture: Schrodinger
Rank: 1
Dimension: 2
​

There are many named-basis built into the framework:

QuantumBasis
["I"],
QuantumBasis
["Y"],
QuantumBasis
["Bell"],
QuantumBasis
["Dirac"],
QuantumBasis
["Schwinger"],
QuantumBasis
["Wigner"]
QuantumBasis
Picture: Schrodinger
Rank: 1
Dimension: 2
​
,QuantumBasis
Picture: Schrodinger
Rank: 1
Dimension: 2
​
,QuantumBasis
Picture: Schrodinger
Rank: 1
Dimension: 4
​
,QuantumBasis
Picture: Schrodinger
Rank: 2
Dimension: 16
​
,QuantumBasis
Picture: Schrodinger
Rank: 2
Dimension: 4
​
,QuantumBasis
Picture: PhaseSpace
Rank: 2
Dimension: 4
​

There are many properties that can be extracted from
QuantumBasis
object. For example:
basis=
QuantumBasis
[3];​​Normal/@basis["ElementAssociation"]
|0〉{1,0,0},|1〉{0,1,0},|2〉{0,0,1}
QuantumBasis
supports cases with input and output:
QuantumBasis
[{2},{3}]
QuantumBasis
Picture: Schrodinger
Rank: 2
Dimension: 6
​
Qudits: 1→1
​
Dimensions: {3}→{2}
​
Element dimensions: {2,3}
​
Parameters: {}
​

{#["Input"],#["Output"]}&@
QuantumBasis
[{2},{3}]
QuditBasis
Qudits: 1
Dimension: 3
,QuditBasis
Qudits: 1
Dimension: 2

A quantum state is represented by
QuantumState
object and a quantum operator is represented by
QuantumOperator
.
Define a pure 2-dimensional quantum state (qubit) in Pauli-X basis:
QuantumState
[{1,-},"X"]
QuantumState
Pure state
Qudits: 1
Type: Vector
Dimension: 2

%["Amplitudes"]
|

+
〉1,|

−
〉-
If the basis is not specified, the default is the computational basis:
state=
QuantumState
["RandomPure"[3]];​​state["Formula"]
(0.0215558+0.314052)|000〉+(0.142475-0.261115)|001〉+(-0.138528+0.368383)|010〉+(-0.273482-0.295019)|011〉+(-0.142211-0.0977261)|100〉+(0.480185+0.271781)|101〉+(0.286251-0.010946)|110〉+(0.256998-0.115659)|111〉
Many named states are available for easy access:

QuantumState
["UniformSuperposition"],
QuantumState
["PsiPlus"],
QuantumState
["GHZ"]
QuantumState
Pure state
Qudits: 1
Type: Vector
Dimension: 2
,QuantumState
Pure state
Qudits: 2
Type: Vector
Dimension: 4
,QuantumState
Pure state
Qudits: 3
Type: Vector
Dimension: 8

We can also define a qubit state by specifying a Bloch vector:
QuantumState
["BlochVector"[{.1,.2,.3}]]
QuantumState
Mixed state
Qudits: 1
Type: Matrix
Dimension: 2

Define a quantum operator by a matrix, basis, and order. The order is the information about which subsystems the operator would act on. For example order {1,2} means it would act on subsystem 1 and 2. If the basis is not specified, the default is the computational basis.
QuantumOperator
["CNOT",{2,3},"XI"]
|

+
0〉〈

+
0|+|

+
1〉〈

+
1|+|

−
0〉〈

−
1|+|

−
1〉〈

−
0|
Define operator by names:

QuantumOperator
["H",{2}],
QuantumOperator
["CNOT"],
QuantumOperator
["Toffoli"]
QuantumOperator
Pure map
​
Dimension: 2→2
Order: {2}→{2}
,QuantumOperator
Pure map
​
Dimension: 4→4
Order: {1,2}→{1,2}
,QuantumOperator
Pure map
​
Dimension: 8→8
Order: {1,2,3}→{1,2,3}

Extract properties of operator:
operator=
QuantumOperator
["CNOT",{1,2}];​​operator["Table"]
〈00|
〈01|
〈10|
〈11|
|00〉
1
0
0
0
|01〉
0
1
0
0
|10〉
0
0
0
1
|11〉
0
0
1
0
operator["HermitianQ"]
True
QuantumOperator
can operate on a
QuantumState
:
QuantumOperator
["H"]
QuantumState
["0"]
1
2
|0〉+
1
2
|1〉
In Wolfram quantum framework, a measurement is represented by
QuantumMeasurementOperator
and
QuantumMeasurement
.
Define a measurement operator on the 2nd qubit (in computational basis):
QuantumMeasurementOperator
[{2}]
QuantumMeasurementOperator
Measurement Type: POVM
Target: {2}
Dimension: 2→4
Order: {2}→{0,2}

Define measurement operator by names:
QuantumMeasurementOperator
["X"]​​
QuantumMeasurementOperator
["QBismSICPOVM"]
Define a POVM measurement:
There are two ways we can perform multiqubit measurements. The first method is sequential measurement:
Tensor product of states and bases:
Basis change for a quantum state:
Basis change for a quantum operator:
One can do more operations on quantum operators and the result will be a QuantumOperator:
Advanced quantum objects
Basic objects and operations in discrete quantum mechanics naturally lead to an application in quantum information and computation. Quantum Information is the study of information encoded in quantum systems. Meanwhile, quantum computation is the manipulation of quantum information to perform a computation.
Trace out the second subsystem in a two-qubit state:
Example of partial transpose:
Checking whether a subsystem 1 and 3 is entangled in "W" state:
Measuring trace distance between a pure state and a mixed state:
Wolfram quantum framework also supports Schmidt decomposition and spectral decomposition.
Example of Schmidt decomposition:
Example of spectral decomposition:
Example for the construction of quantum circuit without measurement:
Add measurement into the circuit:
Decomposition of CNOT:
A quantum gate for the magic basis transformation (transforming 2 qubit computational basis to the Bell basis):

© 2025 Wolfram. All rights reserved.

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