qadence.draw example plots 
Mostly 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 
 
af40f084c7134d78bfa73d13b2570610 
0 
 
7426481cca3c4756978af615045eeba4 
 
X 
 
af40f084c7134d78bfa73d13b2570610--7426481cca3c4756978af615045eeba4 
 
 
d9a7d875941d4597805d6b18c154c46e 
1 
 
450d88cb083b4b6f849b09283561305f 
 
7426481cca3c4756978af615045eeba4--450d88cb083b4b6f849b09283561305f 
 
 
57b3eebd2032478fbc422a5454a3e5f3 
 
b2c0d0ae55e0495da529ddf6b7522da1 
 
Y 
 
d9a7d875941d4597805d6b18c154c46e--b2c0d0ae55e0495da529ddf6b7522da1 
 
 
b2c0d0ae55e0495da529ddf6b7522da1--57b3eebd2032478fbc422a5454a3e5f3 
 
 
 
 
 
from  qadence  import  X ,  Y ,  chain 
from  qadence.draw  import  display 
 
b  =  chain ( X ( 0 ),  Y ( 0 )) 
 
%3 
 
e1d16482ed1d4728b5565769ff4a4370 
0 
 
b59890886b4f43d59a4217033c4370a2 
 
X 
 
e1d16482ed1d4728b5565769ff4a4370--b59890886b4f43d59a4217033c4370a2 
 
 
483e02112ef64d55bd0a808a6ec87410 
 
Y 
 
b59890886b4f43d59a4217033c4370a2--483e02112ef64d55bd0a808a6ec87410 
 
 
0dc6987b41a34639ae4386ca5c938edd 
 
483e02112ef64d55bd0a808a6ec87410--0dc6987b41a34639ae4386ca5c938edd 
 
 
 
 
 
from  qadence  import  X ,  Y ,  chain 
from  qadence.draw  import  display 
 
b  =  chain ( X ( 0 ),  Y ( 1 )) 
 
%3 
 
95595cd501e04ab1a51e4a4c2e4bcb99 
0 
 
977ff982042e44c28fb9c01388280f55 
 
X 
 
95595cd501e04ab1a51e4a4c2e4bcb99--977ff982042e44c28fb9c01388280f55 
 
 
a3424b6b29e84e1d9713481af23c849a 
1 
 
91ddf4377df942b3a5b8a4b35d8d4a92 
 
 
977ff982042e44c28fb9c01388280f55--91ddf4377df942b3a5b8a4b35d8d4a92 
 
 
3c1faf5e886940cf920ae69c146e5305 
 
91ddf4377df942b3a5b8a4b35d8d4a92--3c1faf5e886940cf920ae69c146e5305 
 
 
863a7c0af1e649fbadaa40c75b3469e5 
 
63eef9b9b2c44421bb11e2dde3c26f8c 
 
 
a3424b6b29e84e1d9713481af23c849a--63eef9b9b2c44421bb11e2dde3c26f8c 
 
 
bb303eda6e0849e3ac39bb9fbfbed87e 
 
Y 
 
63eef9b9b2c44421bb11e2dde3c26f8c--bb303eda6e0849e3ac39bb9fbfbed87e 
 
 
bb303eda6e0849e3ac39bb9fbfbed87e--863a7c0af1e649fbadaa40c75b3469e5 
 
 
 
 
 
from  qadence  import  X ,  Y ,  add 
from  qadence.draw  import  display 
 
b  =  add ( X ( 0 ),  Y ( 1 ),  X ( 2 )) 
 
%3 
 
cluster_d6c57a5ddb044de9b339203c51337b7e 
 
 
afae128a1e2b4e2a96373fa0552bc7d7 
0 
 
e2fbcfb0f8b74019851cf8ebd42c41d7 
 
afae128a1e2b4e2a96373fa0552bc7d7--e2fbcfb0f8b74019851cf8ebd42c41d7 
 
 
a905211af02e453a9c219015b4f8ff83 
1 
 
4edd9cadac0b43c7901fc3e813aa639e 
 
e2fbcfb0f8b74019851cf8ebd42c41d7--4edd9cadac0b43c7901fc3e813aa639e 
 
 
e9a5d1bb678a436f86bb795181d3a1d5 
 
f54e4983a21e4a9ca369f7e2d7b78775 
AddBlock 
 
a905211af02e453a9c219015b4f8ff83--f54e4983a21e4a9ca369f7e2d7b78775 
 
 
56aff43abdd1431e809f1ff600dacd0a 
2 
 
f54e4983a21e4a9ca369f7e2d7b78775--e9a5d1bb678a436f86bb795181d3a1d5 
 
 
8697921fa94f4810a1454163d5dc8690 
 
a916797e5d594401b178cd9ffce981e7 
 
56aff43abdd1431e809f1ff600dacd0a--a916797e5d594401b178cd9ffce981e7 
 
 
a916797e5d594401b178cd9ffce981e7--8697921fa94f4810a1454163d5dc8690 
 
 
 
 
 
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_00d077d94e6e492bb8975b61cbd85ef7 
 
 
cluster_785d85ee84854fcc82d4dec14f218f06 
 
rx 
 
9aff68d4c93947e39442f02477860cb9 
0 
 
fc6931b7186342fca280086787344f5f 
 
X 
 
9aff68d4c93947e39442f02477860cb9--fc6931b7186342fca280086787344f5f 
 
 
30b849535ded4266af42131c1c090761 
1 
 
7c2bd291a4644a8492b1df461bd0ab36 
 
 
fc6931b7186342fca280086787344f5f--7c2bd291a4644a8492b1df461bd0ab36 
 
 
f318d1517d704f75b6582a900117329a 
 
7c2bd291a4644a8492b1df461bd0ab36--f318d1517d704f75b6582a900117329a 
 
 
d53de34151c14d85ad6e05236a7bf296 
 
f318d1517d704f75b6582a900117329a--d53de34151c14d85ad6e05236a7bf296 
 
 
c9836e39e6394791875697e9180ee934 
 
e600c6266e064623b8d66772f9c040bf 
 
Y 
 
30b849535ded4266af42131c1c090761--e600c6266e064623b8d66772f9c040bf 
 
 
4e872d5818ad4e6393a68c1449aba181 
2 
 
1ff88556d36940ac8a734124bf750d73 
 
 
e600c6266e064623b8d66772f9c040bf--1ff88556d36940ac8a734124bf750d73 
 
 
f30d6ab94c2c4e4a9ca66024985cc0e7 
HamEvo 
 
1ff88556d36940ac8a734124bf750d73--f30d6ab94c2c4e4a9ca66024985cc0e7 
 
 
f30d6ab94c2c4e4a9ca66024985cc0e7--c9836e39e6394791875697e9180ee934 
 
 
bfab29746db9480aa543c1601eb3ef18 
 
2c93294aa33d4e5192aaa2144b8acdc5 
 
RX(x) 
 
4e872d5818ad4e6393a68c1449aba181--2c93294aa33d4e5192aaa2144b8acdc5 
 
 
e0ffafb21c2c4e8e8220aba7f36cb4b1 
3 
 
8631266d5f614565b0032d0fc4867441 
 
 
2c93294aa33d4e5192aaa2144b8acdc5--8631266d5f614565b0032d0fc4867441 
 
 
277ce76ec19d49e0bb32a1392ca3f5e3 
t = 10 
 
8631266d5f614565b0032d0fc4867441--277ce76ec19d49e0bb32a1392ca3f5e3 
 
 
277ce76ec19d49e0bb32a1392ca3f5e3--bfab29746db9480aa543c1601eb3ef18 
 
 
936c53f206764f82a7a124f9eb0ce66a 
 
bc7a01d02c254cc1be87604874a1f45a 
 
RX(0.5) 
 
e0ffafb21c2c4e8e8220aba7f36cb4b1--bc7a01d02c254cc1be87604874a1f45a 
 
 
7c792f38c9db4feda13a0972d8f1f578 
 
X 
 
bc7a01d02c254cc1be87604874a1f45a--7c792f38c9db4feda13a0972d8f1f578 
 
 
7c792f38c9db4feda13a0972d8f1f578--8631266d5f614565b0032d0fc4867441 
 
 
3f2ec259b2254711bfbad38edb0cf92a 
 
7c792f38c9db4feda13a0972d8f1f578--3f2ec259b2254711bfbad38edb0cf92a 
 
 
3f2ec259b2254711bfbad38edb0cf92a--936c53f206764f82a7a124f9eb0ce66a 
 
 
 
 
 
from  qadence  import  feature_map ,  hea ,  chain 
 
block  =  chain ( feature_map ( 4 ,  reupload_scaling = "Tower" ),  hea ( 4 , 2 )) 
 
%3 
 
cluster_0bf9e37453194870b088f0185108653d 
 
HEA 
 
cluster_3a36799d36994ce2b8063c39220600ca 
 
Tower Fourier FM 
 
7bc135ff1dbf4e5b85b98f3c10a38571 
0 
 
183594c4934c47df8af32dddd5b697ab 
 
RX(1.0*phi) 
 
7bc135ff1dbf4e5b85b98f3c10a38571--183594c4934c47df8af32dddd5b697ab 
 
 
5ac559c2dd874be4a01ce59ed83479be 
1 
 
e2846bac6c0848d1a69e3f5de21d4781 
 
RX(theta₀) 
 
183594c4934c47df8af32dddd5b697ab--e2846bac6c0848d1a69e3f5de21d4781 
 
 
6bdb7fd914f64bcd95b2ce811162ced3 
 
RY(theta₄) 
 
e2846bac6c0848d1a69e3f5de21d4781--6bdb7fd914f64bcd95b2ce811162ced3 
 
 
d6213ba8aaa24398b8190e0deb966344 
 
RX(theta₈) 
 
6bdb7fd914f64bcd95b2ce811162ced3--d6213ba8aaa24398b8190e0deb966344 
 
 
bc8d48d7b44342bcb3f9fccb55539d40 
 
 
d6213ba8aaa24398b8190e0deb966344--bc8d48d7b44342bcb3f9fccb55539d40 
 
 
3df33415ec2b49c8a4217b909d7ac59f 
 
 
bc8d48d7b44342bcb3f9fccb55539d40--3df33415ec2b49c8a4217b909d7ac59f 
 
 
da8ae65687724debb76cb522da0f87c6 
 
RX(theta₁₂) 
 
3df33415ec2b49c8a4217b909d7ac59f--da8ae65687724debb76cb522da0f87c6 
 
 
122417f9206b4e51ab46e14f863639ba 
 
RY(theta₁₆) 
 
da8ae65687724debb76cb522da0f87c6--122417f9206b4e51ab46e14f863639ba 
 
 
f24017504e1e4f888a073b5188a7d72d 
 
RX(theta₂₀) 
 
122417f9206b4e51ab46e14f863639ba--f24017504e1e4f888a073b5188a7d72d 
 
 
964e72011d36461b83b19ca8af775dd2 
 
 
f24017504e1e4f888a073b5188a7d72d--964e72011d36461b83b19ca8af775dd2 
 
 
9fd7768405cb4f828f8ea9dbfee69b02 
 
 
964e72011d36461b83b19ca8af775dd2--9fd7768405cb4f828f8ea9dbfee69b02 
 
 
27ab6d70eb9246e5aede5db8b8426ccb 
 
9fd7768405cb4f828f8ea9dbfee69b02--27ab6d70eb9246e5aede5db8b8426ccb 
 
 
33d6282ff85844b0a8685fd998adc678 
 
a0c4c4a9c2db4e839a4c7ed090df6c1e 
 
RX(2.0*phi) 
 
5ac559c2dd874be4a01ce59ed83479be--a0c4c4a9c2db4e839a4c7ed090df6c1e 
 
 
4d0d586815e04476963971f91f7d4706 
2 
 
cbc4b34f4ee94c20872b296e537c784a 
 
RX(theta₁) 
 
a0c4c4a9c2db4e839a4c7ed090df6c1e--cbc4b34f4ee94c20872b296e537c784a 
 
 
c5600f93b9fc4409a61a3d538b562415 
 
RY(theta₅) 
 
cbc4b34f4ee94c20872b296e537c784a--c5600f93b9fc4409a61a3d538b562415 
 
 
e7117cbd685e479597730520fbe1683b 
 
RX(theta₉) 
 
c5600f93b9fc4409a61a3d538b562415--e7117cbd685e479597730520fbe1683b 
 
 
f8ed2d17ff1148b8aea7fff5395f5d35 
 
X 
 
e7117cbd685e479597730520fbe1683b--f8ed2d17ff1148b8aea7fff5395f5d35 
 
 
f8ed2d17ff1148b8aea7fff5395f5d35--bc8d48d7b44342bcb3f9fccb55539d40 
 
 
352b034b858e40898e5a9ab5e9a3090e 
 
 
f8ed2d17ff1148b8aea7fff5395f5d35--352b034b858e40898e5a9ab5e9a3090e 
 
 
01b70e84db5245f68a0d8d2a2e7728ad 
 
RX(theta₁₃) 
 
352b034b858e40898e5a9ab5e9a3090e--01b70e84db5245f68a0d8d2a2e7728ad 
 
 
aec0aadbd9a740e2b8d9151ae2473d82 
 
RY(theta₁₇) 
 
01b70e84db5245f68a0d8d2a2e7728ad--aec0aadbd9a740e2b8d9151ae2473d82 
 
 
b924f383989d4d6a92698552e331a464 
 
RX(theta₂₁) 
 
aec0aadbd9a740e2b8d9151ae2473d82--b924f383989d4d6a92698552e331a464 
 
 
0f5d47bfadff4aab93437a22ab93d217 
 
X 
 
b924f383989d4d6a92698552e331a464--0f5d47bfadff4aab93437a22ab93d217 
 
 
0f5d47bfadff4aab93437a22ab93d217--964e72011d36461b83b19ca8af775dd2 
 
 
34e3ed0bb2a9477391f4871606b72cc6 
 
 
0f5d47bfadff4aab93437a22ab93d217--34e3ed0bb2a9477391f4871606b72cc6 
 
 
34e3ed0bb2a9477391f4871606b72cc6--33d6282ff85844b0a8685fd998adc678 
 
 
ff531eb9757748808e3a38cc8cc995d8 
 
a0453c7beb5643c78b798181941702f9 
 
RX(3.0*phi) 
 
4d0d586815e04476963971f91f7d4706--a0453c7beb5643c78b798181941702f9 
 
 
61f4fdcfff024abd9438d9618f3614f1 
3 
 
518ce26733664d74ad7c21834ac7cd40 
 
RX(theta₂) 
 
a0453c7beb5643c78b798181941702f9--518ce26733664d74ad7c21834ac7cd40 
 
 
deec5f1fac1f4845bf77ab217f131624 
 
RY(theta₆) 
 
518ce26733664d74ad7c21834ac7cd40--deec5f1fac1f4845bf77ab217f131624 
 
 
8f473c29f313483892a4a00bdbe32699 
 
RX(theta₁₀) 
 
deec5f1fac1f4845bf77ab217f131624--8f473c29f313483892a4a00bdbe32699 
 
 
feca9ede64d2486c891d0f4da84aaeb8 
 
 
8f473c29f313483892a4a00bdbe32699--feca9ede64d2486c891d0f4da84aaeb8 
 
 
67a0f2e82d174617b92b7f081ca9e617 
 
X 
 
feca9ede64d2486c891d0f4da84aaeb8--67a0f2e82d174617b92b7f081ca9e617 
 
 
67a0f2e82d174617b92b7f081ca9e617--352b034b858e40898e5a9ab5e9a3090e 
 
 
f4ea4527153e415c8174a70b1d1c6ee9 
 
RX(theta₁₄) 
 
67a0f2e82d174617b92b7f081ca9e617--f4ea4527153e415c8174a70b1d1c6ee9 
 
 
702e74eb08914f35be1989a228e42b4e 
 
RY(theta₁₈) 
 
f4ea4527153e415c8174a70b1d1c6ee9--702e74eb08914f35be1989a228e42b4e 
 
 
61e5d554432147389242395b254880e8 
 
RX(theta₂₂) 
 
702e74eb08914f35be1989a228e42b4e--61e5d554432147389242395b254880e8 
 
 
21a8b9a5989547dc9e71a4918fb1964a 
 
 
61e5d554432147389242395b254880e8--21a8b9a5989547dc9e71a4918fb1964a 
 
 
b0a8a5f53aff44d7ac4886ddcc609f91 
 
X 
 
21a8b9a5989547dc9e71a4918fb1964a--b0a8a5f53aff44d7ac4886ddcc609f91 
 
 
b0a8a5f53aff44d7ac4886ddcc609f91--34e3ed0bb2a9477391f4871606b72cc6 
 
 
b0a8a5f53aff44d7ac4886ddcc609f91--ff531eb9757748808e3a38cc8cc995d8 
 
 
8ba14986b938474882a5c27daa4dc01a 
 
b035c77acde244029c40e887a724dc45 
 
RX(4.0*phi) 
 
61f4fdcfff024abd9438d9618f3614f1--b035c77acde244029c40e887a724dc45 
 
 
7cd37fef016f43a5ae9eaeb7cf1fc191 
 
RX(theta₃) 
 
b035c77acde244029c40e887a724dc45--7cd37fef016f43a5ae9eaeb7cf1fc191 
 
 
a2795b670a794fadba6274c92bf45573 
 
RY(theta₇) 
 
7cd37fef016f43a5ae9eaeb7cf1fc191--a2795b670a794fadba6274c92bf45573 
 
 
ff01d33e0e674b6796032659a196633e 
 
RX(theta₁₁) 
 
a2795b670a794fadba6274c92bf45573--ff01d33e0e674b6796032659a196633e 
 
 
0b5c4e6e19ff4f72aca7c800548d3ce8 
 
X 
 
ff01d33e0e674b6796032659a196633e--0b5c4e6e19ff4f72aca7c800548d3ce8 
 
 
0b5c4e6e19ff4f72aca7c800548d3ce8--feca9ede64d2486c891d0f4da84aaeb8 
 
 
15ec39e27f2c4555a3580070782280db 
 
 
0b5c4e6e19ff4f72aca7c800548d3ce8--15ec39e27f2c4555a3580070782280db 
 
 
0b2a325b5b08433eafc6094c853e919e 
 
RX(theta₁₅) 
 
15ec39e27f2c4555a3580070782280db--0b2a325b5b08433eafc6094c853e919e 
 
 
638886f1b6b540baab0585adbe98a642 
 
RY(theta₁₉) 
 
0b2a325b5b08433eafc6094c853e919e--638886f1b6b540baab0585adbe98a642 
 
 
d8c54859ebe54795abaa1ce6b0cac739 
 
RX(theta₂₃) 
 
638886f1b6b540baab0585adbe98a642--d8c54859ebe54795abaa1ce6b0cac739 
 
 
cccbc1be799c4e979379c41f0a984912 
 
X 
 
d8c54859ebe54795abaa1ce6b0cac739--cccbc1be799c4e979379c41f0a984912 
 
 
cccbc1be799c4e979379c41f0a984912--21a8b9a5989547dc9e71a4918fb1964a 
 
 
93abf92aa437418d9856afb213b58901 
 
 
cccbc1be799c4e979379c41f0a984912--93abf92aa437418d9856afb213b58901 
 
 
93abf92aa437418d9856afb213b58901--8ba14986b938474882a5c27daa4dc01a 
 
 
 
 
 
from  qadence  import  QuantumModel ,  QuantumCircuit ,  total_magnetization ,  hea 
 
model  =  QuantumModel ( QuantumCircuit ( 3 ,  hea ( 3 , 2 )),  total_magnetization ( 3 )) 
 
%3 
 
cluster_25f230b665024a319bc28768ad9b4836 
 
Obs. 
 
cluster_778a405d44174e1fb67e28541973bf51 
 
 
cluster_618567b8e755437f91a09cc0ac305d0e 
 
HEA 
 
99c1717892b946ecb289ba9e6403a866 
0 
 
d3379e4831404e0e8b9b595c44d43d54 
 
RX(theta₀) 
 
99c1717892b946ecb289ba9e6403a866--d3379e4831404e0e8b9b595c44d43d54 
 
 
42942d78765d4fbb942a343ca99ec368 
1 
 
297243e6cad743b68d37387c3544ca93 
 
RY(theta₃) 
 
d3379e4831404e0e8b9b595c44d43d54--297243e6cad743b68d37387c3544ca93 
 
 
83e8a3c28d364afc8418ebd8ec1f8dd5 
 
RX(theta₆) 
 
297243e6cad743b68d37387c3544ca93--83e8a3c28d364afc8418ebd8ec1f8dd5 
 
 
2c6eee33c25442adb5641e1287e3f104 
 
 
83e8a3c28d364afc8418ebd8ec1f8dd5--2c6eee33c25442adb5641e1287e3f104 
 
 
af95f953b30944938c2e3978b922cca1 
 
 
2c6eee33c25442adb5641e1287e3f104--af95f953b30944938c2e3978b922cca1 
 
 
aad2bb3cbcd543f2b2032ef13a21a67d 
 
RX(theta₉) 
 
af95f953b30944938c2e3978b922cca1--aad2bb3cbcd543f2b2032ef13a21a67d 
 
 
27fdcc2b0d2f4a00ade46b70f80d9c14 
 
RY(theta₁₂) 
 
aad2bb3cbcd543f2b2032ef13a21a67d--27fdcc2b0d2f4a00ade46b70f80d9c14 
 
 
11fce5c6d6ae445db713cc32ef37247b 
 
RX(theta₁₅) 
 
27fdcc2b0d2f4a00ade46b70f80d9c14--11fce5c6d6ae445db713cc32ef37247b 
 
 
fd2532b596e94d519e1a63a88a00c1a4 
 
 
11fce5c6d6ae445db713cc32ef37247b--fd2532b596e94d519e1a63a88a00c1a4 
 
 
e8809a74e2e843e1abbac88f09be600f 
 
 
fd2532b596e94d519e1a63a88a00c1a4--e8809a74e2e843e1abbac88f09be600f 
 
 
5ab2bbff13294ba4ad4e3c21aa4bb876 
 
e8809a74e2e843e1abbac88f09be600f--5ab2bbff13294ba4ad4e3c21aa4bb876 
 
 
7e2395a0e8ef43a698f54eea71a5177f 
 
5ab2bbff13294ba4ad4e3c21aa4bb876--7e2395a0e8ef43a698f54eea71a5177f 
 
 
da7728392d174fb281b4971abe0223f5 
 
7466342ced924337b05d17c7b2e0c791 
 
RX(theta₁) 
 
42942d78765d4fbb942a343ca99ec368--7466342ced924337b05d17c7b2e0c791 
 
 
b8ef3d17c7fa4399afc895dcdb3d9dab 
2 
 
01094432ce8b41bea998908ff9554295 
 
RY(theta₄) 
 
7466342ced924337b05d17c7b2e0c791--01094432ce8b41bea998908ff9554295 
 
 
f47c6303a7d34bdc9dd5c0024887fa55 
 
RX(theta₇) 
 
01094432ce8b41bea998908ff9554295--f47c6303a7d34bdc9dd5c0024887fa55 
 
 
424dd85a0c6e4a4b8953298230c1250e 
 
X 
 
f47c6303a7d34bdc9dd5c0024887fa55--424dd85a0c6e4a4b8953298230c1250e 
 
 
424dd85a0c6e4a4b8953298230c1250e--2c6eee33c25442adb5641e1287e3f104 
 
 
e30d845d007d4bcabcb3a6efffb89458 
 
 
424dd85a0c6e4a4b8953298230c1250e--e30d845d007d4bcabcb3a6efffb89458 
 
 
4206770e4a8b4869bb0be269cf277d5b 
 
RX(theta₁₀) 
 
e30d845d007d4bcabcb3a6efffb89458--4206770e4a8b4869bb0be269cf277d5b 
 
 
6dbca8b525f449df8372cd6b835a7c5c 
 
RY(theta₁₃) 
 
4206770e4a8b4869bb0be269cf277d5b--6dbca8b525f449df8372cd6b835a7c5c 
 
 
041d537cfbfd4bbb87f32e8e9bf25893 
 
RX(theta₁₆) 
 
6dbca8b525f449df8372cd6b835a7c5c--041d537cfbfd4bbb87f32e8e9bf25893 
 
 
ee2cf7b727b84bdb9621c886f2519cba 
 
X 
 
041d537cfbfd4bbb87f32e8e9bf25893--ee2cf7b727b84bdb9621c886f2519cba 
 
 
ee2cf7b727b84bdb9621c886f2519cba--fd2532b596e94d519e1a63a88a00c1a4 
 
 
2fc211876df24303a900f2820fc4264d 
 
 
ee2cf7b727b84bdb9621c886f2519cba--2fc211876df24303a900f2820fc4264d 
 
 
e98ddbd61aa44161af6a3f349da3df6f 
AddBlock 
 
2fc211876df24303a900f2820fc4264d--e98ddbd61aa44161af6a3f349da3df6f 
 
 
e98ddbd61aa44161af6a3f349da3df6f--da7728392d174fb281b4971abe0223f5 
 
 
6fdaf9bbd1704b97aedc7a7ccd1bc9f3 
 
9a3667c524154f22abe724fd497242d9 
 
RX(theta₂) 
 
b8ef3d17c7fa4399afc895dcdb3d9dab--9a3667c524154f22abe724fd497242d9 
 
 
b2e3dd9bf2914dc9a685227d6a3a6a51 
 
RY(theta₅) 
 
9a3667c524154f22abe724fd497242d9--b2e3dd9bf2914dc9a685227d6a3a6a51 
 
 
d41a9ebb2aa44635be0c089445b9d304 
 
RX(theta₈) 
 
b2e3dd9bf2914dc9a685227d6a3a6a51--d41a9ebb2aa44635be0c089445b9d304 
 
 
f22c6859aba946948d17d261ae0d8a02 
 
 
d41a9ebb2aa44635be0c089445b9d304--f22c6859aba946948d17d261ae0d8a02 
 
 
e21a5a4d70bb4da3a6a9144cef40a71f 
 
X 
 
f22c6859aba946948d17d261ae0d8a02--e21a5a4d70bb4da3a6a9144cef40a71f 
 
 
e21a5a4d70bb4da3a6a9144cef40a71f--e30d845d007d4bcabcb3a6efffb89458 
 
 
ed24d2c229914a2e839220fc8ee8d717 
 
RX(theta₁₁) 
 
e21a5a4d70bb4da3a6a9144cef40a71f--ed24d2c229914a2e839220fc8ee8d717 
 
 
ec9deae35d4a43819cd6c75d9b7e008c 
 
RY(theta₁₄) 
 
ed24d2c229914a2e839220fc8ee8d717--ec9deae35d4a43819cd6c75d9b7e008c 
 
 
df67843934c7428d83188c58df89ad84 
 
RX(theta₁₇) 
 
ec9deae35d4a43819cd6c75d9b7e008c--df67843934c7428d83188c58df89ad84 
 
 
4662cfd1c543436aa1ce15cedb293128 
 
 
df67843934c7428d83188c58df89ad84--4662cfd1c543436aa1ce15cedb293128 
 
 
cf3201364ae84f639aa52771d1509982 
 
X 
 
4662cfd1c543436aa1ce15cedb293128--cf3201364ae84f639aa52771d1509982 
 
 
cf3201364ae84f639aa52771d1509982--2fc211876df24303a900f2820fc4264d 
 
 
d60a5b923be6426e9fc40a8cbc09b677 
 
cf3201364ae84f639aa52771d1509982--d60a5b923be6426e9fc40a8cbc09b677 
 
 
d60a5b923be6426e9fc40a8cbc09b677--6fdaf9bbd1704b97aedc7a7ccd1bc9f3 
 
 
 
 
 
from  qadence  import  * 
 
b  =  chain ( SWAP ( 0 , 1 ),  SWAP ( 0 , 3 )) 
 
%3 
 
1b808a821bc1481aa9b9fcbdef6632c9 
0 
 
79a7c9d142694f36954f6466264d9d5a 
 
 
1b808a821bc1481aa9b9fcbdef6632c9--79a7c9d142694f36954f6466264d9d5a 
 
 
3199980778e2480080e671c400e061f8 
1 
 
66ce214100154c8db3dcb15a962040b5 
 
 
75bb0ddd369246dfae1f9e7943517c0d 
 
 
79a7c9d142694f36954f6466264d9d5a--75bb0ddd369246dfae1f9e7943517c0d 
 
 
ef0f461491f54933aedc38bfd1e0c50b 
 
 
66ce214100154c8db3dcb15a962040b5--ef0f461491f54933aedc38bfd1e0c50b 
 
 
adbdea77178243bfae37939b76688ec3 
 
 
e16e18f7c50142278d1c1987d877c43d 
 
 
ef0f461491f54933aedc38bfd1e0c50b--e16e18f7c50142278d1c1987d877c43d 
 
 
da087d550f4b4714891e0a2e18fcdc4d 
 
adbdea77178243bfae37939b76688ec3--da087d550f4b4714891e0a2e18fcdc4d 
 
 
0c92df18bc7149c0af8cc0f37dac6da0 
 
64927c0e48b04d2ebbd95f92938b52cc 
 
 
3199980778e2480080e671c400e061f8--64927c0e48b04d2ebbd95f92938b52cc 
 
 
8db69c5936e9410fae5415b1ef814e81 
2 
 
64927c0e48b04d2ebbd95f92938b52cc--66ce214100154c8db3dcb15a962040b5 
 
 
98ae427ff79c465c8fa73365c2198e9e 
 
 
75bb0ddd369246dfae1f9e7943517c0d--98ae427ff79c465c8fa73365c2198e9e 
 
 
4d88b5480a20468cb3738660d20dd567 
 
 
98ae427ff79c465c8fa73365c2198e9e--4d88b5480a20468cb3738660d20dd567 
 
 
4d88b5480a20468cb3738660d20dd567--0c92df18bc7149c0af8cc0f37dac6da0 
 
 
9464a413032a44f3952f73405f529cdd 
 
0504cf811c5c47c1b02ae0ddd28c5c3d 
 
 
8db69c5936e9410fae5415b1ef814e81--0504cf811c5c47c1b02ae0ddd28c5c3d 
 
 
712438c29a1a423bb9c6b649f97ff550 
3 
 
5b5a169cf1a54a69ada5f47ea683e369 
 
 
0504cf811c5c47c1b02ae0ddd28c5c3d--5b5a169cf1a54a69ada5f47ea683e369 
 
 
581a2ded2ad74744a7293dfd3db143db 
 
 
5b5a169cf1a54a69ada5f47ea683e369--581a2ded2ad74744a7293dfd3db143db 
 
 
1e10f04b5d8a482b96566bdf139d29b6 
 
 
581a2ded2ad74744a7293dfd3db143db--1e10f04b5d8a482b96566bdf139d29b6 
 
 
1e10f04b5d8a482b96566bdf139d29b6--9464a413032a44f3952f73405f529cdd 
 
 
e55d87e0b2654ab7b6de492524398f0e 
 
97da479bdc6e45f2950ef60125857a61 
 
 
712438c29a1a423bb9c6b649f97ff550--97da479bdc6e45f2950ef60125857a61 
 
 
27f480d40e39400f958dc8132d5c83f6 
 
 
97da479bdc6e45f2950ef60125857a61--27f480d40e39400f958dc8132d5c83f6 
 
 
399b8288763f493280648d62472bf345 
 
 
27f480d40e39400f958dc8132d5c83f6--399b8288763f493280648d62472bf345 
 
 
399b8288763f493280648d62472bf345--adbdea77178243bfae37939b76688ec3 
 
 
e16e18f7c50142278d1c1987d877c43d--e55d87e0b2654ab7b6de492524398f0e 
 
 
 
 
 
from  qadence  import  * 
 
b  =  chain ( CPHASE ( 0 ,  1 ,  0.5 ),  CPHASE ( 0 ,  2 ,  0.5 ),  CPHASE ( 0 ,  3 ,  0.5 )) 
 
%3 
 
cb9beb620a46440095610c0a47cf186e 
0 
 
c9314566f1574d91bd4fd95ef29c7e79 
 
 
cb9beb620a46440095610c0a47cf186e--c9314566f1574d91bd4fd95ef29c7e79 
 
 
991688411fa54c369a509219a4d6bea8 
1 
 
fffabb972d4b43f88fa4f31ba2e21143 
 
 
c9314566f1574d91bd4fd95ef29c7e79--fffabb972d4b43f88fa4f31ba2e21143 
 
 
cb5942735f4545ceaec63519e1001279 
 
 
fffabb972d4b43f88fa4f31ba2e21143--cb5942735f4545ceaec63519e1001279 
 
 
f15a997b71ef426ab40dca1474920a3c 
 
cb5942735f4545ceaec63519e1001279--f15a997b71ef426ab40dca1474920a3c 
 
 
c2b14513fa244c109fc345ab949a8998 
 
c5071f679b384637831be9f773d53b3d 
 
PHASE(0.5) 
 
991688411fa54c369a509219a4d6bea8--c5071f679b384637831be9f773d53b3d 
 
 
1694e5f96d7c4850a8b8114260507bfd 
2 
 
c5071f679b384637831be9f773d53b3d--c9314566f1574d91bd4fd95ef29c7e79 
 
 
f06ab09c5bec4796812226d5fecc2bf5 
 
 
c5071f679b384637831be9f773d53b3d--f06ab09c5bec4796812226d5fecc2bf5 
 
 
bb59776c0a954589aa4016d449697923 
 
 
f06ab09c5bec4796812226d5fecc2bf5--bb59776c0a954589aa4016d449697923 
 
 
bb59776c0a954589aa4016d449697923--c2b14513fa244c109fc345ab949a8998 
 
 
517a08baefb2439abe59673da7a890ed 
 
53cad556fce94f06a0d309c28ac5e892 
 
 
1694e5f96d7c4850a8b8114260507bfd--53cad556fce94f06a0d309c28ac5e892 
 
 
88f7f9a01269432f8fe89cb6e37ed4dd 
3 
 
97064cbeabaa42748c35ddc4826e92ed 
 
PHASE(0.5) 
 
53cad556fce94f06a0d309c28ac5e892--97064cbeabaa42748c35ddc4826e92ed 
 
 
97064cbeabaa42748c35ddc4826e92ed--fffabb972d4b43f88fa4f31ba2e21143 
 
 
7a55a9903ac145d08f78940a59f2f3be 
 
 
97064cbeabaa42748c35ddc4826e92ed--7a55a9903ac145d08f78940a59f2f3be 
 
 
7a55a9903ac145d08f78940a59f2f3be--517a08baefb2439abe59673da7a890ed 
 
 
aad32974bcd34c9b8fcc068da108ecd8 
 
ac6fe5f3451947b7b7f2c995e175fac2 
 
 
88f7f9a01269432f8fe89cb6e37ed4dd--ac6fe5f3451947b7b7f2c995e175fac2 
 
 
c541beb90f104e50ae8db3d41f4aab7c 
 
 
ac6fe5f3451947b7b7f2c995e175fac2--c541beb90f104e50ae8db3d41f4aab7c 
 
 
462cb3898fbc43d3a29813f6da551113 
 
PHASE(0.5) 
 
c541beb90f104e50ae8db3d41f4aab7c--462cb3898fbc43d3a29813f6da551113 
 
 
462cb3898fbc43d3a29813f6da551113--cb5942735f4545ceaec63519e1001279 
 
 
462cb3898fbc43d3a29813f6da551113--aad32974bcd34c9b8fcc068da108ecd8 
 
 
 
 
 
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