qadence.draw example plotsMostly for quick, manual checking of correct plotting output.
from  qadence  import  X ,  Y ,  kron 
from  qadence.draw  import  display 
b  =  kron ( X ( 0 ),  Y ( 1 )) 
%3 
b445fe2c07cc4a51834082b1f60be937 
0 
 
35b62d591c2c499282e2e1a8169ea8d7 
X 
 
b445fe2c07cc4a51834082b1f60be937--35b62d591c2c499282e2e1a8169ea8d7 
 
4244785ea52a4eea9f0454f513a8c391 
1 
 
ac29e5b0c2d04802aec9d2496b3f8113 
 
35b62d591c2c499282e2e1a8169ea8d7--ac29e5b0c2d04802aec9d2496b3f8113 
 
601c9242d86941408f73c294ffdd62e7 
 
1f0343e90dc3497ba7c00bf2b4fcfe77 
Y 
 
4244785ea52a4eea9f0454f513a8c391--1f0343e90dc3497ba7c00bf2b4fcfe77 
 
1f0343e90dc3497ba7c00bf2b4fcfe77--601c9242d86941408f73c294ffdd62e7 
 
 
 
 
from  qadence  import  X ,  Y ,  chain 
from  qadence.draw  import  display 
b  =  chain ( X ( 0 ),  Y ( 0 )) 
%3 
1070d66619b34457bee5c383b7d17dc8 
0 
 
2a7f29fac3074537b30f19cbb1cb37a8 
X 
 
1070d66619b34457bee5c383b7d17dc8--2a7f29fac3074537b30f19cbb1cb37a8 
 
7371409b1d6a4a36ac36f6a17aa57d0f 
Y 
 
2a7f29fac3074537b30f19cbb1cb37a8--7371409b1d6a4a36ac36f6a17aa57d0f 
 
6306e4f0dfd0451aaf9133f6f0497e8e 
 
7371409b1d6a4a36ac36f6a17aa57d0f--6306e4f0dfd0451aaf9133f6f0497e8e 
 
 
 
 
from  qadence  import  X ,  Y ,  chain 
from  qadence.draw  import  display 
b  =  chain ( X ( 0 ),  Y ( 1 )) 
%3 
726fd2d7161342188e8d8a2a3e2ec766 
0 
 
6c48ba8c823c4f2ea3d83bb8321e07c7 
X 
 
726fd2d7161342188e8d8a2a3e2ec766--6c48ba8c823c4f2ea3d83bb8321e07c7 
 
f573e6aa516b4492b3371f9262a97bf0 
1 
 
d7871a91f0b444d6886c2180ecc97b99 
 
6c48ba8c823c4f2ea3d83bb8321e07c7--d7871a91f0b444d6886c2180ecc97b99 
 
897f508dcf3047b99b405970a5cd9e2c 
 
d7871a91f0b444d6886c2180ecc97b99--897f508dcf3047b99b405970a5cd9e2c 
 
136dba3e844e4a319282cea0a9deb664 
 
0c2ce1ef270a4714810daa920663a843 
 
f573e6aa516b4492b3371f9262a97bf0--0c2ce1ef270a4714810daa920663a843 
 
76708741a3e94fa589a19d72cabfdc5e 
Y 
 
0c2ce1ef270a4714810daa920663a843--76708741a3e94fa589a19d72cabfdc5e 
 
76708741a3e94fa589a19d72cabfdc5e--136dba3e844e4a319282cea0a9deb664 
 
 
 
 
from  qadence  import  X ,  Y ,  add 
from  qadence.draw  import  display 
b  =  add ( X ( 0 ),  Y ( 1 ),  X ( 2 )) 
%3 
cluster_19a4e2cde5564196aef7b157c501425e 
 
b34e0b0306c245168b1b9d628e6b08bb 
0 
 
e2594a447e1c42afb2e0dcb3e667d3dc 
 
b34e0b0306c245168b1b9d628e6b08bb--e2594a447e1c42afb2e0dcb3e667d3dc 
 
5c4c28cefcbe43b9b817998fa4bbd331 
1 
 
5442b271a9e74d74b4fe5fa32fd584a5 
 
e2594a447e1c42afb2e0dcb3e667d3dc--5442b271a9e74d74b4fe5fa32fd584a5 
 
037142ad8a1645dab8e76122bd6e23a6 
 
5e2e6306ac8f4a18a0eced95a69f0adf 
AddBlock 
 
5c4c28cefcbe43b9b817998fa4bbd331--5e2e6306ac8f4a18a0eced95a69f0adf 
 
cf924e2b2e274f7c888cfd1e429cdba6 
2 
 
5e2e6306ac8f4a18a0eced95a69f0adf--037142ad8a1645dab8e76122bd6e23a6 
 
b1ed139b3c844404a30b30eedb6b909a 
 
0efbd8964ade46228c8766b78cb0f6f6 
 
cf924e2b2e274f7c888cfd1e429cdba6--0efbd8964ade46228c8766b78cb0f6f6 
 
0efbd8964ade46228c8766b78cb0f6f6--b1ed139b3c844404a30b30eedb6b909a 
 
 
 
 
from  qadence  import  CNOT ,  RX ,  HamEvo ,  X ,  Y ,  Z ,  chain ,  kron 
rx  =  kron ( RX ( 3 , 0.5 ),  RX ( 2 ,  "x" )) 
rx . tag  =  "rx" 
gen  =  chain ( Z ( i )  for  i  in  range ( 4 )) 
# `chain` puts things in sequence 
block  =  chain ( 
kron ( X ( 0 ),  Y ( 1 ),  rx ), 
CNOT ( 2 , 3 ), 
HamEvo ( gen ,  10 ) 
) 
%3 
cluster_9f1069d06737490ab99fd4b81bd5dee1 
 
cluster_0bf988f2ee794366aacc3d470e88652a 
rx 
 
c1a16247b6b64b839c1dbdddab8e88b1 
0 
 
7b9ce7b33d2949d8bf2f3c0f82cce7e0 
X 
 
c1a16247b6b64b839c1dbdddab8e88b1--7b9ce7b33d2949d8bf2f3c0f82cce7e0 
 
6f714eb16d104f7eb844fc6759da4e61 
1 
 
d42bb99d034542d9ba6a0e2890346e59 
 
7b9ce7b33d2949d8bf2f3c0f82cce7e0--d42bb99d034542d9ba6a0e2890346e59 
 
a5d67f7645cf4a4a838cda34abd9604e 
 
d42bb99d034542d9ba6a0e2890346e59--a5d67f7645cf4a4a838cda34abd9604e 
 
4923e11a39ec48f794add4146173aedc 
 
a5d67f7645cf4a4a838cda34abd9604e--4923e11a39ec48f794add4146173aedc 
 
4622e68d0bf2456ca4faa836151ccb15 
 
2a8ac31158604b29b24bb65a230be519 
Y 
 
6f714eb16d104f7eb844fc6759da4e61--2a8ac31158604b29b24bb65a230be519 
 
5a11d4dbbc3b4240a67520b062ef6688 
2 
 
b5b627b9acc54261b0bd857891ce8531 
 
2a8ac31158604b29b24bb65a230be519--b5b627b9acc54261b0bd857891ce8531 
 
09edde79f09b482c845e9d2e2d627200 
HamEvo 
 
b5b627b9acc54261b0bd857891ce8531--09edde79f09b482c845e9d2e2d627200 
 
09edde79f09b482c845e9d2e2d627200--4622e68d0bf2456ca4faa836151ccb15 
 
1dd3b4b58bdd4369834fe3365080eea7 
 
b55927b927e549508a621f2aa36d8561 
RX(x) 
 
5a11d4dbbc3b4240a67520b062ef6688--b55927b927e549508a621f2aa36d8561 
 
798aea13fe2c4da283e9c46550c3be25 
3 
 
a0573f7fe2db4d1e9d805c0214711cda 
 
b55927b927e549508a621f2aa36d8561--a0573f7fe2db4d1e9d805c0214711cda 
 
6f5c6be0def54302893746e422cf63b9 
t = 10 
 
a0573f7fe2db4d1e9d805c0214711cda--6f5c6be0def54302893746e422cf63b9 
 
6f5c6be0def54302893746e422cf63b9--1dd3b4b58bdd4369834fe3365080eea7 
 
c0dad84b777d4d279ba55f33d119da4c 
 
8c8d2707af4041dfa67197a1d3d49bf4 
RX(0.5) 
 
798aea13fe2c4da283e9c46550c3be25--8c8d2707af4041dfa67197a1d3d49bf4 
 
c31b2e29f5954d82adaa754ac71aab98 
X 
 
8c8d2707af4041dfa67197a1d3d49bf4--c31b2e29f5954d82adaa754ac71aab98 
 
c31b2e29f5954d82adaa754ac71aab98--a0573f7fe2db4d1e9d805c0214711cda 
 
0b5ec24b13514f58b1938719cf4173e1 
 
c31b2e29f5954d82adaa754ac71aab98--0b5ec24b13514f58b1938719cf4173e1 
 
0b5ec24b13514f58b1938719cf4173e1--c0dad84b777d4d279ba55f33d119da4c 
 
 
 
 
from  qadence  import  feature_map ,  hea ,  chain 
block  =  chain ( feature_map ( 4 ,  reupload_scaling = "Tower" ),  hea ( 4 , 2 )) 
%3 
cluster_14340cfad8fd4b799a15a463820587b0 
HEA 
 
cluster_8c0f4d004a0746c9bda0a4e943233d98 
Tower Fourier FM 
 
5696b2162ced4281a1e5537319462f7e 
0 
 
acbb2b7bba744dc6bb65fac1f1b35889 
RX(1.0*phi) 
 
5696b2162ced4281a1e5537319462f7e--acbb2b7bba744dc6bb65fac1f1b35889 
 
5e702c2ec73245829bf473b05bfae01d 
1 
 
850a64202de440728ab0609fab0a7957 
RX(theta₀) 
 
acbb2b7bba744dc6bb65fac1f1b35889--850a64202de440728ab0609fab0a7957 
 
91666d92c36f4cc8a92c72148665a147 
RY(theta₄) 
 
850a64202de440728ab0609fab0a7957--91666d92c36f4cc8a92c72148665a147 
 
718ccdbbdd0144f2a742f22f55ad3bc2 
RX(theta₈) 
 
91666d92c36f4cc8a92c72148665a147--718ccdbbdd0144f2a742f22f55ad3bc2 
 
29e5e3d063474b2b93576f7d731d5520 
 
718ccdbbdd0144f2a742f22f55ad3bc2--29e5e3d063474b2b93576f7d731d5520 
 
bd8350b8a4f047cd8d5f76dab984682f 
 
29e5e3d063474b2b93576f7d731d5520--bd8350b8a4f047cd8d5f76dab984682f 
 
544a375887ca4ef6992c5d632ba1ba46 
RX(theta₁₂) 
 
bd8350b8a4f047cd8d5f76dab984682f--544a375887ca4ef6992c5d632ba1ba46 
 
f73eecbc12c04116a836b7225c6d7b17 
RY(theta₁₆) 
 
544a375887ca4ef6992c5d632ba1ba46--f73eecbc12c04116a836b7225c6d7b17 
 
4d858e6cad4e4218aa172658e6b42207 
RX(theta₂₀) 
 
f73eecbc12c04116a836b7225c6d7b17--4d858e6cad4e4218aa172658e6b42207 
 
b472b6ebb0294701be96c19e47ee5699 
 
4d858e6cad4e4218aa172658e6b42207--b472b6ebb0294701be96c19e47ee5699 
 
69495ce31864439ba8a4cf4fa7016fe2 
 
b472b6ebb0294701be96c19e47ee5699--69495ce31864439ba8a4cf4fa7016fe2 
 
5c292b6420aa413a936503969df916cf 
 
69495ce31864439ba8a4cf4fa7016fe2--5c292b6420aa413a936503969df916cf 
 
540b6810804b4f8a85636a5971c26b33 
 
5d4d314dcee94b8f8725181d1a1b6eba 
RX(2.0*phi) 
 
5e702c2ec73245829bf473b05bfae01d--5d4d314dcee94b8f8725181d1a1b6eba 
 
bc2d57e771124758b2da2b23983e9167 
2 
 
d0da28f43397470aa94a0f4bcb31e299 
RX(theta₁) 
 
5d4d314dcee94b8f8725181d1a1b6eba--d0da28f43397470aa94a0f4bcb31e299 
 
5e921878b32340fcac12e4b72a27b7df 
RY(theta₅) 
 
d0da28f43397470aa94a0f4bcb31e299--5e921878b32340fcac12e4b72a27b7df 
 
9d6d450b3780412e9c86fdf6bcda1285 
RX(theta₉) 
 
5e921878b32340fcac12e4b72a27b7df--9d6d450b3780412e9c86fdf6bcda1285 
 
f8cb94e91aee41f79b7c0efaebd39fac 
X 
 
9d6d450b3780412e9c86fdf6bcda1285--f8cb94e91aee41f79b7c0efaebd39fac 
 
f8cb94e91aee41f79b7c0efaebd39fac--29e5e3d063474b2b93576f7d731d5520 
 
e2478af016384ab8afd09637b20e712a 
 
f8cb94e91aee41f79b7c0efaebd39fac--e2478af016384ab8afd09637b20e712a 
 
76b7858d8e4142b1b38db5dc73962f66 
RX(theta₁₃) 
 
e2478af016384ab8afd09637b20e712a--76b7858d8e4142b1b38db5dc73962f66 
 
602193fdc3e14773b1fc493e9e3811f8 
RY(theta₁₇) 
 
76b7858d8e4142b1b38db5dc73962f66--602193fdc3e14773b1fc493e9e3811f8 
 
9b6b91a9f3d14296bcec9ecbeee45b0c 
RX(theta₂₁) 
 
602193fdc3e14773b1fc493e9e3811f8--9b6b91a9f3d14296bcec9ecbeee45b0c 
 
aa878a1df49144c1944d3f1ee51c499b 
X 
 
9b6b91a9f3d14296bcec9ecbeee45b0c--aa878a1df49144c1944d3f1ee51c499b 
 
aa878a1df49144c1944d3f1ee51c499b--b472b6ebb0294701be96c19e47ee5699 
 
441049805cfb42d4a1ece1ec2b4c0b20 
 
aa878a1df49144c1944d3f1ee51c499b--441049805cfb42d4a1ece1ec2b4c0b20 
 
441049805cfb42d4a1ece1ec2b4c0b20--540b6810804b4f8a85636a5971c26b33 
 
4340039b01994d2e8d4d57b84382a661 
 
1d2c6a9b0d8c44d1b02fd34a63b4663e 
RX(3.0*phi) 
 
bc2d57e771124758b2da2b23983e9167--1d2c6a9b0d8c44d1b02fd34a63b4663e 
 
beb82e18fa9145b19ee9bcfb7dbe4125 
3 
 
e8b1b930be6349b5a1291ab49a2d2d16 
RX(theta₂) 
 
1d2c6a9b0d8c44d1b02fd34a63b4663e--e8b1b930be6349b5a1291ab49a2d2d16 
 
9f9ec7166ccc4b9e8851b87eb5682c26 
RY(theta₆) 
 
e8b1b930be6349b5a1291ab49a2d2d16--9f9ec7166ccc4b9e8851b87eb5682c26 
 
a0cd7e66c53141a5bacf7580f058402e 
RX(theta₁₀) 
 
9f9ec7166ccc4b9e8851b87eb5682c26--a0cd7e66c53141a5bacf7580f058402e 
 
b8ef476ef0274133bbf9a4cd8fbdd3f9 
 
a0cd7e66c53141a5bacf7580f058402e--b8ef476ef0274133bbf9a4cd8fbdd3f9 
 
a668e0c8d44541189a3f05b135162709 
X 
 
b8ef476ef0274133bbf9a4cd8fbdd3f9--a668e0c8d44541189a3f05b135162709 
 
a668e0c8d44541189a3f05b135162709--e2478af016384ab8afd09637b20e712a 
 
d44643ae310342f8828496d79c719fe1 
RX(theta₁₄) 
 
a668e0c8d44541189a3f05b135162709--d44643ae310342f8828496d79c719fe1 
 
fe119851797c43f8bb2da7255996a32f 
RY(theta₁₈) 
 
d44643ae310342f8828496d79c719fe1--fe119851797c43f8bb2da7255996a32f 
 
0912a77fd61048b295acc6d2268849d9 
RX(theta₂₂) 
 
fe119851797c43f8bb2da7255996a32f--0912a77fd61048b295acc6d2268849d9 
 
b126fe3667f14ab0b8f3c92b8ec39b58 
 
0912a77fd61048b295acc6d2268849d9--b126fe3667f14ab0b8f3c92b8ec39b58 
 
bb066b7d92fb46b184674fa0539d9371 
X 
 
b126fe3667f14ab0b8f3c92b8ec39b58--bb066b7d92fb46b184674fa0539d9371 
 
bb066b7d92fb46b184674fa0539d9371--441049805cfb42d4a1ece1ec2b4c0b20 
 
bb066b7d92fb46b184674fa0539d9371--4340039b01994d2e8d4d57b84382a661 
 
d8e2f32438144fb0af9e5b0595728a68 
 
f16930ca337349dfbaeddaca4fa65839 
RX(4.0*phi) 
 
beb82e18fa9145b19ee9bcfb7dbe4125--f16930ca337349dfbaeddaca4fa65839 
 
32c312bd11054850a52ad5dbdbe11e22 
RX(theta₃) 
 
f16930ca337349dfbaeddaca4fa65839--32c312bd11054850a52ad5dbdbe11e22 
 
ec901bb3bc9448eaa27c30d7e2479bea 
RY(theta₇) 
 
32c312bd11054850a52ad5dbdbe11e22--ec901bb3bc9448eaa27c30d7e2479bea 
 
bb96b5944ce14551ab33b476e03c5f5a 
RX(theta₁₁) 
 
ec901bb3bc9448eaa27c30d7e2479bea--bb96b5944ce14551ab33b476e03c5f5a 
 
543d375877c04711b5fb34913435023c 
X 
 
bb96b5944ce14551ab33b476e03c5f5a--543d375877c04711b5fb34913435023c 
 
543d375877c04711b5fb34913435023c--b8ef476ef0274133bbf9a4cd8fbdd3f9 
 
c9f6534c0de64f5fba7668aa47b0d516 
 
543d375877c04711b5fb34913435023c--c9f6534c0de64f5fba7668aa47b0d516 
 
65bd417211eb4169977ef34ed4eee9f6 
RX(theta₁₅) 
 
c9f6534c0de64f5fba7668aa47b0d516--65bd417211eb4169977ef34ed4eee9f6 
 
28d8abb49130454f98b2c32f20d56015 
RY(theta₁₉) 
 
65bd417211eb4169977ef34ed4eee9f6--28d8abb49130454f98b2c32f20d56015 
 
1e1014650ae64f348478334480c37848 
RX(theta₂₃) 
 
28d8abb49130454f98b2c32f20d56015--1e1014650ae64f348478334480c37848 
 
79062146212947749c02231e60f466e7 
X 
 
1e1014650ae64f348478334480c37848--79062146212947749c02231e60f466e7 
 
79062146212947749c02231e60f466e7--b126fe3667f14ab0b8f3c92b8ec39b58 
 
6d4199ebab614fac97fe51b47071c993 
 
79062146212947749c02231e60f466e7--6d4199ebab614fac97fe51b47071c993 
 
6d4199ebab614fac97fe51b47071c993--d8e2f32438144fb0af9e5b0595728a68 
 
 
 
 
from  qadence  import  QuantumModel ,  QuantumCircuit ,  total_magnetization ,  hea 
model  =  QuantumModel ( QuantumCircuit ( 3 ,  hea ( 3 , 2 )),  total_magnetization ( 3 )) 
%3 
cluster_e6090e7257004be582202914c63f21d2 
Obs. 
 
cluster_623327e272fc40abbba5baa55f5737da 
 
cluster_0568175e17f2415793dcf700dc3f3b58 
HEA 
 
e4d1ff163edc4580b7ab6ede70114083 
0 
 
85c74a807aed437a8886a8311909bece 
RX(theta₀) 
 
e4d1ff163edc4580b7ab6ede70114083--85c74a807aed437a8886a8311909bece 
 
983238dcb20a480fbcf6cfc8e532f578 
1 
 
e9064aa0f8b34c8386797388fd2cd74e 
RY(theta₃) 
 
85c74a807aed437a8886a8311909bece--e9064aa0f8b34c8386797388fd2cd74e 
 
2b75220716074b7da7f3101b651d0e04 
RX(theta₆) 
 
e9064aa0f8b34c8386797388fd2cd74e--2b75220716074b7da7f3101b651d0e04 
 
49f3dfe1614d4a538cfc2012d1e2614b 
 
2b75220716074b7da7f3101b651d0e04--49f3dfe1614d4a538cfc2012d1e2614b 
 
b37239b8f8af4653bc1d327fb2c32e5c 
 
49f3dfe1614d4a538cfc2012d1e2614b--b37239b8f8af4653bc1d327fb2c32e5c 
 
cff74f965bab440181608729c9b5b57d 
RX(theta₉) 
 
b37239b8f8af4653bc1d327fb2c32e5c--cff74f965bab440181608729c9b5b57d 
 
dd012a54176a420c82abf51e46ffa491 
RY(theta₁₂) 
 
cff74f965bab440181608729c9b5b57d--dd012a54176a420c82abf51e46ffa491 
 
b086f134780f4ed88554a5d0cb3435d2 
RX(theta₁₅) 
 
dd012a54176a420c82abf51e46ffa491--b086f134780f4ed88554a5d0cb3435d2 
 
b092abcc06a74905a16ed557964dd531 
 
b086f134780f4ed88554a5d0cb3435d2--b092abcc06a74905a16ed557964dd531 
 
ff41fca00bd94004b79db151bc4e1dc6 
 
b092abcc06a74905a16ed557964dd531--ff41fca00bd94004b79db151bc4e1dc6 
 
c8bd1cb7162c4e839854fc62e2b5ef08 
 
ff41fca00bd94004b79db151bc4e1dc6--c8bd1cb7162c4e839854fc62e2b5ef08 
 
ecbb7c1fc3e649e5a75dbbfb390878ac 
 
c8bd1cb7162c4e839854fc62e2b5ef08--ecbb7c1fc3e649e5a75dbbfb390878ac 
 
6709306417424d71ab5486c76ef47c96 
 
3003dbe8255c451dbfe72ad5745be6b5 
RX(theta₁) 
 
983238dcb20a480fbcf6cfc8e532f578--3003dbe8255c451dbfe72ad5745be6b5 
 
191b5c20ea864778bb8c555961a1781b 
2 
 
6d0dd480225a4bcf9ff3c7a6c32815b7 
RY(theta₄) 
 
3003dbe8255c451dbfe72ad5745be6b5--6d0dd480225a4bcf9ff3c7a6c32815b7 
 
2e7cc1d414cd416c9708f7eac5d3caed 
RX(theta₇) 
 
6d0dd480225a4bcf9ff3c7a6c32815b7--2e7cc1d414cd416c9708f7eac5d3caed 
 
1ddb67ca2ea94e1d85a0becd31760b8f 
X 
 
2e7cc1d414cd416c9708f7eac5d3caed--1ddb67ca2ea94e1d85a0becd31760b8f 
 
1ddb67ca2ea94e1d85a0becd31760b8f--49f3dfe1614d4a538cfc2012d1e2614b 
 
d2403ea863ca469f8936567d5dcbf55d 
 
1ddb67ca2ea94e1d85a0becd31760b8f--d2403ea863ca469f8936567d5dcbf55d 
 
f9351f6d900248e0afa00c9c97f3ce7c 
RX(theta₁₀) 
 
d2403ea863ca469f8936567d5dcbf55d--f9351f6d900248e0afa00c9c97f3ce7c 
 
4cee25d3c6c14eb38dc28f618a3e8a4a 
RY(theta₁₃) 
 
f9351f6d900248e0afa00c9c97f3ce7c--4cee25d3c6c14eb38dc28f618a3e8a4a 
 
4f647cd0faf947eab5e7563cbbeb0ab0 
RX(theta₁₆) 
 
4cee25d3c6c14eb38dc28f618a3e8a4a--4f647cd0faf947eab5e7563cbbeb0ab0 
 
4a878c814d9548fcb57053f9570e3bab 
X 
 
4f647cd0faf947eab5e7563cbbeb0ab0--4a878c814d9548fcb57053f9570e3bab 
 
4a878c814d9548fcb57053f9570e3bab--b092abcc06a74905a16ed557964dd531 
 
2401c4b066ec4ae08fad66c1ea4d565a 
 
4a878c814d9548fcb57053f9570e3bab--2401c4b066ec4ae08fad66c1ea4d565a 
 
48fcf48c5d1446618922dd4a8a68101f 
AddBlock 
 
2401c4b066ec4ae08fad66c1ea4d565a--48fcf48c5d1446618922dd4a8a68101f 
 
48fcf48c5d1446618922dd4a8a68101f--6709306417424d71ab5486c76ef47c96 
 
360006705b24499bac2d355b78068fe8 
 
c7a20b6029ad424ea228eb2f3ecf5939 
RX(theta₂) 
 
191b5c20ea864778bb8c555961a1781b--c7a20b6029ad424ea228eb2f3ecf5939 
 
f98928fa7a8445bfbab080ad69da9db7 
RY(theta₅) 
 
c7a20b6029ad424ea228eb2f3ecf5939--f98928fa7a8445bfbab080ad69da9db7 
 
010ebc896b0b472d9ce8475f58b6b261 
RX(theta₈) 
 
f98928fa7a8445bfbab080ad69da9db7--010ebc896b0b472d9ce8475f58b6b261 
 
5ab4b638e4bc4172a0d18072993cffd6 
 
010ebc896b0b472d9ce8475f58b6b261--5ab4b638e4bc4172a0d18072993cffd6 
 
5ebb5b40381d47709ca392fc4f16639d 
X 
 
5ab4b638e4bc4172a0d18072993cffd6--5ebb5b40381d47709ca392fc4f16639d 
 
5ebb5b40381d47709ca392fc4f16639d--d2403ea863ca469f8936567d5dcbf55d 
 
1a50152f1caa45afa6fe7692502a7bf3 
RX(theta₁₁) 
 
5ebb5b40381d47709ca392fc4f16639d--1a50152f1caa45afa6fe7692502a7bf3 
 
86b5f4b4e82944e08c4a2166b45dfdce 
RY(theta₁₄) 
 
1a50152f1caa45afa6fe7692502a7bf3--86b5f4b4e82944e08c4a2166b45dfdce 
 
c5334eb2d8ed494780406eea4c996c66 
RX(theta₁₇) 
 
86b5f4b4e82944e08c4a2166b45dfdce--c5334eb2d8ed494780406eea4c996c66 
 
08b43f54fac04e008901fbeae8a5069b 
 
c5334eb2d8ed494780406eea4c996c66--08b43f54fac04e008901fbeae8a5069b 
 
ceaea6df7e6c46c69bf4318a5ca94f12 
X 
 
08b43f54fac04e008901fbeae8a5069b--ceaea6df7e6c46c69bf4318a5ca94f12 
 
ceaea6df7e6c46c69bf4318a5ca94f12--2401c4b066ec4ae08fad66c1ea4d565a 
 
ae149535eeb04466926b8c1a17f44cd3 
 
ceaea6df7e6c46c69bf4318a5ca94f12--ae149535eeb04466926b8c1a17f44cd3 
 
ae149535eeb04466926b8c1a17f44cd3--360006705b24499bac2d355b78068fe8 
 
 
 
 
Developer documentation 
This section contains examples in pure graphviz that can be used to understand roughly what is done
in the actual drawing backend.
import  graphviz 
font_name  =  "Sans-Serif" 
font_size  =  "8" 
graph_attr  =  { 
"rankdir" :  "LR" ,   # LR = left to right, TB = top to bottom 
"nodesep" :  "0.1" ,   # In inches, tells distance between nodes without edges 
"compound" :  "true" ,   # Needed to draw properly edges in hamevo when content is hidden 
"splines" :  "false" ,   # Needed to draw control gates vertical lines one over the other 
}   # These are the default values for graphs 
node_attr  =  { 
"shape" :  "box" ,   # 'box' for normal nodes, 'point' for control gates or 'plaintext' for starting nodes (the qubit label). 
"style" :  "rounded" ,   # Unfortunately we can't specify the radius of the rounded, at least for this version 
"fontname" :  font_name , 
"fontsize" :  font_size , 
"width" :  "0.1" ,   # In inches, it doesn't get tinier than the label font. 
"height" :  "0.1"   # In inches, it doesn't get tinier than the label font. 
}   # These are the defaults values that can be overridden at node declaration. 
default_cluster_attr  =  { 
"fontname" :  font_name , 
"fontsize" :  font_size , 
"labelloc" :  "b" ,   # location of cluster label. b as bottom, t as top 
"style" :  "rounded" 
}  # These are the defaults values that can be overridden at sub graph declaration 
hamevo_cluster_attr  =  { 
"label" :  "HamEvo(t=10)" 
} 
hamevo_cluster_attr . update ( default_cluster_attr ) 
h  =  graphviz . Graph ( graph_attr = graph_attr ,  node_attr = node_attr ) 
h . node ( "Hello World!" ) 
h 
# Define graph 
h  =  graphviz . Graph ( node_attr = node_attr ,  graph_attr = graph_attr ) 
# Add start and end nodes 
for  i  in  range ( 4 ): 
h . node ( f 's { i } ' ,  shape = "plaintext" ,  label = f ' { i } ' ,  group = f " { i } " ) 
h . node ( f 'e { i } ' ,  style = 'invis' ,  group = f " { i } " ) 
# Add nodes 
h . node ( 'X' ,  group = "0" ) 
h . node ( 'Y' ,  group = "1" ) 
# Add hamevo and its nodes 
hamevo  =  graphviz . Graph ( name = 'cluster_hamevo' ,  graph_attr = hamevo_cluster_attr ) 
for  i  in  range ( 4 ): 
hamevo . node ( f 'z { i } ' ,  shape = "box" ,  style = "invis" ,  label = f ' { i } ' ,  group = f " { i } " ) 
h . subgraph ( hamevo ) 
# Add rx gates cluster and its nodes 
cluster_attr  =  { "label" :  "RX gates" } 
cluster_attr . update ( default_cluster_attr ) 
cluster  =  graphviz . Graph ( name = "cluster_0" ,  graph_attr = cluster_attr ) 
cluster . node ( 'RX(x)' ,  group = "2" ) 
cluster . node ( 'RX(0.5)' ,  group = "3" ) 
h . subgraph ( cluster ) 
h . node ( 'cnot0' ,  label = '' ,  shape = 'point' ,  width = '0.1' ,  group = '0' ) 
h . node ( 'cnot1' ,  label = 'X' ,  group = '1' ) 
h . node ( 'cnot2' ,  label = '' ,  shape = 'point' ,  width = '0.1' ,  group = '2' ) 
h . node ( 'cnot3' ,  label = '' ,  shape = 'point' ,  width = '0.1' ,  group = '3' ) 
# Add edges 
h . edge ( 's0' ,  'X' ) 
h . edge ( 'X' ,  'cnot0' ) 
h . edge ( 'cnot0' ,  'z0' ,  lhead = 'cluster_hamevo' ) 
h . edge ( 'z0' ,  'e0' ,  ltail = 'cluster_hamevo' ) 
h . edge ( 's1' ,  'Y' ) 
h . edge ( 'Y' ,  'cnot1' ) 
h . edge ( 'cnot1' ,  'z1' ,  lhead = 'cluster_hamevo' ) 
h . edge ( 'z1' ,  'e1' ,  ltail = 'cluster_hamevo' ) 
h . edge ( 's2' ,  'RX(x)' ) 
h . edge ( 'RX(x)' ,  'cnot2' ) 
h . edge ( 'cnot2' ,  'z2' ,  lhead = 'cluster_hamevo' ) 
h . edge ( 'z2' ,  'e2' ,  ltail = 'cluster_hamevo' ) 
h . edge ( 's3' ,  'RX(0.5)' ) 
h . edge ( 'RX(0.5)' ,  'cnot3' ) 
h . edge ( 'cnot3' ,  'z3' ,  lhead = 'cluster_hamevo' ) 
h . edge ( 'z3' ,  'e3' ,  ltail = 'cluster_hamevo' ) 
h . edge ( 'cnot1' ,  'cnot0' ,  constraint = 'false' )   # constraint: false is needed to draw vertical edges 
h . edge ( 'cnot1' ,  'cnot2' ,  constraint = 'false' )   # constraint: false is needed to draw vertical edges 
h . edge ( 'cnot1' ,  'cnot3' ,  constraint = 'false' )   # constraint: false is needed to draw vertical edges 
h 
Example of cluster of clusters 
# Define graph 
h  =  graphviz . Graph ( node_attr = node_attr ,  graph_attr = graph_attr ) 
# Define start and end nodes 
for  i  in  range ( 4 ): 
h . node ( f 's { i } ' ,  shape = "plaintext" ,  label = f ' { i } ' ,  group = f " { i } " ) 
h . node ( f 'e { i } ' ,  style = 'invis' ,  group = f " { i } " ) 
# Define outer cluster 
cluster_attr  =  { "label" :  "Outer cluster" } 
cluster_attr . update ( default_cluster_attr ) 
outer_cluster  =  graphviz . Graph ( name = "cluster_outer" ,  graph_attr = cluster_attr ) 
# Define inner cluster 1 and its nodes 
cluster_attr  =  { "label" :  "Inner cluster 1" } 
cluster_attr . update ( default_cluster_attr ) 
inner1_cluster  =  graphviz . Graph ( name = "cluster_inner1" ,  graph_attr = cluster_attr ) 
inner1_cluster . node ( "a0" ,  group = "0" ) 
inner1_cluster . node ( "a1" ,  group = "1" ) 
outer_cluster . subgraph ( inner1_cluster ) 
# Define inner cluster 2 and its nodes 
cluster_attr  =  { "label" :  "Inner cluster 2" } 
cluster_attr . update ( default_cluster_attr ) 
inner2_cluster  =  graphviz . Graph ( name = "cluster_inner2" ,  graph_attr = cluster_attr ) 
inner2_cluster . node ( "a2" ,  group = "2" ) 
inner2_cluster . node ( "a3" ,  group = "3" ) 
outer_cluster . subgraph ( inner2_cluster ) 
# This has to be done here, after inner clusters definitions 
h . subgraph ( outer_cluster ) 
# Define more nodes 
for  i  in  range ( 4 ): 
h . node ( f "b { i } " ,  group = f " { i } " ) 
for  i  in  range ( 4 ): 
h . edge ( f 's { i } ' ,  f 'a { i } ' ) 
h . edge ( f 'a { i } ' ,  f 'b { i } ' ) 
h . edge ( f 'b { i } ' ,  f 'e { i } ' ) 
h