Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
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
Create a Paclet
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
Quantum Optimization
Exploring Fundamentals of Quantum Theory
Quantum object abstraction
Second Quantization Functions
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
C
i
r
c
u
i
t
D
i
a
g
r
a
m
"Diagram" is a property of QuantumCircuitOperator, with some options for customizing that. Here we shall briefly review those options.
"
S
h
o
w
W
i
r
e
s
"
T
r
u
e
w
h
e
t
h
e
r
t
o
s
h
o
w
h
o
r
i
z
o
n
t
a
l
w
i
r
e
s
"
W
i
r
e
L
a
b
e
l
s
"
A
u
t
o
m
a
t
i
c
w
i
r
e
l
a
b
e
l
i
n
g
"
M
e
a
s
u
r
e
m
e
n
t
W
i
r
e
L
a
b
e
l
"
"
c
"
m
e
a
s
u
r
e
m
e
n
t
w
i
r
e
l
a
b
e
l
"
M
e
a
s
u
r
e
m
e
n
t
W
i
r
e
P
o
s
i
t
i
o
n
"
T
o
p
m
e
a
s
u
r
e
m
e
n
t
w
i
r
e
p
o
s
i
t
i
o
n
"
S
h
o
w
M
e
a
s
u
r
e
m
e
n
t
W
i
r
e
"
T
r
u
e
w
h
e
t
h
e
r
t
o
s
h
o
w
a
m
e
a
s
u
r
e
m
e
n
t
w
i
r
e
"
S
h
o
w
E
m
p
t
y
W
i
r
e
s
"
T
r
u
e
w
h
e
t
h
e
r
t
o
r
e
n
d
e
r
e
m
p
t
y
w
i
r
e
s
"
S
h
o
w
E
x
t
r
a
Q
u
d
i
t
s
"
F
a
l
s
e
w
h
e
t
h
e
r
t
o
s
h
o
w
n
o
n
-
p
o
s
i
t
i
v
e
a
n
c
i
l
l
a
s
Wires.
"
S
h
o
w
L
a
b
e
l
"
F
a
l
s
e
w
h
e
t
h
e
r
t
o
i
n
c
l
u
d
e
a
c
i
r
c
u
i
t
l
a
b
e
l
"
S
h
o
w
G
a
t
e
L
a
b
e
l
s
"
T
r
u
e
w
h
e
t
h
e
r
t
o
s
h
o
w
l
a
b
e
l
s
o
n
g
a
t
e
s
"
R
o
t
a
t
e
G
a
t
e
L
a
b
e
l
"
A
u
t
o
m
a
t
i
c
r
o
t
a
t
i
o
n
a
n
g
l
e
o
f
g
a
t
e
l
a
b
e
l
s
"
I
d
e
n
t
i
t
y
G
a
t
e
"
F
a
l
s
e
w
h
e
r
e
t
o
s
h
o
w
I
d
e
n
t
i
t
y
g
a
t
e
Labels.
"
S
i
z
e
"
.
7
5
o
p
e
r
a
t
o
r
s
i
z
e
"
H
o
r
i
z
o
n
t
a
l
G
a
p
S
i
z
e
"
1
d
i
s
t
a
n
c
e
b
e
t
w
e
e
n
o
p
e
r
a
t
o
r
s
"
V
e
r
t
i
c
a
l
G
a
p
S
i
z
e
"
1
d
i
s
t
a
n
c
e
b
e
t
w
e
e
n
w
i
r
e
s
Sizes.
"
G
a
t
e
B
a
c
k
g
r
o
u
n
d
S
t
y
l
e
"
A
u
t
o
m
a
t
i
c
g
a
t
e
b
a
c
k
g
r
o
u
n
d
s
t
y
l
e
r
u
l
e
s
"
G
a
t
e
B
o
u
n
d
a
r
y
S
t
y
l
e
"
A
u
t
o
m
a
t
i
c
g
a
t
e
b
o
u
n
d
a
r
y
s
t
y
l
e
r
u
l
e
s
"
G
a
t
e
S
h
a
p
e
F
u
n
c
t
i
o
n
"
A
u
t
o
m
a
t
i
c
c
u
s
t
o
m
f
u
n
c
t
i
o
n
t
o
r
e
n
d
e
r
g
a
t
e
s
Styling.
"
S
h
o
w
O
u
t
l
i
n
e
"
F
a
l
s
e
o
u
t
l
i
n
e
a
c
i
r
c
u
i
t
w
i
t
h
a
f
r
a
m
e
"
S
h
o
w
C
o
n
n
e
c
t
o
r
s
"
F
a
l
s
e
s
h
o
w
p
o
i
n
t
s
o
f
w
i
r
e
-
g
a
t
e
c
o
n
n
e
c
t
i
o
n
s
"
S
h
o
w
W
i
r
e
E
n
d
p
o
i
n
t
s
"
F
a
l
s
e
s
h
o
w
w
i
r
e
e
n
d
-
p
o
i
n
t
s
Various graphics elements.
"
E
x
p
a
n
d
"
1
l
e
v
e
l
o
f
s
u
b
c
i
r
c
u
i
t
s
t
o
e
x
p
a
n
d
u
p
-
t
o
"
S
u
b
c
i
r
c
u
i
t
O
p
t
i
o
n
s
"
{
}
p
a
s
s
a
d
d
i
t
i
o
n
a
l
d
i
a
g
r
a
m
o
p
t
i
o
n
s
t
o
s
u
b
c
i
r
c
u
i
t
s
Sub-circuits.
Barriers can be added to shift gate positions:
I
n
[
5
2
]
:
=
Q
u
a
n
t
u
m
C
i
r
c
u
i
t
O
p
e
r
a
t
o
r
[
{
"
X
"
2
,
"
B
a
r
r
i
e
r
"
[
;
;
3
]
,
"
Y
"
1
,
"
Z
"
3
}
]
[
"
D
i
a
g
r
a
m
"
]
O
u
t
[
5
2
]
=
Q
u
a
n
t
u
m
C
i
r
c
u
i
t
O
p
e
r
a
t
o
r
[
{
"
X
"
2
,
"
B
a
r
r
i
e
r
"
[
2
;
;
]
,
"
Y
"
1
,
"
Z
"
3
}
]
[
"
D
i
a
g
r
a
m
"
]
"GateBackgroundStyle" and "GateBoundaryStyle" can include rules for changing gate appearance:
Q
u
a
n
t
u
m
C
i
r
c
u
i
t
O
p
e
r
a
t
o
r
[
{
"
C
X
"
{
1
,
3
}
,
"
C
Y
"
{
3
,
2
}
,
"
Z
"
}
]
[
"
D
i
a
g
r
a
m
"
,
"
G
a
t
e
B
a
c
k
g
r
o
u
n
d
S
t
y
l
e
"
{
"
X
"
Y
e
l
l
o
w
,
"
Z
"
G
r
e
e
n
}
,
"
G
a
t
e
B
o
u
n
d
a
r
y
S
t
y
l
e
"
{
"
Y
"
D
i
r
e
c
t
i
v
e
[
T
h
i
c
k
n
e
s
s
[
0
.
0
2
]
,
R
e
d
]
}
]
Q
u
a
n
t
u
m
C
i
r
c
u
i
t
O
p
e
r
a
t
o
r
[
{
"
Z
S
p
i
d
e
r
"
1
{
1
,
2
}
,
"
X
S
p
i
d
e
r
"
{
2
,
3
}
2
,
"
X
"
,
"
Z
S
p
i
d
e
r
"
}
]
[
"
D
i
a
g
r
a
m
"
,
"
G
a
t
e
B
a
c
k
g
r
o
u
n
d
S
t
y
l
e
"
{
"
Z
S
p
i
d
e
r
"
G
r
e
e
n
,
"
X
S
p
i
d
e
r
"
R
e
d
,
"
X
"
O
r
a
n
g
e
}
]
"GateShapeFunction" can be specified to render gates with a custom function that takes {center, label, horizontalPositions, verticalPositions} arguments:
Q
u
a
n
t
u
m
C
i
r
c
u
i
t
O
p
e
r
a
t
o
r
[
{
"
X
"
,
"
S
W
A
P
"
,
"
S
W
A
P
"
{
1
,
3
}
}
]
[
"
D
i
a
g
r
a
m
"
,
"
G
a
t
e
S
h
a
p
e
F
u
n
c
t
i
o
n
"
"
S
W
A
P
"
F
u
n
c
t
i
o
n
[
{
c
e
n
t
e
r
,
l
a
b
e
l
,
h
P
o
s
,
v
P
o
s
}
,
{
E
d
g
e
F
o
r
m
[
R
e
d
]
,
F
a
c
e
F
o
r
m
[
D
i
r
e
c
t
i
v
e
[
R
e
d
,
O
p
a
c
i
t
y
[
0
.
2
5
]
]
]
,
R
e
c
t
a
n
g
l
e
[
c
e
n
t
e
r
-
{
.
3
7
5
,
.
7
5
(
M
a
x
[
v
P
o
s
]
-
M
i
n
[
v
P
o
s
]
)
}
,
c
e
n
t
e
r
+
{
.
3
7
5
,
.
7
5
(
M
a
x
[
v
P
o
s
]
-
M
i
n
[
v
P
o
s
]
)
}
,
R
o
u
n
d
i
n
g
R
a
d
i
u
s
0
.
1
]
,
T
e
x
t
[
S
t
y
l
e
[
R
o
t
a
t
e
[
l
a
b
e
l
,
-
P
i
/
2
]
,
2
0
,
B
l
u
e
]
,
c
e
n
t
e
r
]
}
]
]
"Size", "HorizontalGapSize" and "VerticalGapSize" correspondingly control gate size, distance between gates and a distance between wires:
"Expand" specifies a level depth of sub-circuits to expand:
"Expand" can be specified explicitly as an option to any sub-circuit:
"SubcircuitOptions" can be used to pass options to all sub-circuit diagrams:
Or pass options directly to individual sub-circuits:
Show extra qudits used by channels and measurements:
Extra qudits are always shown when there is an explicit gate there:
"WireLabels" can be a list of labels or a list of rules: