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

QuantumBlockCellularAutomata

Guides

  • Quantum Block Cellular Automata

Tech Notes

  • Numeric Quantum Block Cellular Automata Examples

Symbols

  • PlotQuantumCA
  • QuantumCA
Numeric Quantum Block Cellular Automata Examples
This tutorial develops complete numeric quantum block cellular automata, examines their returned evolution objects and compares the specialized numerical methods selected for different two-qubit rules.
Initial State Representations
An exact binary list is interpreted as a computational-basis qubit string, so this input means the four-qubit state
|1001〉
:
In[1]:=
bits={1,0,0,1};​​
QuantumCA
[bits,QuantumOperator["CH"],1]["States"]1
Out[1]=
QuantumState
Pure state
Qudits: 4
Type: Vector
Dimension: 16

Define the equivalent 16-amplitude global state vector before passing it to the automaton:
In[2]:=
psi=N@UnitVector[16,10];​​
QuantumCA
[psi,QuantumOperator["CH"],1]["States"]1
Out[2]=
QuantumState
Pure state
Qudits: 4
Type: Vector
Dimension: 16

Define a two-qubit global state vector for
|00〉
:
In[3]:=
psi=N@UnitVector[4,1];​​
QuantumCA
[psi,QuantumOperator["CH"],1]["States"]1
Out[3]=
QuantumState
Pure state
Qudits: 2
Type: Vector
Dimension: 4

Machine-real binary-looking values are amplitudes rather than a qubit string:
In[4]:=
bits={1,0,0,0};​​psi={1.,0.,0.,0.};​​
QuantumCA
[bits,QuantumOperator["CX"],0]["Qudits"],
QuantumCA
[psi,QuantumOperator["CX"],0]["Qudits"]
Out[4]=
{4,2}
The numeric conversion in
N@UnitVector[4,1]
is significant: an exact
UnitVector[4,1]
evaluates to
{1,0,0,0}
and is therefore interpreted as a four-qubit string.
Define a coherent pure-state superposition; numeric state vectors are normalized internally:
In[5]:=
psi=UnitVector[16,1]+IUnitVector[16,16];​​
QuantumCA
[psi,QuantumOperator["RootSWAP"],1]["States"]1
Out[5]=
QuantumState
Pure state
Qudits: 4
Type: Vector
Dimension: 16

Pure
QuantumState
objects are accepted as another explicit representation. Mixed
QuantumState
objects are not supported because their evolution requires density matrices.
A Complete Evolution Object
Create a six-qubit controlled-Hadamard evolution and display the complete returned association as a structured dataset:
In[6]:=
evo=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CH"],2];​​Dataset[evo]
Out[6]=
States
QuantumState
Pure state
Qudits: 6
Type: Vector
Dimension: 64

QuantumState
Pure state
Qudits: 6
Type: Vector
Dimension: 64

QuantumState
Pure state
Qudits: 6
Type: Vector
Dimension: 64

QuantumState
Pure state
Qudits: 6
Type: Vector
Dimension: 64

QuantumState
Pure state
Qudits: 6
Type: Vector
Dimension: 64

BlochVectors
{
…
5
}
Unitary
QuantumOperator
Pure map
​
Dimension: 4→4
Order: {1,2}→{1,2}

Steps
2
Substeps
4
Phase
0
Qudits
6
Circuit
QuantumCircuitOperator
​

Backend
Tensor
Inspect the final quantum state directly:
In[7]:=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CH"],2]["States"]-1
Out[7]=
QuantumState
Pure state
Qudits: 6
Type: Vector
Dimension: 64

Inspect the final layer of reduced one-qubit Bloch vectors:
In[8]:=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CH"],2]["BlochVectors"]-1
Out[8]=
{{0,0,-1.},{0.103553,0,0.707107},{0.323223,0,0.53033},{0.176777,0,0.75},{0.125,0,0.875},{0,0,1.}}
Numerical Methods
Automatic backend selection follows the structure of the local unitary. Permutations of computational-basis states use the classical path:
In[9]:=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CX"],3]["Backend"]
Out[9]=
Classical
A monomial phase rule uses sparse amplitude associations:
In[10]:=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CZ"],3]["Backend"]
Out[10]=
Sparse
A tensor product of one-qubit gates uses the product method:
In[11]:=
h=N[1/Sqrt[2]{{1,1},{1,-1}}];​​
QuantumCA
[{1,0,0,0,0,0},KroneckerProduct[h,IdentityMatrix[2]],3]["Backend"]
Out[11]=
Product
A particle-number-preserving RootSWAP rule uses sparse number sectors:
In[12]:=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["RootSWAP"],3]["Backend"]
Out[12]=
NumberConserving
An entangling Clifford rule uses the stabilizer-classified path:
In[13]:=
h=N[1/Sqrt[2]{{1,1},{1,-1}}];​​cx=N@{{1,0,0,0},{0,1,0,0},{0,0,0,1},{0,0,1,0}};​​
QuantumCA
[{1,0,0,0,0,0},N[KroneckerProduct[h,IdentityMatrix[2]].cx],3]["Backend"]
Out[13]=
Stabilizer
A controlled-Hadamard rule falls back to the general tensor method:
In[14]:=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CH"],3]["Backend"]
Out[14]=
Tensor
Comparing Rule Dynamics
Compare the final reduced Bloch vectors generated by three local rules from the same initial layer:
In[15]:=
Dataset@Map​​Functionrule,​​Withevo=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator[rule],3],​​"Rule"rule,"Backend"evo["Backend"],"Final Bloch Vectors"evo["BlochVectors"]-1​​​​,​​{"CX","RootSWAP","CH"}​​
Out[15]=
Rule
Backend
Final Bloch Vectors
CX
Classical
0
0
1.0
0
0
-1.0
0
0
1.0
0
0
1.0
0
0
-1.0
0
0
-1.0
RootSWAP
NumberConserv
ing
0
0
0.71875
0
0
0.96875
0
0
0.96875
0
0
-0.125
0
0
0.5
0
0
0.96875
CH
Tensor
-0.03125
0
-0.96875
0.876301
0
0.103553
0.907551
0
0.0906092
0.0749842
0
0.861136
0.0804806
0
0.882908
-0.0441942
0
0.9375
Quantum Framework Inputs
Use the equivalent raw controlled-Hadamard matrix:
Plotting Controlled-Hadamard Dynamics
Visualize the colored controlled-Hadamard evolution together with each final reduced Bloch vector:
Focus on the Regular color encoding without the matrix:

© 2026 Wolfram. All rights reserved.

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