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
DenizYoldas`QuantumBlockCellularAutomata`
QuantumCA
​
QuantumCA
[init,u,steps]
evolves a one-dimensional quantum block cellular automaton using a two-qubit local update rule.
​
​
QuantumCA
[init,u,steps,phase]
starts from Margolus phase 0 or 1.
​
Details and Options
▪
init
can be an exact classical bit list, a numeric pure-state vector or a pure
QuantumState
.
▪
An exact list containing only
0
and
1
is interpreted first as a qubit string. For example,
{1,0,0,1}
means the four-qubit basis state
|1001〉
.
▪
Any other numeric vector is interpreted as the amplitudes of a pure global state and normalized internally. Its length must be
n
2
for an even number of qubits
n
.
▪
Machine-real input
{1.,0.,0.,0.}
is therefore a four-amplitude, two-qubit state vector for
|00〉
, while exact input
{1,0,0,0}
is the four-qubit basis state
|1000〉
.
▪
Since
UnitVector
returns an exact binary list, convert a basis amplitude vector numerically before passing it, for example
psi=N@UnitVector[4,1]
.
▪
Mixed states are not supported, including mixed states wrapped in
QuantumState
, because the current evolution acts on state vectors rather than density matrices.
▪
u
can be a 4 by 4 numeric matrix or a
QuantumOperator
.
▪
The function converts all inputs to numeric arrays before evolution. Exact expressions such as
Sqrt[2]
are numerically evaluated internally.
▪
Each step applies two Margolus layers. Phase 0 applies even pairs first; phase 1 applies odd pairs first.
▪
With
"Backend"
Automatic
, the function selects a numerical path for the detected local gate family.
▪
The return value is an association containing
"States"
,
"BlochVectors"
,
"Unitary"
,
"Steps"
,
"Substeps"
,
"Phase"
,
"Qudits"
,
"Circuit"
and
"Backend"
.
▪
"States"
is the layer-by-layer list of tensor-product
QuantumState
objects.
▪
"BlochVectors"
is reduced bloch vectors for each qubit in all layers.
▪
"Backend"
reports the selected numerical method.
option
default
effect
"Phase"
0
initial Margolus phase
"Backend"
Automatic
choose or force a backend
"Tolerance"
10^-10
numerical chopping and classification tolerance
​
Examples  
(26)
Basic Examples  
(3)
Create a controlled-Hadamard evolution:
In[1]:=
evo=
QuantumCA
[{1,0,0,0,0,0},QuantumOperator["CH"],2];​​Dataset[evo]
Out[1]=
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
_________________________________________________________________________________________________________________
Return the keys available on every evolution object:
In[1]:=
Keys
QuantumCA
[{1,0,0,0},QuantumOperator["CH"],1]
Out[1]=
{States,BlochVectors,Unitary,Steps,Substeps,Phase,Qudits,Circuit,Backend}
_________________________________________________________________________________________________________________
Extract the final
QuantumState
object:
In[1]:=
QuantumCA
[{1,0,0,0},QuantumOperator["CH"],1]["States"]-1
Out[1]=
QuantumState
Pure state
Qudits: 4
Type: Vector
Dimension: 16

Scope  
(8)

Options  
(5)

Applications  
(2)

Properties & Relations  
(4)

Possible Issues  
(3)

Neat Examples  
(1)

SeeAlso
PlotQuantumCA
RelatedGuides
▪
QuantumBlockCellularAutomata
""

© 2026 Wolfram. All rights reserved.

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