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 
e0bbf1a6af6147c7ad2c5bdf896a8e00 
0 
 
9685d1367a3a4d60b806cdcf7598c920 
X 
 
e0bbf1a6af6147c7ad2c5bdf896a8e00--9685d1367a3a4d60b806cdcf7598c920 
 
a395a4412bf943af9dcf562277dd0039 
1 
 
6746bea68ffc4895b85784675ae01db7 
 
9685d1367a3a4d60b806cdcf7598c920--6746bea68ffc4895b85784675ae01db7 
 
802e43da3f7240fd81228dc94da46632 
 
56d7cdcdd48e4584afe4c9c1ee3fe228 
Y 
 
a395a4412bf943af9dcf562277dd0039--56d7cdcdd48e4584afe4c9c1ee3fe228 
 
56d7cdcdd48e4584afe4c9c1ee3fe228--802e43da3f7240fd81228dc94da46632 
 
 
 
 
from  qadence  import  X ,  Y ,  chain 
from  qadence.draw  import  display 
b  =  chain ( X ( 0 ),  Y ( 0 )) 
%3 
904edbbd1575457f8b502ccbf3658d91 
0 
 
30c9086ecce44eb79285e0e55b3d25ec 
X 
 
904edbbd1575457f8b502ccbf3658d91--30c9086ecce44eb79285e0e55b3d25ec 
 
65d1bd66729d4a698bc64ea4aceffbc5 
Y 
 
30c9086ecce44eb79285e0e55b3d25ec--65d1bd66729d4a698bc64ea4aceffbc5 
 
1a872b09580d48adad84140031e9dffa 
 
65d1bd66729d4a698bc64ea4aceffbc5--1a872b09580d48adad84140031e9dffa 
 
 
 
 
from  qadence  import  X ,  Y ,  chain 
from  qadence.draw  import  display 
b  =  chain ( X ( 0 ),  Y ( 1 )) 
%3 
491d64098ee84f09983091ff36aea263 
0 
 
d726c32bcce447fcba3d83b80adb172e 
X 
 
491d64098ee84f09983091ff36aea263--d726c32bcce447fcba3d83b80adb172e 
 
dbeeb947060944fd895c0a2bd6fe9273 
1 
 
8f40326947fb4371b4aac7906ab648cc 
 
d726c32bcce447fcba3d83b80adb172e--8f40326947fb4371b4aac7906ab648cc 
 
af1cca21d7a24b2aa30d7ca091ceacc7 
 
8f40326947fb4371b4aac7906ab648cc--af1cca21d7a24b2aa30d7ca091ceacc7 
 
c8e706a9d713410790b7a469158b5f0c 
 
8620cd62a9e64d4faca11a0b8e5c2895 
 
dbeeb947060944fd895c0a2bd6fe9273--8620cd62a9e64d4faca11a0b8e5c2895 
 
0f87f5237b1441088bf8403070e736bc 
Y 
 
8620cd62a9e64d4faca11a0b8e5c2895--0f87f5237b1441088bf8403070e736bc 
 
0f87f5237b1441088bf8403070e736bc--c8e706a9d713410790b7a469158b5f0c 
 
 
 
 
from  qadence  import  X ,  Y ,  add 
from  qadence.draw  import  display 
b  =  add ( X ( 0 ),  Y ( 1 ),  X ( 2 )) 
%3 
cluster_b0b8b7a9ee0f41c6a59f272b9896a624 
 
5ed09ab22e44499a94f7d313cf8dac31 
0 
 
4f11d480111744dda5b60547bea4c10c 
 
5ed09ab22e44499a94f7d313cf8dac31--4f11d480111744dda5b60547bea4c10c 
 
c2b8ad73dfe34a9dbf4bc0c9c68be869 
1 
 
316fb5bea4b24f28abaf759191d3f740 
 
4f11d480111744dda5b60547bea4c10c--316fb5bea4b24f28abaf759191d3f740 
 
cefe4435452f466eaec62772713a2868 
 
0e20cc67f69944da846d86056d663b07 
AddBlock 
 
c2b8ad73dfe34a9dbf4bc0c9c68be869--0e20cc67f69944da846d86056d663b07 
 
20cdadd45c2a46af9678e0d05a20862b 
2 
 
0e20cc67f69944da846d86056d663b07--cefe4435452f466eaec62772713a2868 
 
ad66b24594ca43a588cabd21263d10fb 
 
b0e0cae0cd6b42b7af242d4e64fbdb8b 
 
20cdadd45c2a46af9678e0d05a20862b--b0e0cae0cd6b42b7af242d4e64fbdb8b 
 
b0e0cae0cd6b42b7af242d4e64fbdb8b--ad66b24594ca43a588cabd21263d10fb 
 
 
 
 
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_dfc1458da08b496ab93d7bebc91a3dd0 
 
cluster_75e892cdaede47aca38dce3858080838 
rx 
 
1c9f561a2c82451796dd5891ce6c321b 
0 
 
3f152414a944466aa91b97900d376992 
X 
 
1c9f561a2c82451796dd5891ce6c321b--3f152414a944466aa91b97900d376992 
 
24106a58d6404ac583e8cb9caf585287 
1 
 
1c8a9b43b5ca4debaa5e6e501d459c65 
 
3f152414a944466aa91b97900d376992--1c8a9b43b5ca4debaa5e6e501d459c65 
 
44c403e951f5480bbdf7b1b7596213e1 
 
1c8a9b43b5ca4debaa5e6e501d459c65--44c403e951f5480bbdf7b1b7596213e1 
 
9e0620c466ba421dbe9e10584c4a9030 
 
44c403e951f5480bbdf7b1b7596213e1--9e0620c466ba421dbe9e10584c4a9030 
 
f73d191b8fb34fdf8b2f9cf737f76d8f 
 
ee82469bd4b444ce9f1bb50a962e73d5 
Y 
 
24106a58d6404ac583e8cb9caf585287--ee82469bd4b444ce9f1bb50a962e73d5 
 
5a1b650838c14c6a8a54af9d0e73115c 
2 
 
a0d184e87c1a43a0a22c79c739e9bf81 
 
ee82469bd4b444ce9f1bb50a962e73d5--a0d184e87c1a43a0a22c79c739e9bf81 
 
9f178355d1c049698e2dfb3e71aa7cbe 
HamEvo 
 
a0d184e87c1a43a0a22c79c739e9bf81--9f178355d1c049698e2dfb3e71aa7cbe 
 
9f178355d1c049698e2dfb3e71aa7cbe--f73d191b8fb34fdf8b2f9cf737f76d8f 
 
f88401fc07e249cd92f935e8e99c9f8e 
 
7d25201340ec47108972fb45a5360cb9 
RX(x) 
 
5a1b650838c14c6a8a54af9d0e73115c--7d25201340ec47108972fb45a5360cb9 
 
4b887c04cd124720be2cc14f6ea305b8 
3 
 
04fee0e6ab344c3691898886dcd59f24 
 
7d25201340ec47108972fb45a5360cb9--04fee0e6ab344c3691898886dcd59f24 
 
44004c8c55604ad0a8425102b8a1d2aa 
t = 10 
 
04fee0e6ab344c3691898886dcd59f24--44004c8c55604ad0a8425102b8a1d2aa 
 
44004c8c55604ad0a8425102b8a1d2aa--f88401fc07e249cd92f935e8e99c9f8e 
 
85a2d4b5eb214ab99a5759893c8ee7f0 
 
bb64aba56b77441fab1c6022167ef21d 
RX(0.5) 
 
4b887c04cd124720be2cc14f6ea305b8--bb64aba56b77441fab1c6022167ef21d 
 
ab6e65cdff5d4af69c2f192080956343 
X 
 
bb64aba56b77441fab1c6022167ef21d--ab6e65cdff5d4af69c2f192080956343 
 
ab6e65cdff5d4af69c2f192080956343--04fee0e6ab344c3691898886dcd59f24 
 
9a964789414843e8ba0e03451ff747bf 
 
ab6e65cdff5d4af69c2f192080956343--9a964789414843e8ba0e03451ff747bf 
 
9a964789414843e8ba0e03451ff747bf--85a2d4b5eb214ab99a5759893c8ee7f0 
 
 
 
 
from  qadence  import  feature_map ,  hea ,  chain 
block  =  chain ( feature_map ( 4 ,  reupload_scaling = "Tower" ),  hea ( 4 , 2 )) 
%3 
cluster_ba3bf3463f8c434496a48a857cefdffe 
HEA 
 
cluster_78dab11d8bab42a2beec0f33e1b2ce78 
Tower Fourier FM 
 
744834363a5a4a63af2a3d66a41305e9 
0 
 
6c61874f528b4495a6797748f193078a 
RX(1.0*phi) 
 
744834363a5a4a63af2a3d66a41305e9--6c61874f528b4495a6797748f193078a 
 
fde4355e477c486e91004bae1d424f0b 
1 
 
d33627c571ac4414b67d94d85f928999 
RX(theta₀) 
 
6c61874f528b4495a6797748f193078a--d33627c571ac4414b67d94d85f928999 
 
18030eecc8704544903b92a95c2e139a 
RY(theta₄) 
 
d33627c571ac4414b67d94d85f928999--18030eecc8704544903b92a95c2e139a 
 
b62f3515d8154c6da7ba23e65a37f1b0 
RX(theta₈) 
 
18030eecc8704544903b92a95c2e139a--b62f3515d8154c6da7ba23e65a37f1b0 
 
58f0d544460f4b86aee80ed88d0c7fc5 
 
b62f3515d8154c6da7ba23e65a37f1b0--58f0d544460f4b86aee80ed88d0c7fc5 
 
8e2f70e07a6244e49b6b1b026683f671 
 
58f0d544460f4b86aee80ed88d0c7fc5--8e2f70e07a6244e49b6b1b026683f671 
 
68c3c283333d489285742f879cc9c037 
RX(theta₁₂) 
 
8e2f70e07a6244e49b6b1b026683f671--68c3c283333d489285742f879cc9c037 
 
5ec4acf57f394e4491e746c7e7b53549 
RY(theta₁₆) 
 
68c3c283333d489285742f879cc9c037--5ec4acf57f394e4491e746c7e7b53549 
 
0da99aa47a65487a86c2c63955d3829b 
RX(theta₂₀) 
 
5ec4acf57f394e4491e746c7e7b53549--0da99aa47a65487a86c2c63955d3829b 
 
75c563b664df4a07b8d74e4fefeb6b3a 
 
0da99aa47a65487a86c2c63955d3829b--75c563b664df4a07b8d74e4fefeb6b3a 
 
fc72115caeda41549214ea38087ff659 
 
75c563b664df4a07b8d74e4fefeb6b3a--fc72115caeda41549214ea38087ff659 
 
c99e61919c0b4372ab0c91b0129ef35d 
 
fc72115caeda41549214ea38087ff659--c99e61919c0b4372ab0c91b0129ef35d 
 
674cde4139fc4b4f9127e7d0e429f4b1 
 
68ca796775af40d68205d274b624201e 
RX(2.0*phi) 
 
fde4355e477c486e91004bae1d424f0b--68ca796775af40d68205d274b624201e 
 
2c3e98c25ffb47cf9ff9f11543f0d7fa 
2 
 
a31de0a6fb57415aba4efb5ab573126b 
RX(theta₁) 
 
68ca796775af40d68205d274b624201e--a31de0a6fb57415aba4efb5ab573126b 
 
77020735fe3741ed9e063c0142fb7d1e 
RY(theta₅) 
 
a31de0a6fb57415aba4efb5ab573126b--77020735fe3741ed9e063c0142fb7d1e 
 
28a40fe4ab30481cb6a344efccef2dea 
RX(theta₉) 
 
77020735fe3741ed9e063c0142fb7d1e--28a40fe4ab30481cb6a344efccef2dea 
 
55338fa91cf34f2b8e533cb648f15d51 
X 
 
28a40fe4ab30481cb6a344efccef2dea--55338fa91cf34f2b8e533cb648f15d51 
 
55338fa91cf34f2b8e533cb648f15d51--58f0d544460f4b86aee80ed88d0c7fc5 
 
db73a6fd682d4e5cbb51b3512fb42115 
 
55338fa91cf34f2b8e533cb648f15d51--db73a6fd682d4e5cbb51b3512fb42115 
 
9079b8e95b6a49fcaa0629695745a93f 
RX(theta₁₃) 
 
db73a6fd682d4e5cbb51b3512fb42115--9079b8e95b6a49fcaa0629695745a93f 
 
a1be918526aa436f80ef7ed41372a677 
RY(theta₁₇) 
 
9079b8e95b6a49fcaa0629695745a93f--a1be918526aa436f80ef7ed41372a677 
 
154c7a3cdeba4c15a950783d9f0f4b08 
RX(theta₂₁) 
 
a1be918526aa436f80ef7ed41372a677--154c7a3cdeba4c15a950783d9f0f4b08 
 
eb048bb8c9994910ae36eddf56adfa40 
X 
 
154c7a3cdeba4c15a950783d9f0f4b08--eb048bb8c9994910ae36eddf56adfa40 
 
eb048bb8c9994910ae36eddf56adfa40--75c563b664df4a07b8d74e4fefeb6b3a 
 
f011c3c5f08a4deeac5b2874f9ed2555 
 
eb048bb8c9994910ae36eddf56adfa40--f011c3c5f08a4deeac5b2874f9ed2555 
 
f011c3c5f08a4deeac5b2874f9ed2555--674cde4139fc4b4f9127e7d0e429f4b1 
 
04642a7142a945f08c18c10c461ed469 
 
d03dbdabaa2e44778bb4c093af6c045c 
RX(3.0*phi) 
 
2c3e98c25ffb47cf9ff9f11543f0d7fa--d03dbdabaa2e44778bb4c093af6c045c 
 
8c6be0ce532a4be19d2cb4de38665c36 
3 
 
f27a1ca7de2c422ea49a354b414b1abc 
RX(theta₂) 
 
d03dbdabaa2e44778bb4c093af6c045c--f27a1ca7de2c422ea49a354b414b1abc 
 
64c5088f4a6e43ca82a037113da4b3d6 
RY(theta₆) 
 
f27a1ca7de2c422ea49a354b414b1abc--64c5088f4a6e43ca82a037113da4b3d6 
 
137b8e5f4d6e45ee87d2cc58bf42fc8b 
RX(theta₁₀) 
 
64c5088f4a6e43ca82a037113da4b3d6--137b8e5f4d6e45ee87d2cc58bf42fc8b 
 
84526eb064534d5b96bffb81499a2ad2 
 
137b8e5f4d6e45ee87d2cc58bf42fc8b--84526eb064534d5b96bffb81499a2ad2 
 
ee0806237a40404eb49be325ae7134ee 
X 
 
84526eb064534d5b96bffb81499a2ad2--ee0806237a40404eb49be325ae7134ee 
 
ee0806237a40404eb49be325ae7134ee--db73a6fd682d4e5cbb51b3512fb42115 
 
83274d96ef7440008d99a8fa76e43f44 
RX(theta₁₄) 
 
ee0806237a40404eb49be325ae7134ee--83274d96ef7440008d99a8fa76e43f44 
 
cfbdf40a787f4aedaab70c3edd4232de 
RY(theta₁₈) 
 
83274d96ef7440008d99a8fa76e43f44--cfbdf40a787f4aedaab70c3edd4232de 
 
37df38ddb0ac4ca3bb03875a60bcbb88 
RX(theta₂₂) 
 
cfbdf40a787f4aedaab70c3edd4232de--37df38ddb0ac4ca3bb03875a60bcbb88 
 
6b9e32408adc4bee8df8a91d8e09340a 
 
37df38ddb0ac4ca3bb03875a60bcbb88--6b9e32408adc4bee8df8a91d8e09340a 
 
156cc4935f7844d0a0a6b934ef78a8df 
X 
 
6b9e32408adc4bee8df8a91d8e09340a--156cc4935f7844d0a0a6b934ef78a8df 
 
156cc4935f7844d0a0a6b934ef78a8df--f011c3c5f08a4deeac5b2874f9ed2555 
 
156cc4935f7844d0a0a6b934ef78a8df--04642a7142a945f08c18c10c461ed469 
 
24eb0b516ee94b11a54f600b72ef8799 
 
49d9ef9158b940c3894f84c2614be3fb 
RX(4.0*phi) 
 
8c6be0ce532a4be19d2cb4de38665c36--49d9ef9158b940c3894f84c2614be3fb 
 
9e408fa3bf3a4bdca516aa6e331e6caf 
RX(theta₃) 
 
49d9ef9158b940c3894f84c2614be3fb--9e408fa3bf3a4bdca516aa6e331e6caf 
 
42da52c98a9742cdb06daf30b2ff08e6 
RY(theta₇) 
 
9e408fa3bf3a4bdca516aa6e331e6caf--42da52c98a9742cdb06daf30b2ff08e6 
 
618333ad8db244ed95e823416df2c46b 
RX(theta₁₁) 
 
42da52c98a9742cdb06daf30b2ff08e6--618333ad8db244ed95e823416df2c46b 
 
bfb2fb36b7524785a1d0d6de8fee2652 
X 
 
618333ad8db244ed95e823416df2c46b--bfb2fb36b7524785a1d0d6de8fee2652 
 
bfb2fb36b7524785a1d0d6de8fee2652--84526eb064534d5b96bffb81499a2ad2 
 
9f6a86cf7e984c5f8edf8d6db164652e 
 
bfb2fb36b7524785a1d0d6de8fee2652--9f6a86cf7e984c5f8edf8d6db164652e 
 
3f9f1e16dff94a07a760cb829d1e7ade 
RX(theta₁₅) 
 
9f6a86cf7e984c5f8edf8d6db164652e--3f9f1e16dff94a07a760cb829d1e7ade 
 
970ef6e4e4804b329d3a456f7c3bc09d 
RY(theta₁₉) 
 
3f9f1e16dff94a07a760cb829d1e7ade--970ef6e4e4804b329d3a456f7c3bc09d 
 
c69cce8409844c4fa77aba3a750fa8ab 
RX(theta₂₃) 
 
970ef6e4e4804b329d3a456f7c3bc09d--c69cce8409844c4fa77aba3a750fa8ab 
 
d626fe82e6bc4ebca1799f77c1bb6bc1 
X 
 
c69cce8409844c4fa77aba3a750fa8ab--d626fe82e6bc4ebca1799f77c1bb6bc1 
 
d626fe82e6bc4ebca1799f77c1bb6bc1--6b9e32408adc4bee8df8a91d8e09340a 
 
4716960f9013441e8e4be8d37c80a56e 
 
d626fe82e6bc4ebca1799f77c1bb6bc1--4716960f9013441e8e4be8d37c80a56e 
 
4716960f9013441e8e4be8d37c80a56e--24eb0b516ee94b11a54f600b72ef8799 
 
 
 
 
from  qadence  import  QuantumModel ,  QuantumCircuit ,  total_magnetization ,  hea 
model  =  QuantumModel ( QuantumCircuit ( 3 ,  hea ( 3 , 2 )),  total_magnetization ( 3 )) 
%3 
cluster_7e440d5d41fb441aa66c0805245ff3c9 
Obs. 
 
cluster_000bc532e92f45829047d6dbea2c4831 
 
cluster_42641c795437447ba8c130152677bc78 
HEA 
 
1e58cedea2bb493fb6cac2e42a51a93b 
0 
 
ddacf279ee4c4021b223e66cb36a90a8 
RX(theta₀) 
 
1e58cedea2bb493fb6cac2e42a51a93b--ddacf279ee4c4021b223e66cb36a90a8 
 
83c8373ecb854ffeaf794a851d2c03ae 
1 
 
ecdb5e7175c94992b856542d98d8c7c3 
RY(theta₃) 
 
ddacf279ee4c4021b223e66cb36a90a8--ecdb5e7175c94992b856542d98d8c7c3 
 
3c6b1d15a8df4c8e9a88ca99adf8a40e 
RX(theta₆) 
 
ecdb5e7175c94992b856542d98d8c7c3--3c6b1d15a8df4c8e9a88ca99adf8a40e 
 
c388befa0d4c41f89a8f4a87f91fef50 
 
3c6b1d15a8df4c8e9a88ca99adf8a40e--c388befa0d4c41f89a8f4a87f91fef50 
 
1ce6aca0d6c04060b0cae701eeca94fa 
 
c388befa0d4c41f89a8f4a87f91fef50--1ce6aca0d6c04060b0cae701eeca94fa 
 
799eab57874846839b46eb6b4203e679 
RX(theta₉) 
 
1ce6aca0d6c04060b0cae701eeca94fa--799eab57874846839b46eb6b4203e679 
 
0ae81d05a5974fb6bed9dfc53a16bdda 
RY(theta₁₂) 
 
799eab57874846839b46eb6b4203e679--0ae81d05a5974fb6bed9dfc53a16bdda 
 
607fc7c10c7f45f5ac17498af79c194b 
RX(theta₁₅) 
 
0ae81d05a5974fb6bed9dfc53a16bdda--607fc7c10c7f45f5ac17498af79c194b 
 
39f05a407c634dc99095682cc32f4bc0 
 
607fc7c10c7f45f5ac17498af79c194b--39f05a407c634dc99095682cc32f4bc0 
 
409d70d5c3554496846e56d00248e380 
 
39f05a407c634dc99095682cc32f4bc0--409d70d5c3554496846e56d00248e380 
 
213f98952c8f4509bdbfbeb02ada759c 
 
409d70d5c3554496846e56d00248e380--213f98952c8f4509bdbfbeb02ada759c 
 
90109253b8d24495a7254111d0ab7436 
 
213f98952c8f4509bdbfbeb02ada759c--90109253b8d24495a7254111d0ab7436 
 
11ee7af6dac045cd8c3c967b22b149f9 
 
a684b0bbe46b465a916cdc6e2e491ef8 
RX(theta₁) 
 
83c8373ecb854ffeaf794a851d2c03ae--a684b0bbe46b465a916cdc6e2e491ef8 
 
597ad66ac70f4d9285839f20ecb49427 
2 
 
ccd3648fc60f4625b522ae9d1940a480 
RY(theta₄) 
 
a684b0bbe46b465a916cdc6e2e491ef8--ccd3648fc60f4625b522ae9d1940a480 
 
26c9668faf2c48dba3f1fbb4bbd19dff 
RX(theta₇) 
 
ccd3648fc60f4625b522ae9d1940a480--26c9668faf2c48dba3f1fbb4bbd19dff 
 
ca80810b9c5f4270b92c67a9801ab6ed 
X 
 
26c9668faf2c48dba3f1fbb4bbd19dff--ca80810b9c5f4270b92c67a9801ab6ed 
 
ca80810b9c5f4270b92c67a9801ab6ed--c388befa0d4c41f89a8f4a87f91fef50 
 
14684460ba5f4ed7afb8e9f248a784f1 
 
ca80810b9c5f4270b92c67a9801ab6ed--14684460ba5f4ed7afb8e9f248a784f1 
 
1b258b060e1a446c9fe78d5eb7248d0d 
RX(theta₁₀) 
 
14684460ba5f4ed7afb8e9f248a784f1--1b258b060e1a446c9fe78d5eb7248d0d 
 
a822955de98c4b70b6092dca3cf9203d 
RY(theta₁₃) 
 
1b258b060e1a446c9fe78d5eb7248d0d--a822955de98c4b70b6092dca3cf9203d 
 
a4b6c5614efc422090cf5a301275ef66 
RX(theta₁₆) 
 
a822955de98c4b70b6092dca3cf9203d--a4b6c5614efc422090cf5a301275ef66 
 
ffa7a787b6c9409fb0de1e19c751036e 
X 
 
a4b6c5614efc422090cf5a301275ef66--ffa7a787b6c9409fb0de1e19c751036e 
 
ffa7a787b6c9409fb0de1e19c751036e--39f05a407c634dc99095682cc32f4bc0 
 
c3922a43b9a14fb9893abfec3a3db9a3 
 
ffa7a787b6c9409fb0de1e19c751036e--c3922a43b9a14fb9893abfec3a3db9a3 
 
56cbc57146224776b9bc62d0aca90ae8 
AddBlock 
 
c3922a43b9a14fb9893abfec3a3db9a3--56cbc57146224776b9bc62d0aca90ae8 
 
56cbc57146224776b9bc62d0aca90ae8--11ee7af6dac045cd8c3c967b22b149f9 
 
1675cfc3fd2e4fe3b206286fa4b1fec1 
 
66e9b3e997b041a8a779af881397563f 
RX(theta₂) 
 
597ad66ac70f4d9285839f20ecb49427--66e9b3e997b041a8a779af881397563f 
 
2bc59c77b81e40e5a0e06e31e21a979e 
RY(theta₅) 
 
66e9b3e997b041a8a779af881397563f--2bc59c77b81e40e5a0e06e31e21a979e 
 
103e63f27a82454f99c57f5dbd30f645 
RX(theta₈) 
 
2bc59c77b81e40e5a0e06e31e21a979e--103e63f27a82454f99c57f5dbd30f645 
 
0606370efe9e420b8bf5ef3c87f1aceb 
 
103e63f27a82454f99c57f5dbd30f645--0606370efe9e420b8bf5ef3c87f1aceb 
 
0c4cc4f9b4c3490d9141f7be58e6f3aa 
X 
 
0606370efe9e420b8bf5ef3c87f1aceb--0c4cc4f9b4c3490d9141f7be58e6f3aa 
 
0c4cc4f9b4c3490d9141f7be58e6f3aa--14684460ba5f4ed7afb8e9f248a784f1 
 
681ce6a60aea4247ab73770017f8b49e 
RX(theta₁₁) 
 
0c4cc4f9b4c3490d9141f7be58e6f3aa--681ce6a60aea4247ab73770017f8b49e 
 
d1a070d3939542eaab4dded55510638d 
RY(theta₁₄) 
 
681ce6a60aea4247ab73770017f8b49e--d1a070d3939542eaab4dded55510638d 
 
4a9b7bfdfea04c59a5b0262decc0bf8d 
RX(theta₁₇) 
 
d1a070d3939542eaab4dded55510638d--4a9b7bfdfea04c59a5b0262decc0bf8d 
 
0cf51f0bfc1b4bedb70fe31cbdf779f0 
 
4a9b7bfdfea04c59a5b0262decc0bf8d--0cf51f0bfc1b4bedb70fe31cbdf779f0 
 
3180e8acf8ba465db1157d73023ff278 
X 
 
0cf51f0bfc1b4bedb70fe31cbdf779f0--3180e8acf8ba465db1157d73023ff278 
 
3180e8acf8ba465db1157d73023ff278--c3922a43b9a14fb9893abfec3a3db9a3 
 
b787966d4e664661873582196bd348a0 
 
3180e8acf8ba465db1157d73023ff278--b787966d4e664661873582196bd348a0 
 
b787966d4e664661873582196bd348a0--1675cfc3fd2e4fe3b206286fa4b1fec1 
 
 
 
 
from  qadence  import  * 
b  =  chain ( SWAP ( 0 , 1 ),  SWAP ( 0 , 3 )) 
%3 
97e76c8befea4889923ecdfd216d3e62 
0 
 
b40eb7c61d4f47f3b4cab9734408b78b 
 
97e76c8befea4889923ecdfd216d3e62--b40eb7c61d4f47f3b4cab9734408b78b 
 
964b14d5a95f4532ae74b0b56beef800 
1 
 
84530269894b4afe8653a11b02ea0762 
 
62eebe7aa12a4ec783a6daf73efa9768 
 
b40eb7c61d4f47f3b4cab9734408b78b--62eebe7aa12a4ec783a6daf73efa9768 
 
849bbe4e700748809493b93e1a5ab75d 
 
84530269894b4afe8653a11b02ea0762--849bbe4e700748809493b93e1a5ab75d 
 
9078dc74196044faa88967e9bf2bef63 
 
9d9463e687ea48b3bfd7e9ad33159841 
 
849bbe4e700748809493b93e1a5ab75d--9d9463e687ea48b3bfd7e9ad33159841 
 
f77b72ccff8940949c90273061d377c0 
 
9078dc74196044faa88967e9bf2bef63--f77b72ccff8940949c90273061d377c0 
 
2d1524f9d7ec466b852040355e17fd88 
 
74e61c9cc7f441f182268bf7e6e46e19 
 
964b14d5a95f4532ae74b0b56beef800--74e61c9cc7f441f182268bf7e6e46e19 
 
87ea2f4186944a23be2ea5fa96e1a43f 
2 
 
74e61c9cc7f441f182268bf7e6e46e19--84530269894b4afe8653a11b02ea0762 
 
ffcfd125a2c84ccd9513bd0679e0d197 
 
62eebe7aa12a4ec783a6daf73efa9768--ffcfd125a2c84ccd9513bd0679e0d197 
 
0dbea0c668cd4d129f57feca10d443d0 
 
ffcfd125a2c84ccd9513bd0679e0d197--0dbea0c668cd4d129f57feca10d443d0 
 
0dbea0c668cd4d129f57feca10d443d0--2d1524f9d7ec466b852040355e17fd88 
 
87715e9a9e844803b10a27a6fcd41efe 
 
3b06201ea7ad4141b5366d1092559e77 
 
87ea2f4186944a23be2ea5fa96e1a43f--3b06201ea7ad4141b5366d1092559e77 
 
1acd520858f1463789808f5fb451d6ef 
3 
 
f5d2e8ddfece444f852ddb3ecd441d7b 
 
3b06201ea7ad4141b5366d1092559e77--f5d2e8ddfece444f852ddb3ecd441d7b 
 
dd6c23084fd0445a87c74b537e2811f3 
 
f5d2e8ddfece444f852ddb3ecd441d7b--dd6c23084fd0445a87c74b537e2811f3 
 
2ce8a5d2144442de884e9a33bc893442 
 
dd6c23084fd0445a87c74b537e2811f3--2ce8a5d2144442de884e9a33bc893442 
 
2ce8a5d2144442de884e9a33bc893442--87715e9a9e844803b10a27a6fcd41efe 
 
e10961b023b647f7b8a0547409b733d1 
 
615bc4119e1749dcbe8cc8d2e5d5f21f 
 
1acd520858f1463789808f5fb451d6ef--615bc4119e1749dcbe8cc8d2e5d5f21f 
 
e70ca3a05c324a278306e545991cfe35 
 
615bc4119e1749dcbe8cc8d2e5d5f21f--e70ca3a05c324a278306e545991cfe35 
 
9dd1228cb674492b8af980f84738375b 
 
e70ca3a05c324a278306e545991cfe35--9dd1228cb674492b8af980f84738375b 
 
9dd1228cb674492b8af980f84738375b--9078dc74196044faa88967e9bf2bef63 
 
9d9463e687ea48b3bfd7e9ad33159841--e10961b023b647f7b8a0547409b733d1 
 
 
 
 
from  qadence  import  * 
b  =  chain ( CPHASE ( 0 ,  1 ,  0.5 ),  CPHASE ( 0 ,  2 ,  0.5 ),  CPHASE ( 0 ,  3 ,  0.5 )) 
%3 
46b178dcc7164effb0f70f04aa3ec919 
0 
 
f47d52d46cd14217bbd483903908a5c0 
 
46b178dcc7164effb0f70f04aa3ec919--f47d52d46cd14217bbd483903908a5c0 
 
dd224e6e259040638761b99414136406 
1 
 
b7ff75fd56aa44e19ed44cc571807e6b 
 
f47d52d46cd14217bbd483903908a5c0--b7ff75fd56aa44e19ed44cc571807e6b 
 
cdc911b6079248c292939632a8c5a46a 
 
b7ff75fd56aa44e19ed44cc571807e6b--cdc911b6079248c292939632a8c5a46a 
 
462dc515fcab4f1a949aa619131b58ff 
 
cdc911b6079248c292939632a8c5a46a--462dc515fcab4f1a949aa619131b58ff 
 
34b2cfc174a14fec98468e8c527d2b3b 
 
19641df08b7d484796ffb4aad4ceb945 
PHASE(0.5) 
 
dd224e6e259040638761b99414136406--19641df08b7d484796ffb4aad4ceb945 
 
23a00f51752f4a5ab715653f638b967c 
2 
 
19641df08b7d484796ffb4aad4ceb945--f47d52d46cd14217bbd483903908a5c0 
 
221ef403085d49cfb9b5a749828cb9e3 
 
19641df08b7d484796ffb4aad4ceb945--221ef403085d49cfb9b5a749828cb9e3 
 
69ea94a789634767b7670fce594d8c7d 
 
221ef403085d49cfb9b5a749828cb9e3--69ea94a789634767b7670fce594d8c7d 
 
69ea94a789634767b7670fce594d8c7d--34b2cfc174a14fec98468e8c527d2b3b 
 
92b75c6fad2c4e77b0551eede8557766 
 
69ee917f2e79471aa3b20fd5fcc14fe0 
 
23a00f51752f4a5ab715653f638b967c--69ee917f2e79471aa3b20fd5fcc14fe0 
 
7d2427fad08e43e6af43158db634f46f 
3 
 
15bc8fc5bfc340b6a0c49457da8ec202 
PHASE(0.5) 
 
69ee917f2e79471aa3b20fd5fcc14fe0--15bc8fc5bfc340b6a0c49457da8ec202 
 
15bc8fc5bfc340b6a0c49457da8ec202--b7ff75fd56aa44e19ed44cc571807e6b 
 
99851697b7ee4f3a8ff5c1503d1ebcd3 
 
15bc8fc5bfc340b6a0c49457da8ec202--99851697b7ee4f3a8ff5c1503d1ebcd3 
 
99851697b7ee4f3a8ff5c1503d1ebcd3--92b75c6fad2c4e77b0551eede8557766 
 
abcedaabc4db425187c47831b7444db0 
 
6035213752e84852a8bc08b6e5e70026 
 
7d2427fad08e43e6af43158db634f46f--6035213752e84852a8bc08b6e5e70026 
 
b7e2df831360425d986f4c823d6a96cd 
 
6035213752e84852a8bc08b6e5e70026--b7e2df831360425d986f4c823d6a96cd 
 
979747a890674e6aa16338903836a7f7 
PHASE(0.5) 
 
b7e2df831360425d986f4c823d6a96cd--979747a890674e6aa16338903836a7f7 
 
979747a890674e6aa16338903836a7f7--cdc911b6079248c292939632a8c5a46a 
 
979747a890674e6aa16338903836a7f7--abcedaabc4db425187c47831b7444db0 
 
 
 
 
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