Quantum machine learning constructors 
Besides the arbitrary Hamiltonian constructors , Qadence also provides a complete set of program constructors useful for digital-analog quantum machine learning programs.
Feature maps 
The feature_map function can easily create several types of data-encoding blocks. The
two main types of feature maps use a Fourier basis or a Chebyshev basis.
from  qadence  import  feature_map ,  BasisSet ,  chain 
from  qadence.draw  import  display 
 
n_qubits  =  3 
 
fourier_fm  =  feature_map ( n_qubits ,  fm_type = BasisSet . FOURIER ) 
 
chebyshev_fm  =  feature_map ( n_qubits ,  fm_type = BasisSet . CHEBYSHEV ) 
 
block  =  chain ( fourier_fm ,  chebyshev_fm ) 
 
%3 
 
cluster_dca5b58bb3df465db61e4c46fa8647b5 
 
Constant Chebyshev FM 
 
cluster_592df326d9c64970837f8571f2de6a41 
 
Constant Fourier FM 
 
96887c7727ed4a07a13edc75af8d8200 
0 
 
c50847897ee04cd38ccd2ca2222f6ce2 
 
RX(phi) 
 
96887c7727ed4a07a13edc75af8d8200--c50847897ee04cd38ccd2ca2222f6ce2 
 
 
cf0a73ba96b74b3696c7c53c0bcf2528 
1 
 
5802cd5f3a8d4844801e9c76555079e9 
 
RX(acos(phi)) 
 
c50847897ee04cd38ccd2ca2222f6ce2--5802cd5f3a8d4844801e9c76555079e9 
 
 
ea99e3e640f943588b7e404143443054 
 
5802cd5f3a8d4844801e9c76555079e9--ea99e3e640f943588b7e404143443054 
 
 
c00b3d0f080441b6bdf531e7c5c868ce 
 
6c3f5aadc5f54cb39fdbf9c8717ade04 
 
RX(phi) 
 
cf0a73ba96b74b3696c7c53c0bcf2528--6c3f5aadc5f54cb39fdbf9c8717ade04 
 
 
290cdb79365c4529933c6e514cd1bda4 
2 
 
47ddb7405b7648af95497b8e29582a54 
 
RX(acos(phi)) 
 
6c3f5aadc5f54cb39fdbf9c8717ade04--47ddb7405b7648af95497b8e29582a54 
 
 
47ddb7405b7648af95497b8e29582a54--c00b3d0f080441b6bdf531e7c5c868ce 
 
 
de87b66d98294aac940458a1cc906dcf 
 
f9c862127d784ee5ba8afccc19fc1a66 
 
RX(phi) 
 
290cdb79365c4529933c6e514cd1bda4--f9c862127d784ee5ba8afccc19fc1a66 
 
 
b4d6f3563ed8494598cc53e09c85b6e2 
 
RX(acos(phi)) 
 
f9c862127d784ee5ba8afccc19fc1a66--b4d6f3563ed8494598cc53e09c85b6e2 
 
 
b4d6f3563ed8494598cc53e09c85b6e2--de87b66d98294aac940458a1cc906dcf 
 
 
 
 
 
A custom encoding function can also be passed with sympy
from  sympy  import  asin ,  Function 
 
n_qubits  =  3 
 
# Using a pre-defined sympy Function 
custom_fm_0  =  feature_map ( n_qubits ,  fm_type = asin ) 
 
# Creating a custom function 
def  custom_fn ( x ): 
     return  asin ( x )  +  x ** 2 
 
custom_fm_1  =  feature_map ( n_qubits ,  fm_type = custom_fn ) 
 
block  =  chain ( custom_fm_0 ,  custom_fm_1 ) 
 
%3 
 
cluster_0eb7fc857647422a8000ea47f7b8c43a 
 
Constant <function custom_fn at 0x7f2617de8dc0> FM 
 
cluster_08044129d46b42a3bdfd31930c067d30 
 
Constant asin FM 
 
3e77fa516f074bc3871f96c554d9fe08 
0 
 
d0f5791ac38941b8a2f910df2c535d02 
 
RX(asin(phi)) 
 
3e77fa516f074bc3871f96c554d9fe08--d0f5791ac38941b8a2f910df2c535d02 
 
 
d38026d4d27e414cb1f168c7bdcee146 
1 
 
800a5080140144dc97e5938c7bb3d07d 
 
RX(phi**2 + asin(phi)) 
 
d0f5791ac38941b8a2f910df2c535d02--800a5080140144dc97e5938c7bb3d07d 
 
 
b59930487f75426a90d2ed7d31279bd3 
 
800a5080140144dc97e5938c7bb3d07d--b59930487f75426a90d2ed7d31279bd3 
 
 
0f200360e5ae4c8c9f634945d8f80f4f 
 
97767686926f468381c275d2927464e9 
 
RX(asin(phi)) 
 
d38026d4d27e414cb1f168c7bdcee146--97767686926f468381c275d2927464e9 
 
 
e6ba8fa2a3a440a39d543f5645e1761d 
2 
 
bbbbdb7094814655a31d5d42c7eee694 
 
RX(phi**2 + asin(phi)) 
 
97767686926f468381c275d2927464e9--bbbbdb7094814655a31d5d42c7eee694 
 
 
bbbbdb7094814655a31d5d42c7eee694--0f200360e5ae4c8c9f634945d8f80f4f 
 
 
713e40f78d2042a8946c1f46f173377a 
 
db40c2d461ef48168858afde6740afcd 
 
RX(asin(phi)) 
 
e6ba8fa2a3a440a39d543f5645e1761d--db40c2d461ef48168858afde6740afcd 
 
 
cb1f799e0dcf48f5ae368053a5df8750 
 
RX(phi**2 + asin(phi)) 
 
db40c2d461ef48168858afde6740afcd--cb1f799e0dcf48f5ae368053a5df8750 
 
 
cb1f799e0dcf48f5ae368053a5df8750--713e40f78d2042a8946c1f46f173377a 
 
 
 
 
 
Furthermore, the reupload_scaling argument can be used to change the scaling applied to each qubit
in the support of the feature map. The default scalings can be chosen from the ReuploadScaling enumeration.
from  qadence  import  ReuploadScaling 
from  qadence.draw  import  display 
 
n_qubits  =  5 
 
# Default constant value 
fm_constant  =  feature_map ( n_qubits ,  fm_type = BasisSet . FOURIER ,  reupload_scaling = ReuploadScaling . CONSTANT ) 
 
# Linearly increasing scaling 
fm_tower  =  feature_map ( n_qubits ,  fm_type = BasisSet . FOURIER ,  reupload_scaling = ReuploadScaling . TOWER ) 
 
# Exponentially increasing scaling 
fm_exp  =  feature_map ( n_qubits ,  fm_type = BasisSet . FOURIER ,  reupload_scaling = ReuploadScaling . EXP ) 
 
block  =  chain ( fm_constant ,  fm_tower ,  fm_exp ) 
 
%3 
 
cluster_8c66fbfe3b2d4afabc9d7e7188ae9bf1 
 
Exponential Fourier FM 
 
cluster_57fc5561ab4e419cbcd6421d70715a6c 
 
Constant Fourier FM 
 
cluster_ebc97bf9aa914f45adffdb60eddfa647 
 
Tower Fourier FM 
 
63ab591b4307491c9bdfc51babff1239 
0 
 
b22ddce6b7954027be50463b521083f3 
 
RX(phi) 
 
63ab591b4307491c9bdfc51babff1239--b22ddce6b7954027be50463b521083f3 
 
 
f45e2a2cf023402993fb68a4be9ebb04 
1 
 
6132376b75704907b7377d8fe7eb5a37 
 
RX(1.0*phi) 
 
b22ddce6b7954027be50463b521083f3--6132376b75704907b7377d8fe7eb5a37 
 
 
d8922aec38974223ab788e3b0b7bc289 
 
RX(1.0*phi) 
 
6132376b75704907b7377d8fe7eb5a37--d8922aec38974223ab788e3b0b7bc289 
 
 
5866f9832f3042b7946ae4b85e4eeaa4 
 
d8922aec38974223ab788e3b0b7bc289--5866f9832f3042b7946ae4b85e4eeaa4 
 
 
1c4bd1a2728d421ba9386462e5f8ecf2 
 
ffab959f4d224ee4bbb58ba80f685322 
 
RX(phi) 
 
f45e2a2cf023402993fb68a4be9ebb04--ffab959f4d224ee4bbb58ba80f685322 
 
 
b1937339c67243179a67306e5066b291 
2 
 
ce6e3a5c73c142cfb6ce7bde54ae227f 
 
RX(2.0*phi) 
 
ffab959f4d224ee4bbb58ba80f685322--ce6e3a5c73c142cfb6ce7bde54ae227f 
 
 
3019553ed3f74ab6b59bd3c4dc80dbef 
 
RX(2.0*phi) 
 
ce6e3a5c73c142cfb6ce7bde54ae227f--3019553ed3f74ab6b59bd3c4dc80dbef 
 
 
3019553ed3f74ab6b59bd3c4dc80dbef--1c4bd1a2728d421ba9386462e5f8ecf2 
 
 
4043e3236ce84c69bc346e290a4f6e1c 
 
78c34e81621e4e739befa3b3680c64e3 
 
RX(phi) 
 
b1937339c67243179a67306e5066b291--78c34e81621e4e739befa3b3680c64e3 
 
 
a94993851c94431d89308594ae719419 
3 
 
310cdc78cb8e43a2bb53c793955248b8 
 
RX(3.0*phi) 
 
78c34e81621e4e739befa3b3680c64e3--310cdc78cb8e43a2bb53c793955248b8 
 
 
5a76c70d753145a396023d9bec078411 
 
RX(4.0*phi) 
 
310cdc78cb8e43a2bb53c793955248b8--5a76c70d753145a396023d9bec078411 
 
 
5a76c70d753145a396023d9bec078411--4043e3236ce84c69bc346e290a4f6e1c 
 
 
91acd563dc6440138ba72fa77a163a87 
 
87b9c6459ab8465c9f580e832533cc3d 
 
RX(phi) 
 
a94993851c94431d89308594ae719419--87b9c6459ab8465c9f580e832533cc3d 
 
 
68ec57bce57f46319513154374007459 
4 
 
5b19e157d92045f5a227d02fd9b38469 
 
RX(4.0*phi) 
 
87b9c6459ab8465c9f580e832533cc3d--5b19e157d92045f5a227d02fd9b38469 
 
 
34b40d3af4374696a2d8f0d789bbf3c4 
 
RX(8.0*phi) 
 
5b19e157d92045f5a227d02fd9b38469--34b40d3af4374696a2d8f0d789bbf3c4 
 
 
34b40d3af4374696a2d8f0d789bbf3c4--91acd563dc6440138ba72fa77a163a87 
 
 
981b1ae3ebde4a778897f95584037977 
 
c4cd4d1e3add469d84fd9411f514fdd5 
 
RX(phi) 
 
68ec57bce57f46319513154374007459--c4cd4d1e3add469d84fd9411f514fdd5 
 
 
871e20c0bae0468ca881c9a9a9166d96 
 
RX(5.0*phi) 
 
c4cd4d1e3add469d84fd9411f514fdd5--871e20c0bae0468ca881c9a9a9166d96 
 
 
4ccf766e6ec447d9a337cc47afd738dd 
 
RX(16.0*phi) 
 
871e20c0bae0468ca881c9a9a9166d96--4ccf766e6ec447d9a337cc47afd738dd 
 
 
4ccf766e6ec447d9a337cc47afd738dd--981b1ae3ebde4a778897f95584037977 
 
 
 
 
 
A custom scaling can also be defined with a function with an int input and int or float output.
n_qubits  =  5 
 
def  custom_scaling ( i :  int )  ->  int  |  float : 
     """Sqrt(i+1)""" 
     return  ( i + 1 )  **  ( 0.5 ) 
 
# Custom scaling function 
fm_custom  =  feature_map ( n_qubits ,  fm_type = BasisSet . CHEBYSHEV ,  reupload_scaling = custom_scaling ) 
 
%3 
 
37b619c59cca49129522c898caf59a61 
0 
 
ac7503494a45414db9f739d2937f3aee 
 
RX(1.0*acos(phi)) 
 
37b619c59cca49129522c898caf59a61--ac7503494a45414db9f739d2937f3aee 
 
 
96b09484399347a1a89aeb46b9ebe982 
1 
 
1514c2d8dda34c66b00905ec8c060c87 
 
ac7503494a45414db9f739d2937f3aee--1514c2d8dda34c66b00905ec8c060c87 
 
 
9805a8f08ef4414584480266f6ac1d5a 
 
a07b95de8f514383b580c4d53fb8b370 
 
RX(1.414*acos(phi)) 
 
96b09484399347a1a89aeb46b9ebe982--a07b95de8f514383b580c4d53fb8b370 
 
 
c4653215b024431fb25eb7617d209b21 
2 
 
a07b95de8f514383b580c4d53fb8b370--9805a8f08ef4414584480266f6ac1d5a 
 
 
0033fb4f281247489d6b826e2e2daf79 
 
efa71cd97e9c4ec29a21cf672b3964d2 
 
RX(1.732*acos(phi)) 
 
c4653215b024431fb25eb7617d209b21--efa71cd97e9c4ec29a21cf672b3964d2 
 
 
cd135ea0724b42879517b3bd80478695 
3 
 
efa71cd97e9c4ec29a21cf672b3964d2--0033fb4f281247489d6b826e2e2daf79 
 
 
1f215669abcd46aea679decb4bb1a572 
 
b05db4fe409d489f95b0b59d09d066df 
 
RX(2.0*acos(phi)) 
 
cd135ea0724b42879517b3bd80478695--b05db4fe409d489f95b0b59d09d066df 
 
 
fda105e3896040b297622de194043335 
4 
 
b05db4fe409d489f95b0b59d09d066df--1f215669abcd46aea679decb4bb1a572 
 
 
74e9738e2d024de2879e846a6d747c45 
 
120eeaccf77c414aaf9c64d5327cc96e 
 
RX(2.236*acos(phi)) 
 
fda105e3896040b297622de194043335--120eeaccf77c414aaf9c64d5327cc96e 
 
 
120eeaccf77c414aaf9c64d5327cc96e--74e9738e2d024de2879e846a6d747c45 
 
 
 
 
 
To add a trainable parameter that multiplies the feature parameter inside the encoding function,
simply pass a param_prefix string:
n_qubits  =  5 
 
fm_trainable  =  feature_map ( 
     n_qubits , 
     fm_type = BasisSet . FOURIER , 
     reupload_scaling = ReuploadScaling . EXP , 
     param_prefix  =  "w" , 
) 
 
%3 
 
9820be5ee77e444e962669053a88f970 
0 
 
8298320225b9418097325a156a18e21b 
 
RX(1.0*phi*w₀) 
 
9820be5ee77e444e962669053a88f970--8298320225b9418097325a156a18e21b 
 
 
95e0434e4f7f4230afc1cb6751db7888 
1 
 
22c5c5a7073c4a71919612781e92556a 
 
8298320225b9418097325a156a18e21b--22c5c5a7073c4a71919612781e92556a 
 
 
2c89a432032a4554a22bb05cd632ca3e 
 
56713caa8ed141478784f4c475e8ed61 
 
RX(2.0*phi*w₁) 
 
95e0434e4f7f4230afc1cb6751db7888--56713caa8ed141478784f4c475e8ed61 
 
 
2921923bd7a041239c693255830c3697 
2 
 
56713caa8ed141478784f4c475e8ed61--2c89a432032a4554a22bb05cd632ca3e 
 
 
8affb535a8034554936f95294177b1ad 
 
7acbf092388c4b8e90881b58cc3dc8f3 
 
RX(4.0*phi*w₂) 
 
2921923bd7a041239c693255830c3697--7acbf092388c4b8e90881b58cc3dc8f3 
 
 
f5c1a527d42042e99d9777eace5ecce4 
3 
 
7acbf092388c4b8e90881b58cc3dc8f3--8affb535a8034554936f95294177b1ad 
 
 
428eb3a410c44a74874f44b6a3bc4e98 
 
e77ae0b9ffb34a25b0cba2df66d57d74 
 
RX(8.0*phi*w₃) 
 
f5c1a527d42042e99d9777eace5ecce4--e77ae0b9ffb34a25b0cba2df66d57d74 
 
 
c6bf722859154bee8da655fb2b7f23af 
4 
 
e77ae0b9ffb34a25b0cba2df66d57d74--428eb3a410c44a74874f44b6a3bc4e98 
 
 
6c1a92896dd1449c897410986fe23ecf 
 
abd540cca423468ca67c2ae2a7294170 
 
RX(16.0*phi*w₄) 
 
c6bf722859154bee8da655fb2b7f23af--abd540cca423468ca67c2ae2a7294170 
 
 
abd540cca423468ca67c2ae2a7294170--6c1a92896dd1449c897410986fe23ecf 
 
 
 
 
 
Note that for the Fourier feature map, the encoding function is simply \(f(x)=x\) . For other cases, like the Chebyshev acos() encoding,
the trainable parameter may cause the feature value to be outside the domain of the encoding function. This will eventually be fixed
by adding range constraints to trainable parameters in Qadence.
A full description of the remaining arguments can be found in the feature_map API reference . We provide an example below.
from  qadence  import  RY 
 
n_qubits  =  5 
 
# Custom scaling function 
fm_full  =  feature_map ( 
     n_qubits  =  n_qubits , 
     support  =  tuple ( reversed ( range ( n_qubits ))),  # Reverse the qubit support to run the scaling from bottom to top 
     param  =  "x" ,  # Change the name of the parameter 
     op  =  RY ,  # Change the rotation gate between RX, RY, RZ or PHASE 
     fm_type  =  BasisSet . CHEBYSHEV , 
     reupload_scaling  =  ReuploadScaling . EXP , 
     feature_range  =  ( - 1.0 ,  2.0 ),  # Range from which the input data comes from 
     target_range  =  ( 1.0 ,  3.0 ),  # Range the encoder assumes as the natural range 
     multiplier  =  5.0 ,  # Extra multiplier, which can also be a Parameter 
     param_prefix  =  "w" ,  # Add trainable parameters 
) 
 
%3 
 
2a914c09a0dd47908e9239c8dcbe94b8 
0 
 
635685a3950945cb903f3607611f4cbe 
 
RY(80.0*acos(w₄*(0.667*x + 1.667))) 
 
2a914c09a0dd47908e9239c8dcbe94b8--635685a3950945cb903f3607611f4cbe 
 
 
a8799c7f27d54a9e88904aa963ca3e62 
1 
 
345e25b67c9345fb81dc0ba7aeaba145 
 
635685a3950945cb903f3607611f4cbe--345e25b67c9345fb81dc0ba7aeaba145 
 
 
6782473e9f7648d9b4a3b02dd652a74d 
 
0ba79073699248558315b95aa27a0a4d 
 
RY(40.0*acos(w₃*(0.667*x + 1.667))) 
 
a8799c7f27d54a9e88904aa963ca3e62--0ba79073699248558315b95aa27a0a4d 
 
 
19eba813a8b3480da012c3060b0632ec 
2 
 
0ba79073699248558315b95aa27a0a4d--6782473e9f7648d9b4a3b02dd652a74d 
 
 
bb72998d959d4ed4aea78c114742e601 
 
b46f558aa9984366855bef71aaad8962 
 
RY(20.0*acos(w₂*(0.667*x + 1.667))) 
 
19eba813a8b3480da012c3060b0632ec--b46f558aa9984366855bef71aaad8962 
 
 
c0805c6fae2a4d3cac0a9236ae0c90f3 
3 
 
b46f558aa9984366855bef71aaad8962--bb72998d959d4ed4aea78c114742e601 
 
 
681783168e1042588eab902f95a3420a 
 
2af2e8973cc34ec597731eee71af037a 
 
RY(10.0*acos(w₁*(0.667*x + 1.667))) 
 
c0805c6fae2a4d3cac0a9236ae0c90f3--2af2e8973cc34ec597731eee71af037a 
 
 
5ff6d93a1b404c9fbf83c5a981778aa9 
4 
 
2af2e8973cc34ec597731eee71af037a--681783168e1042588eab902f95a3420a 
 
 
77a0bde1cccd4591ab13f99afe31f0b2 
 
5209629876bc4b419c704a9581fcaef2 
 
RY(5.0*acos(w₀*(0.667*x + 1.667))) 
 
5ff6d93a1b404c9fbf83c5a981778aa9--5209629876bc4b419c704a9581fcaef2 
 
 
5209629876bc4b419c704a9581fcaef2--77a0bde1cccd4591ab13f99afe31f0b2 
 
 
 
 
 
Hardware-efficient ansatz 
Ansatze blocks for quantum machine-learning are typically built following the Hardware-Efficient Ansatz formalism (HEA).
Both fully digital and digital-analog HEAs can easily be built with the hea function. By default,
the digital version is returned:
from  qadence  import  hea 
from  qadence.draw  import  display 
 
n_qubits  =  3 
depth  =  2 
 
ansatz  =  hea ( n_qubits ,  depth ) 
 
%3 
 
dd09c24e2b1f406fba5d53a5e5a906ae 
0 
 
43f7a8be234e4addaf01274e2ad66e0e 
 
RX(theta₀) 
 
dd09c24e2b1f406fba5d53a5e5a906ae--43f7a8be234e4addaf01274e2ad66e0e 
 
 
a36a8043ec874ace801e97cdf1a620a4 
1 
 
ab3473b5dd1c470bac33aaed9916410e 
 
RY(theta₃) 
 
43f7a8be234e4addaf01274e2ad66e0e--ab3473b5dd1c470bac33aaed9916410e 
 
 
38a7df11339743c18db85899238302b3 
 
RX(theta₆) 
 
ab3473b5dd1c470bac33aaed9916410e--38a7df11339743c18db85899238302b3 
 
 
a15f0b5931894fafac3312e57e851b13 
 
 
38a7df11339743c18db85899238302b3--a15f0b5931894fafac3312e57e851b13 
 
 
25820946caca40ddaa597c2476c9f7db 
 
 
a15f0b5931894fafac3312e57e851b13--25820946caca40ddaa597c2476c9f7db 
 
 
d5918b539c944b8bb8e6593bb9287e00 
 
RX(theta₉) 
 
25820946caca40ddaa597c2476c9f7db--d5918b539c944b8bb8e6593bb9287e00 
 
 
ac8f6a94cd9e44cba8987b457ed25bfb 
 
RY(theta₁₂) 
 
d5918b539c944b8bb8e6593bb9287e00--ac8f6a94cd9e44cba8987b457ed25bfb 
 
 
b3f6cf6c71e5469fbe864b4db3e1ba16 
 
RX(theta₁₅) 
 
ac8f6a94cd9e44cba8987b457ed25bfb--b3f6cf6c71e5469fbe864b4db3e1ba16 
 
 
7ea249178dcd4554876baede3878eb77 
 
 
b3f6cf6c71e5469fbe864b4db3e1ba16--7ea249178dcd4554876baede3878eb77 
 
 
72b3a57fd4174421ad857091990c38cb 
 
 
7ea249178dcd4554876baede3878eb77--72b3a57fd4174421ad857091990c38cb 
 
 
ba8c076803a94750b131d67eeacba0f8 
 
72b3a57fd4174421ad857091990c38cb--ba8c076803a94750b131d67eeacba0f8 
 
 
317a4d14eb994e629c3dbcd98c1d4e98 
 
9ee416c78a844c748ee09406c3b01911 
 
RX(theta₁) 
 
a36a8043ec874ace801e97cdf1a620a4--9ee416c78a844c748ee09406c3b01911 
 
 
b82d17c0d9fc4a3eafb8aa9e21865b23 
2 
 
9665b46000884e4ba63fef7d43d30df4 
 
RY(theta₄) 
 
9ee416c78a844c748ee09406c3b01911--9665b46000884e4ba63fef7d43d30df4 
 
 
c85e72edeb44414d8364f6ed7f116d40 
 
RX(theta₇) 
 
9665b46000884e4ba63fef7d43d30df4--c85e72edeb44414d8364f6ed7f116d40 
 
 
1ee1332399254d8b8615b28777bf2ff2 
 
X 
 
c85e72edeb44414d8364f6ed7f116d40--1ee1332399254d8b8615b28777bf2ff2 
 
 
1ee1332399254d8b8615b28777bf2ff2--a15f0b5931894fafac3312e57e851b13 
 
 
709559763b2349a5b56f0c6501fda282 
 
 
1ee1332399254d8b8615b28777bf2ff2--709559763b2349a5b56f0c6501fda282 
 
 
c55e5c57a0fd46dd8f2dfac407aedb5a 
 
RX(theta₁₀) 
 
709559763b2349a5b56f0c6501fda282--c55e5c57a0fd46dd8f2dfac407aedb5a 
 
 
7c6b1a1f7d554562bdf57d483f24a2ba 
 
RY(theta₁₃) 
 
c55e5c57a0fd46dd8f2dfac407aedb5a--7c6b1a1f7d554562bdf57d483f24a2ba 
 
 
7cb559ba12b44a11a38f82485299f131 
 
RX(theta₁₆) 
 
7c6b1a1f7d554562bdf57d483f24a2ba--7cb559ba12b44a11a38f82485299f131 
 
 
b65aebe143744a738dcb1e446d3933cd 
 
X 
 
7cb559ba12b44a11a38f82485299f131--b65aebe143744a738dcb1e446d3933cd 
 
 
b65aebe143744a738dcb1e446d3933cd--7ea249178dcd4554876baede3878eb77 
 
 
536ea13fabd04a769c02f2b4d861b560 
 
 
b65aebe143744a738dcb1e446d3933cd--536ea13fabd04a769c02f2b4d861b560 
 
 
536ea13fabd04a769c02f2b4d861b560--317a4d14eb994e629c3dbcd98c1d4e98 
 
 
f60950ac2c7944f8ae926ca81cf4ccfa 
 
4abf197c93c04b3ba719d50bafcdcc55 
 
RX(theta₂) 
 
b82d17c0d9fc4a3eafb8aa9e21865b23--4abf197c93c04b3ba719d50bafcdcc55 
 
 
2bf77507b94a43a5a3e5f3ca3b459185 
 
RY(theta₅) 
 
4abf197c93c04b3ba719d50bafcdcc55--2bf77507b94a43a5a3e5f3ca3b459185 
 
 
7639df9bbe484c89ac0642e6833abecb 
 
RX(theta₈) 
 
2bf77507b94a43a5a3e5f3ca3b459185--7639df9bbe484c89ac0642e6833abecb 
 
 
870ceb4e6f454ed5b18a223cd772583e 
 
 
7639df9bbe484c89ac0642e6833abecb--870ceb4e6f454ed5b18a223cd772583e 
 
 
1de39bea1eb74774b8466ffdd4d35d61 
 
X 
 
870ceb4e6f454ed5b18a223cd772583e--1de39bea1eb74774b8466ffdd4d35d61 
 
 
1de39bea1eb74774b8466ffdd4d35d61--709559763b2349a5b56f0c6501fda282 
 
 
cf6a14dfdc1043d9833005432253b8d9 
 
RX(theta₁₁) 
 
1de39bea1eb74774b8466ffdd4d35d61--cf6a14dfdc1043d9833005432253b8d9 
 
 
2c1fe65e60ac456397997a0cc8398b50 
 
RY(theta₁₄) 
 
cf6a14dfdc1043d9833005432253b8d9--2c1fe65e60ac456397997a0cc8398b50 
 
 
3d418b2a82f24ab0a0400902ab5cdcc2 
 
RX(theta₁₇) 
 
2c1fe65e60ac456397997a0cc8398b50--3d418b2a82f24ab0a0400902ab5cdcc2 
 
 
4e964afbb8da433381960cd261a13db3 
 
 
3d418b2a82f24ab0a0400902ab5cdcc2--4e964afbb8da433381960cd261a13db3 
 
 
9807555cc0894e789300025cba7da5f5 
 
X 
 
4e964afbb8da433381960cd261a13db3--9807555cc0894e789300025cba7da5f5 
 
 
9807555cc0894e789300025cba7da5f5--536ea13fabd04a769c02f2b4d861b560 
 
 
9807555cc0894e789300025cba7da5f5--f60950ac2c7944f8ae926ca81cf4ccfa 
 
 
 
 
 
As seen above, the rotation layers are automatically parameterized, and the prefix "theta" can be changed with the param_prefix argument.
Furthermore, both the single-qubit rotations and the two-qubit entangler can be customized with the operations and entangler argument. The operations can be passed as a list of single-qubit rotations, while the entangler should be either CNOT, CZ, CRX, CRY, CRZ or CPHASE.
from  qadence  import  RX ,  RY ,  CPHASE 
 
ansatz  =  hea ( 
     n_qubits = n_qubits , 
     depth = depth , 
     param_prefix = "phi" , 
     operations = [ RX ,  RY ,  RX ], 
     entangler = CPHASE 
) 
 
%3 
 
59915ffa92be4095811bba986a02d8b7 
0 
 
2b353df2bb3d4c69b4b931f157470b80 
 
RX(phi₀) 
 
59915ffa92be4095811bba986a02d8b7--2b353df2bb3d4c69b4b931f157470b80 
 
 
d80af9e1840f41d48bca5542eac3ca20 
1 
 
b6e6d2621e4444c8bb9bd5a2a7c8ab14 
 
RY(phi₃) 
 
2b353df2bb3d4c69b4b931f157470b80--b6e6d2621e4444c8bb9bd5a2a7c8ab14 
 
 
cb1aff23909046e7af80d68a31f2977b 
 
RX(phi₆) 
 
b6e6d2621e4444c8bb9bd5a2a7c8ab14--cb1aff23909046e7af80d68a31f2977b 
 
 
8e1d373053ef409da59f90eb968a03d6 
 
 
cb1aff23909046e7af80d68a31f2977b--8e1d373053ef409da59f90eb968a03d6 
 
 
536d71030de44a7fa8c5de3033e4e8ed 
 
 
8e1d373053ef409da59f90eb968a03d6--536d71030de44a7fa8c5de3033e4e8ed 
 
 
293d6a6c288b40ad9d155ad0c63c91b7 
 
RX(phi₉) 
 
536d71030de44a7fa8c5de3033e4e8ed--293d6a6c288b40ad9d155ad0c63c91b7 
 
 
06701aa33eff4a8aaa133acdeb62f8dd 
 
RY(phi₁₂) 
 
293d6a6c288b40ad9d155ad0c63c91b7--06701aa33eff4a8aaa133acdeb62f8dd 
 
 
371ec54885064d1aa841112f7b0f6571 
 
RX(phi₁₅) 
 
06701aa33eff4a8aaa133acdeb62f8dd--371ec54885064d1aa841112f7b0f6571 
 
 
e9ade689989b4d9fb322543be348eb97 
 
 
371ec54885064d1aa841112f7b0f6571--e9ade689989b4d9fb322543be348eb97 
 
 
5e1059c6836a479bbc24c540eb816292 
 
 
e9ade689989b4d9fb322543be348eb97--5e1059c6836a479bbc24c540eb816292 
 
 
2d7bc3d1835a49a2a4f7e084b1eb8896 
 
5e1059c6836a479bbc24c540eb816292--2d7bc3d1835a49a2a4f7e084b1eb8896 
 
 
155c239e538744fd85e61c5aeed33089 
 
deaabd2da5cb47edb39026ac89f09e07 
 
RX(phi₁) 
 
d80af9e1840f41d48bca5542eac3ca20--deaabd2da5cb47edb39026ac89f09e07 
 
 
33e6b6c8f6bb44e5a8ca13a6bb9bb121 
2 
 
59b9d99e4c3e4e4c9a255ca4ee3f024e 
 
RY(phi₄) 
 
deaabd2da5cb47edb39026ac89f09e07--59b9d99e4c3e4e4c9a255ca4ee3f024e 
 
 
efda0f0a8939450bbc89b866480e84d7 
 
RX(phi₇) 
 
59b9d99e4c3e4e4c9a255ca4ee3f024e--efda0f0a8939450bbc89b866480e84d7 
 
 
a55689fc094b44e0956460e403e4e776 
 
PHASE(phi_ent₀) 
 
efda0f0a8939450bbc89b866480e84d7--a55689fc094b44e0956460e403e4e776 
 
 
a55689fc094b44e0956460e403e4e776--8e1d373053ef409da59f90eb968a03d6 
 
 
4314b6f8afab41c9839b72ff7d7679ec 
 
 
a55689fc094b44e0956460e403e4e776--4314b6f8afab41c9839b72ff7d7679ec 
 
 
02db444156d7455aa167775fd7981f7a 
 
RX(phi₁₀) 
 
4314b6f8afab41c9839b72ff7d7679ec--02db444156d7455aa167775fd7981f7a 
 
 
4b9f3294fed94b7aa4442e84dca0a5ba 
 
RY(phi₁₃) 
 
02db444156d7455aa167775fd7981f7a--4b9f3294fed94b7aa4442e84dca0a5ba 
 
 
0e73d0632fe14910b7b90e3f54795e2c 
 
RX(phi₁₆) 
 
4b9f3294fed94b7aa4442e84dca0a5ba--0e73d0632fe14910b7b90e3f54795e2c 
 
 
ae40014323fe4d8d81ffeeddd3069561 
 
PHASE(phi_ent₂) 
 
0e73d0632fe14910b7b90e3f54795e2c--ae40014323fe4d8d81ffeeddd3069561 
 
 
ae40014323fe4d8d81ffeeddd3069561--e9ade689989b4d9fb322543be348eb97 
 
 
e40b73f27127499b9dcfdc360c513ed1 
 
 
ae40014323fe4d8d81ffeeddd3069561--e40b73f27127499b9dcfdc360c513ed1 
 
 
e40b73f27127499b9dcfdc360c513ed1--155c239e538744fd85e61c5aeed33089 
 
 
e2474abdc0a342598372c9c289b7ac78 
 
41e9de1356004d6a9addb13dfaf39932 
 
RX(phi₂) 
 
33e6b6c8f6bb44e5a8ca13a6bb9bb121--41e9de1356004d6a9addb13dfaf39932 
 
 
36bbfd7ed8784bc3ad0f260acc149a0f 
 
RY(phi₅) 
 
41e9de1356004d6a9addb13dfaf39932--36bbfd7ed8784bc3ad0f260acc149a0f 
 
 
6856f5c1f47c4f8890883b093b559b83 
 
RX(phi₈) 
 
36bbfd7ed8784bc3ad0f260acc149a0f--6856f5c1f47c4f8890883b093b559b83 
 
 
84ae9cf1cf4a427db516a72cf77f288d 
 
 
6856f5c1f47c4f8890883b093b559b83--84ae9cf1cf4a427db516a72cf77f288d 
 
 
4e400a6504d24d0fa9f60b858e1c09ed 
 
PHASE(phi_ent₁) 
 
84ae9cf1cf4a427db516a72cf77f288d--4e400a6504d24d0fa9f60b858e1c09ed 
 
 
4e400a6504d24d0fa9f60b858e1c09ed--4314b6f8afab41c9839b72ff7d7679ec 
 
 
8c8c92f29dac405b8484411864ba00e1 
 
RX(phi₁₁) 
 
4e400a6504d24d0fa9f60b858e1c09ed--8c8c92f29dac405b8484411864ba00e1 
 
 
9195e2494eba4dbf896ba07ed57e1a93 
 
RY(phi₁₄) 
 
8c8c92f29dac405b8484411864ba00e1--9195e2494eba4dbf896ba07ed57e1a93 
 
 
970b208f18a847b88ffee3764f44e896 
 
RX(phi₁₇) 
 
9195e2494eba4dbf896ba07ed57e1a93--970b208f18a847b88ffee3764f44e896 
 
 
f28d2032c03e4394822877c3a83b1af1 
 
 
970b208f18a847b88ffee3764f44e896--f28d2032c03e4394822877c3a83b1af1 
 
 
0167c1c17a914f9e89f14709a326d8c1 
 
PHASE(phi_ent₃) 
 
f28d2032c03e4394822877c3a83b1af1--0167c1c17a914f9e89f14709a326d8c1 
 
 
0167c1c17a914f9e89f14709a326d8c1--e40b73f27127499b9dcfdc360c513ed1 
 
 
0167c1c17a914f9e89f14709a326d8c1--e2474abdc0a342598372c9c289b7ac78 
 
 
 
 
 
Having a truly hardware-efficient  ansatz means that the entangling operation can be chosen according to each device's native interactions. Besides digital operations, in Qadence it is also possible to build digital-analog HEAs with the entanglement produced by the natural evolution of a set of interacting qubits, as natively implemented in neutral atom devices. As with other digital-analog functions, this can be controlled with the strategy argument which can be chosen from the Strategy  enum type. Currently, only Strategy.DIGITAL and Strategy.SDAQC are available. By default, calling strategy = Strategy.SDAQC will use a global entangling Hamiltonian with Ising-like \(NN\)  interactions and constant interaction strength,
from  qadence  import  Strategy 
 
ansatz  =  hea ( 
     n_qubits , 
     depth = depth , 
     strategy = Strategy . SDAQC 
) 
 
%3 
 
cluster_40a5742380ae48e1816084f387c7ea31 
 
 
cluster_b6cbe99da8d649d59bac16e76814f8c1 
 
 
d149636fc6c14239a56e3e8c833d2d87 
0 
 
68574b657cfc479ea1c8737607477b8e 
 
RX(theta₀) 
 
d149636fc6c14239a56e3e8c833d2d87--68574b657cfc479ea1c8737607477b8e 
 
 
3b459536383d46e4a9d7de4003427949 
1 
 
502635ac8c8b41aea9cf861fd2561b10 
 
RY(theta₃) 
 
68574b657cfc479ea1c8737607477b8e--502635ac8c8b41aea9cf861fd2561b10 
 
 
6ad95edb11844d30acf65325cb07bff9 
 
RX(theta₆) 
 
502635ac8c8b41aea9cf861fd2561b10--6ad95edb11844d30acf65325cb07bff9 
 
 
a48b6c3c0be5479485ebc468eeef6780 
HamEvo 
 
6ad95edb11844d30acf65325cb07bff9--a48b6c3c0be5479485ebc468eeef6780 
 
 
4362243ebe2b40559858ac35b93d6127 
 
RX(theta₉) 
 
a48b6c3c0be5479485ebc468eeef6780--4362243ebe2b40559858ac35b93d6127 
 
 
f56bd2d1e2ee488394d69efbcf030a6e 
 
RY(theta₁₂) 
 
4362243ebe2b40559858ac35b93d6127--f56bd2d1e2ee488394d69efbcf030a6e 
 
 
1d5eba09536f4e14b388ddb00c5f5426 
 
RX(theta₁₅) 
 
f56bd2d1e2ee488394d69efbcf030a6e--1d5eba09536f4e14b388ddb00c5f5426 
 
 
9c30c1f8682c49b4967a77fbdee63165 
HamEvo 
 
1d5eba09536f4e14b388ddb00c5f5426--9c30c1f8682c49b4967a77fbdee63165 
 
 
577cd818fdf54451817e8efd427e555d 
 
9c30c1f8682c49b4967a77fbdee63165--577cd818fdf54451817e8efd427e555d 
 
 
d692701b1aee497498adae698fd188e3 
 
43ba9f1cafe64fd5a2570f274cfb0b59 
 
RX(theta₁) 
 
3b459536383d46e4a9d7de4003427949--43ba9f1cafe64fd5a2570f274cfb0b59 
 
 
92ea584b17e5424593fb7d571ebd93f7 
2 
 
dbdff9c375924a258c3efc90f7d7595c 
 
RY(theta₄) 
 
43ba9f1cafe64fd5a2570f274cfb0b59--dbdff9c375924a258c3efc90f7d7595c 
 
 
b5dcaa0948ef453ea0e923bafcad9e3d 
 
RX(theta₇) 
 
dbdff9c375924a258c3efc90f7d7595c--b5dcaa0948ef453ea0e923bafcad9e3d 
 
 
7bbac905e86c467ab224d5e36584e7e5 
t = theta_t₀ 
 
b5dcaa0948ef453ea0e923bafcad9e3d--7bbac905e86c467ab224d5e36584e7e5 
 
 
8fb384062d964754962904d64d278a89 
 
RX(theta₁₀) 
 
7bbac905e86c467ab224d5e36584e7e5--8fb384062d964754962904d64d278a89 
 
 
e8ceb0771b024ab6a244027b0018a276 
 
RY(theta₁₃) 
 
8fb384062d964754962904d64d278a89--e8ceb0771b024ab6a244027b0018a276 
 
 
f890db19a3894cc8a1949268ebbc6763 
 
RX(theta₁₆) 
 
e8ceb0771b024ab6a244027b0018a276--f890db19a3894cc8a1949268ebbc6763 
 
 
03b2607c73354c1eab59392af4e37094 
t = theta_t₁ 
 
f890db19a3894cc8a1949268ebbc6763--03b2607c73354c1eab59392af4e37094 
 
 
03b2607c73354c1eab59392af4e37094--d692701b1aee497498adae698fd188e3 
 
 
9992812382ff4bd492f848673533a1dd 
 
77db20e0686c4bca90346c410a9dd11f 
 
RX(theta₂) 
 
92ea584b17e5424593fb7d571ebd93f7--77db20e0686c4bca90346c410a9dd11f 
 
 
6632401997324767918a7885468daa2a 
 
RY(theta₅) 
 
77db20e0686c4bca90346c410a9dd11f--6632401997324767918a7885468daa2a 
 
 
a06e9647deda4be19bf5535611103d5e 
 
RX(theta₈) 
 
6632401997324767918a7885468daa2a--a06e9647deda4be19bf5535611103d5e 
 
 
0c1fc4f143a842deba729f99a3fb8e7d 
 
a06e9647deda4be19bf5535611103d5e--0c1fc4f143a842deba729f99a3fb8e7d 
 
 
eeb2c8e6c15741b49a1dd4bba63378fb 
 
RX(theta₁₁) 
 
0c1fc4f143a842deba729f99a3fb8e7d--eeb2c8e6c15741b49a1dd4bba63378fb 
 
 
0cf1facb54994cc185e638c95f39b0bc 
 
RY(theta₁₄) 
 
eeb2c8e6c15741b49a1dd4bba63378fb--0cf1facb54994cc185e638c95f39b0bc 
 
 
578792fdc65c4bfc9840e7cc49d03056 
 
RX(theta₁₇) 
 
0cf1facb54994cc185e638c95f39b0bc--578792fdc65c4bfc9840e7cc49d03056 
 
 
453d270b0d304ff68f3a70076239016f 
 
578792fdc65c4bfc9840e7cc49d03056--453d270b0d304ff68f3a70076239016f 
 
 
453d270b0d304ff68f3a70076239016f--9992812382ff4bd492f848673533a1dd 
 
 
 
 
 
Note that, by default, only the time-parameter is automatically parameterized when building a digital-analog HEA. However, as described in the Hamiltonians tutorial , arbitrary interaction Hamiltonians can be easily built with the hamiltonian_factory function, with both customized or fully parameterized interactions, and these can be directly passed as the entangler for a customizable digital-analog HEA.
from  qadence  import  hamiltonian_factory ,  Interaction ,  N ,  Register ,  hea 
 
# Build a parameterized neutral-atom Hamiltonian following a honeycomb_lattice: 
register  =  Register . honeycomb_lattice ( 1 ,  1 ) 
 
entangler  =  hamiltonian_factory ( 
     register , 
     interaction = Interaction . NN , 
     detuning = N , 
     interaction_strength = "e" , 
     detuning_strength = "n" 
) 
 
# Build a fully parameterized Digital-Analog HEA: 
n_qubits  =  register . n_qubits 
depth  =  2 
 
ansatz  =  hea ( 
     n_qubits = register . n_qubits , 
     depth = depth , 
     operations = [ RX ,  RY ,  RX ], 
     entangler = entangler , 
     strategy = Strategy . SDAQC 
) 
 
%3 
 
cluster_80bb0a5e25674ddb864b8d9854a4d6a2 
 
 
cluster_8c819179782346058128e234374544ba 
 
 
2e9367dbe2694f83961751f50936740e 
0 
 
d6f2615c3c8140debd37b8655dd96ab3 
 
RX(theta₀) 
 
2e9367dbe2694f83961751f50936740e--d6f2615c3c8140debd37b8655dd96ab3 
 
 
7241b8fbc98d4f7d8d40dc60bbe252d3 
1 
 
937aa46b665d4d59b960cfbe328fffdb 
 
RY(theta₆) 
 
d6f2615c3c8140debd37b8655dd96ab3--937aa46b665d4d59b960cfbe328fffdb 
 
 
2e859c92e8f8489fbb850ebe6bf6be11 
 
RX(theta₁₂) 
 
937aa46b665d4d59b960cfbe328fffdb--2e859c92e8f8489fbb850ebe6bf6be11 
 
 
180762dd3b3e448dafd3ae59bbc75316 
 
2e859c92e8f8489fbb850ebe6bf6be11--180762dd3b3e448dafd3ae59bbc75316 
 
 
5b032b9f3e7f482097c7e3e43e3be4ef 
 
RX(theta₁₈) 
 
180762dd3b3e448dafd3ae59bbc75316--5b032b9f3e7f482097c7e3e43e3be4ef 
 
 
7912c5c0f2cd477a8dc6e9d6f18bb5d9 
 
RY(theta₂₄) 
 
5b032b9f3e7f482097c7e3e43e3be4ef--7912c5c0f2cd477a8dc6e9d6f18bb5d9 
 
 
9716daaeafe749a6958cb84fd8d3ffa7 
 
RX(theta₃₀) 
 
7912c5c0f2cd477a8dc6e9d6f18bb5d9--9716daaeafe749a6958cb84fd8d3ffa7 
 
 
3b0c3c4260354741a90dcba4d744e4e0 
 
9716daaeafe749a6958cb84fd8d3ffa7--3b0c3c4260354741a90dcba4d744e4e0 
 
 
ee9c5ba11ff240579c2f1dc6fe0c60c1 
 
3b0c3c4260354741a90dcba4d744e4e0--ee9c5ba11ff240579c2f1dc6fe0c60c1 
 
 
5198f73390cd4c0a8c162b9eb41b35da 
 
dda9a920562e40199a9a7ba69a90eb8e 
 
RX(theta₁) 
 
7241b8fbc98d4f7d8d40dc60bbe252d3--dda9a920562e40199a9a7ba69a90eb8e 
 
 
95446ae2110a43db875690c403836575 
2 
 
17bc90c744d74563a59feb16e36cf7f4 
 
RY(theta₇) 
 
dda9a920562e40199a9a7ba69a90eb8e--17bc90c744d74563a59feb16e36cf7f4 
 
 
f1a82f82a19048709fc36654fa259884 
 
RX(theta₁₃) 
 
17bc90c744d74563a59feb16e36cf7f4--f1a82f82a19048709fc36654fa259884 
 
 
9375974f5f1142399f56ddc402d04281 
 
f1a82f82a19048709fc36654fa259884--9375974f5f1142399f56ddc402d04281 
 
 
8026fd18aad14b07a28ea09202fa8514 
 
RX(theta₁₉) 
 
9375974f5f1142399f56ddc402d04281--8026fd18aad14b07a28ea09202fa8514 
 
 
6988a72ae056456ca6eb33b4d8620a70 
 
RY(theta₂₅) 
 
8026fd18aad14b07a28ea09202fa8514--6988a72ae056456ca6eb33b4d8620a70 
 
 
7f150da2d922450d88a3c2529384d651 
 
RX(theta₃₁) 
 
6988a72ae056456ca6eb33b4d8620a70--7f150da2d922450d88a3c2529384d651 
 
 
79610a3ad9be409481fef4ad581978db 
 
7f150da2d922450d88a3c2529384d651--79610a3ad9be409481fef4ad581978db 
 
 
79610a3ad9be409481fef4ad581978db--5198f73390cd4c0a8c162b9eb41b35da 
 
 
c8ed03ef7fe94a78ad589bd0da4678df 
 
f9385879b56b4de292333e4aeeb46f3d 
 
RX(theta₂) 
 
95446ae2110a43db875690c403836575--f9385879b56b4de292333e4aeeb46f3d 
 
 
b568b83e670442b5b2337be78efc4d65 
3 
 
fbfc762fe8ec47ccab862627c437f05d 
 
RY(theta₈) 
 
f9385879b56b4de292333e4aeeb46f3d--fbfc762fe8ec47ccab862627c437f05d 
 
 
02cbb6cd90514a95897916169f274e72 
 
RX(theta₁₄) 
 
fbfc762fe8ec47ccab862627c437f05d--02cbb6cd90514a95897916169f274e72 
 
 
c9c831f7839f4e5eafc5dbbe3b4e7d0a 
HamEvo 
 
02cbb6cd90514a95897916169f274e72--c9c831f7839f4e5eafc5dbbe3b4e7d0a 
 
 
98ec6c51d5a247b0a3f328958e5c1005 
 
RX(theta₂₀) 
 
c9c831f7839f4e5eafc5dbbe3b4e7d0a--98ec6c51d5a247b0a3f328958e5c1005 
 
 
ea9a75568ed643409e19019d7a1453ea 
 
RY(theta₂₆) 
 
98ec6c51d5a247b0a3f328958e5c1005--ea9a75568ed643409e19019d7a1453ea 
 
 
00e2b23e1eba449681b1681579415997 
 
RX(theta₃₂) 
 
ea9a75568ed643409e19019d7a1453ea--00e2b23e1eba449681b1681579415997 
 
 
3fa659126feb42e9abc4c7938c324532 
HamEvo 
 
00e2b23e1eba449681b1681579415997--3fa659126feb42e9abc4c7938c324532 
 
 
3fa659126feb42e9abc4c7938c324532--c8ed03ef7fe94a78ad589bd0da4678df 
 
 
c40ac9f7423346458547a6911be68a41 
 
6693c69f366b4ecdbea1e250239c264d 
 
RX(theta₃) 
 
b568b83e670442b5b2337be78efc4d65--6693c69f366b4ecdbea1e250239c264d 
 
 
c670d64c486a48c689e0113ee4a7db7e 
4 
 
e08198a03ae34b72b5ba710c15accfad 
 
RY(theta₉) 
 
6693c69f366b4ecdbea1e250239c264d--e08198a03ae34b72b5ba710c15accfad 
 
 
044907e7c057496a9c0bd0208c606638 
 
RX(theta₁₅) 
 
e08198a03ae34b72b5ba710c15accfad--044907e7c057496a9c0bd0208c606638 
 
 
7cedb30f7b4541769e3916d53bab2965 
t = theta_t₀ 
 
044907e7c057496a9c0bd0208c606638--7cedb30f7b4541769e3916d53bab2965 
 
 
f767f032647249a5a9ad2e3d4774e7da 
 
RX(theta₂₁) 
 
7cedb30f7b4541769e3916d53bab2965--f767f032647249a5a9ad2e3d4774e7da 
 
 
adc8dc543f7c4dbea95e64de626a886d 
 
RY(theta₂₇) 
 
f767f032647249a5a9ad2e3d4774e7da--adc8dc543f7c4dbea95e64de626a886d 
 
 
e4f23ca152634d888133441cbc1f28c3 
 
RX(theta₃₃) 
 
adc8dc543f7c4dbea95e64de626a886d--e4f23ca152634d888133441cbc1f28c3 
 
 
3983dfcb1fa644958d02faa8bbc8a48c 
t = theta_t₁ 
 
e4f23ca152634d888133441cbc1f28c3--3983dfcb1fa644958d02faa8bbc8a48c 
 
 
3983dfcb1fa644958d02faa8bbc8a48c--c40ac9f7423346458547a6911be68a41 
 
 
a4afc3f094844eea93f54469f86f4d5b 
 
84f2d5933a8d4af99ec2abde831f3ea8 
 
RX(theta₄) 
 
c670d64c486a48c689e0113ee4a7db7e--84f2d5933a8d4af99ec2abde831f3ea8 
 
 
af3251db0f3d4d958ca4390bce0d9a1e 
5 
 
5d097bd27374441caa5fa32d95e159f5 
 
RY(theta₁₀) 
 
84f2d5933a8d4af99ec2abde831f3ea8--5d097bd27374441caa5fa32d95e159f5 
 
 
20b50416a7e6492dba956d65ea5b9e32 
 
RX(theta₁₆) 
 
5d097bd27374441caa5fa32d95e159f5--20b50416a7e6492dba956d65ea5b9e32 
 
 
089c3855f35440188a462416d0fb35a2 
 
20b50416a7e6492dba956d65ea5b9e32--089c3855f35440188a462416d0fb35a2 
 
 
4a1a95a478c44132bdfa9e85203fbee7 
 
RX(theta₂₂) 
 
089c3855f35440188a462416d0fb35a2--4a1a95a478c44132bdfa9e85203fbee7 
 
 
9b4406c5cc714de68ad606c7d7fb349e 
 
RY(theta₂₈) 
 
4a1a95a478c44132bdfa9e85203fbee7--9b4406c5cc714de68ad606c7d7fb349e 
 
 
d4d84d058c9c4d9288fcb7d8c2a77815 
 
RX(theta₃₄) 
 
9b4406c5cc714de68ad606c7d7fb349e--d4d84d058c9c4d9288fcb7d8c2a77815 
 
 
158ab92945244f72bed7c58b8bb883ea 
 
d4d84d058c9c4d9288fcb7d8c2a77815--158ab92945244f72bed7c58b8bb883ea 
 
 
158ab92945244f72bed7c58b8bb883ea--a4afc3f094844eea93f54469f86f4d5b 
 
 
1b2f2bf6582544f2a1ba31c04dea098c 
 
781dca1a42484f7aae108703eb023942 
 
RX(theta₅) 
 
af3251db0f3d4d958ca4390bce0d9a1e--781dca1a42484f7aae108703eb023942 
 
 
60dada34ae554c37a3463c5e4c0cf34f 
 
RY(theta₁₁) 
 
781dca1a42484f7aae108703eb023942--60dada34ae554c37a3463c5e4c0cf34f 
 
 
ac55baeb04ea4d4cb671c2cdb898c8bd 
 
RX(theta₁₇) 
 
60dada34ae554c37a3463c5e4c0cf34f--ac55baeb04ea4d4cb671c2cdb898c8bd 
 
 
504c50e5f49f4a7eb429037acd3babcb 
 
ac55baeb04ea4d4cb671c2cdb898c8bd--504c50e5f49f4a7eb429037acd3babcb 
 
 
e0a7d7b5bdf14997a39cbf197328a54e 
 
RX(theta₂₃) 
 
504c50e5f49f4a7eb429037acd3babcb--e0a7d7b5bdf14997a39cbf197328a54e 
 
 
8253010128f64d3999b3d7c60eb902d8 
 
RY(theta₂₉) 
 
e0a7d7b5bdf14997a39cbf197328a54e--8253010128f64d3999b3d7c60eb902d8 
 
 
a3a5701466414d738aab93a0ad26be50 
 
RX(theta₃₅) 
 
8253010128f64d3999b3d7c60eb902d8--a3a5701466414d738aab93a0ad26be50 
 
 
b8bc22249c06416db653be7fc8b46d6f 
 
a3a5701466414d738aab93a0ad26be50--b8bc22249c06416db653be7fc8b46d6f 
 
 
b8bc22249c06416db653be7fc8b46d6f--1b2f2bf6582544f2a1ba31c04dea098c 
 
 
 
 
 
Identity-initialized ansatz 
It is widely known that parametrized quantum circuits are characterized by barren plateaus, where the gradient becomes exponentially small in the number of qubits. Here we include one of many techniques that have been proposed in recent years to mitigate this effect and facilitate QNNs training: Grant et al.  showed that initializing the weights of a QNN so that each block of the circuit evaluates to identity reduces the effect of barren plateaus in the initial stage of training. In a similar fashion to hea, such circuit can be created via calling the associated function, identity_initialized_ansatz:
from  qadence.constructors  import  identity_initialized_ansatz 
from  qadence.draw  import  display 
 
n_qubits  =  3 
depth  =  2 
 
ansatz  =  identity_initialized_ansatz ( n_qubits ,  depth ) 
 
%3 
 
cluster_053685ff310d4156ab755b34f677e3c1 
 
BPMA-1 
 
cluster_e70cf59e91da4e11ab259f33770208cf 
 
BPMA-0 
 
10f84d1bb1114b6cab45f082a2159f16 
0 
 
a3f2627f4b934755a7a3e0206173a083 
 
RX(iia_α₀₀) 
 
10f84d1bb1114b6cab45f082a2159f16--a3f2627f4b934755a7a3e0206173a083 
 
 
b9003eefd81e4ac0a5c1198a6611c72e 
1 
 
4e9706100c15498a907c8c3cd1d70124 
 
RY(iia_α₀₃) 
 
a3f2627f4b934755a7a3e0206173a083--4e9706100c15498a907c8c3cd1d70124 
 
 
1a12dbe0d1334052962d91c1598b980b 
 
 
4e9706100c15498a907c8c3cd1d70124--1a12dbe0d1334052962d91c1598b980b 
 
 
8631ca6e976940d390c539ab896b0697 
 
 
1a12dbe0d1334052962d91c1598b980b--8631ca6e976940d390c539ab896b0697 
 
 
d96a413dab024efaafacb121c99e880c 
 
RX(iia_γ₀₀) 
 
8631ca6e976940d390c539ab896b0697--d96a413dab024efaafacb121c99e880c 
 
 
1dc23855fc7240b3a2bb1510d99b15f7 
 
 
d96a413dab024efaafacb121c99e880c--1dc23855fc7240b3a2bb1510d99b15f7 
 
 
eb9eb982f7ca469bad3b96f489e8194d 
 
 
1dc23855fc7240b3a2bb1510d99b15f7--eb9eb982f7ca469bad3b96f489e8194d 
 
 
be4d90da5b3c486e99f70bd10176a178 
 
RY(iia_β₀₃) 
 
eb9eb982f7ca469bad3b96f489e8194d--be4d90da5b3c486e99f70bd10176a178 
 
 
aafc26eeca0644b0a27d34182e7395ad 
 
RX(iia_β₀₀) 
 
be4d90da5b3c486e99f70bd10176a178--aafc26eeca0644b0a27d34182e7395ad 
 
 
15d2180fe30545f882e61e2aae1b7bf2 
 
RX(iia_α₁₀) 
 
aafc26eeca0644b0a27d34182e7395ad--15d2180fe30545f882e61e2aae1b7bf2 
 
 
c037a4d531f34e7eaa8de59acc289fe6 
 
RY(iia_α₁₃) 
 
15d2180fe30545f882e61e2aae1b7bf2--c037a4d531f34e7eaa8de59acc289fe6 
 
 
c6c80fb4e8ff42698694c58743d490ae 
 
 
c037a4d531f34e7eaa8de59acc289fe6--c6c80fb4e8ff42698694c58743d490ae 
 
 
c4e401f13ca0486f80582c6fa10e8558 
 
 
c6c80fb4e8ff42698694c58743d490ae--c4e401f13ca0486f80582c6fa10e8558 
 
 
6f9acee0a6414666905b9fcd26aed35e 
 
RX(iia_γ₁₀) 
 
c4e401f13ca0486f80582c6fa10e8558--6f9acee0a6414666905b9fcd26aed35e 
 
 
b6c5773b613a4d99b7ff2ca274a35be5 
 
 
6f9acee0a6414666905b9fcd26aed35e--b6c5773b613a4d99b7ff2ca274a35be5 
 
 
1d7a2769e1204287874d8996c21706b6 
 
 
b6c5773b613a4d99b7ff2ca274a35be5--1d7a2769e1204287874d8996c21706b6 
 
 
08aced7ec7754d5ab4bda5a2c762bbf7 
 
RY(iia_β₁₃) 
 
1d7a2769e1204287874d8996c21706b6--08aced7ec7754d5ab4bda5a2c762bbf7 
 
 
b85ca95a04a145de82944fb01298735d 
 
RX(iia_β₁₀) 
 
08aced7ec7754d5ab4bda5a2c762bbf7--b85ca95a04a145de82944fb01298735d 
 
 
e8e02e4f7c6b41ab944af09580910352 
 
b85ca95a04a145de82944fb01298735d--e8e02e4f7c6b41ab944af09580910352 
 
 
bd450cfa5ffb41b1a597bba22833526b 
 
680db51ea86d45858902ca587c2dcd45 
 
RX(iia_α₀₁) 
 
b9003eefd81e4ac0a5c1198a6611c72e--680db51ea86d45858902ca587c2dcd45 
 
 
e91dfb0d8cda44719aafdd25005b3dcc 
2 
 
424a073d3b9240828070ad1e1b84a2fe 
 
RY(iia_α₀₄) 
 
680db51ea86d45858902ca587c2dcd45--424a073d3b9240828070ad1e1b84a2fe 
 
 
cc9153ab531a41d0b8c3c5bd7d7e21bf 
 
X 
 
424a073d3b9240828070ad1e1b84a2fe--cc9153ab531a41d0b8c3c5bd7d7e21bf 
 
 
cc9153ab531a41d0b8c3c5bd7d7e21bf--1a12dbe0d1334052962d91c1598b980b 
 
 
33733727864442d2ae290d10159614d9 
 
 
cc9153ab531a41d0b8c3c5bd7d7e21bf--33733727864442d2ae290d10159614d9 
 
 
9bfd99c13a2f4f56a5da95707d0a2b57 
 
RX(iia_γ₀₁) 
 
33733727864442d2ae290d10159614d9--9bfd99c13a2f4f56a5da95707d0a2b57 
 
 
82d0a8f8b6f34695bae73b1225c9a8f9 
 
 
9bfd99c13a2f4f56a5da95707d0a2b57--82d0a8f8b6f34695bae73b1225c9a8f9 
 
 
4cb5606e0f794138b1f1d9cf4b737b10 
 
X 
 
82d0a8f8b6f34695bae73b1225c9a8f9--4cb5606e0f794138b1f1d9cf4b737b10 
 
 
4cb5606e0f794138b1f1d9cf4b737b10--eb9eb982f7ca469bad3b96f489e8194d 
 
 
cfb59cf087f64a7c92879647145bff59 
 
RY(iia_β₀₄) 
 
4cb5606e0f794138b1f1d9cf4b737b10--cfb59cf087f64a7c92879647145bff59 
 
 
6e84d558acd944dc861a4b4874da9764 
 
RX(iia_β₀₁) 
 
cfb59cf087f64a7c92879647145bff59--6e84d558acd944dc861a4b4874da9764 
 
 
13ecb305377543d6b2c3ace141849ce0 
 
RX(iia_α₁₁) 
 
6e84d558acd944dc861a4b4874da9764--13ecb305377543d6b2c3ace141849ce0 
 
 
3969457e62fc4c1ca4ba43ea50a1d6ac 
 
RY(iia_α₁₄) 
 
13ecb305377543d6b2c3ace141849ce0--3969457e62fc4c1ca4ba43ea50a1d6ac 
 
 
fbb52e262a3a458299b648fbf44ae35c 
 
X 
 
3969457e62fc4c1ca4ba43ea50a1d6ac--fbb52e262a3a458299b648fbf44ae35c 
 
 
fbb52e262a3a458299b648fbf44ae35c--c6c80fb4e8ff42698694c58743d490ae 
 
 
57c980bf1d904484acc966efa3ded5d1 
 
 
fbb52e262a3a458299b648fbf44ae35c--57c980bf1d904484acc966efa3ded5d1 
 
 
577adbffdee54e49b41cab4725ca798c 
 
RX(iia_γ₁₁) 
 
57c980bf1d904484acc966efa3ded5d1--577adbffdee54e49b41cab4725ca798c 
 
 
19c261ecf9fa412281eabf368d6c1f46 
 
 
577adbffdee54e49b41cab4725ca798c--19c261ecf9fa412281eabf368d6c1f46 
 
 
02827a77b00a45a3898649fc71c34c6a 
 
X 
 
19c261ecf9fa412281eabf368d6c1f46--02827a77b00a45a3898649fc71c34c6a 
 
 
02827a77b00a45a3898649fc71c34c6a--1d7a2769e1204287874d8996c21706b6 
 
 
cf192e334efb474aacfa99d248cc318e 
 
RY(iia_β₁₄) 
 
02827a77b00a45a3898649fc71c34c6a--cf192e334efb474aacfa99d248cc318e 
 
 
e72568eb37df49648a1057a5304ef2f8 
 
RX(iia_β₁₁) 
 
cf192e334efb474aacfa99d248cc318e--e72568eb37df49648a1057a5304ef2f8 
 
 
e72568eb37df49648a1057a5304ef2f8--bd450cfa5ffb41b1a597bba22833526b 
 
 
ca05d4ce46b340b9925c450eb90b3b3e 
 
39eb0119b6e54840acc50e57d3ffbb7d 
 
RX(iia_α₀₂) 
 
e91dfb0d8cda44719aafdd25005b3dcc--39eb0119b6e54840acc50e57d3ffbb7d 
 
 
8b66e17131cc409db9a337d2305ea958 
 
RY(iia_α₀₅) 
 
39eb0119b6e54840acc50e57d3ffbb7d--8b66e17131cc409db9a337d2305ea958 
 
 
e65f499d5699430284a4a05add67eeca 
 
 
8b66e17131cc409db9a337d2305ea958--e65f499d5699430284a4a05add67eeca 
 
 
5fb077cdbc8f41c281e25901fb26946b 
 
X 
 
e65f499d5699430284a4a05add67eeca--5fb077cdbc8f41c281e25901fb26946b 
 
 
5fb077cdbc8f41c281e25901fb26946b--33733727864442d2ae290d10159614d9 
 
 
e5d730e4eb20473bb7e501317b2a1a64 
 
RX(iia_γ₀₂) 
 
5fb077cdbc8f41c281e25901fb26946b--e5d730e4eb20473bb7e501317b2a1a64 
 
 
2b19b12cf9c347e78e235eef45e6e303 
 
X 
 
e5d730e4eb20473bb7e501317b2a1a64--2b19b12cf9c347e78e235eef45e6e303 
 
 
2b19b12cf9c347e78e235eef45e6e303--82d0a8f8b6f34695bae73b1225c9a8f9 
 
 
5b29f25bd3db4960b85b2f10a30de91f 
 
 
2b19b12cf9c347e78e235eef45e6e303--5b29f25bd3db4960b85b2f10a30de91f 
 
 
87c2173994e44967b862aee4b6172c6d 
 
RY(iia_β₀₅) 
 
5b29f25bd3db4960b85b2f10a30de91f--87c2173994e44967b862aee4b6172c6d 
 
 
24a56ec0bed14fb0964d5e12e0f33773 
 
RX(iia_β₀₂) 
 
87c2173994e44967b862aee4b6172c6d--24a56ec0bed14fb0964d5e12e0f33773 
 
 
14943829f670437085540200244fc78c 
 
RX(iia_α₁₂) 
 
24a56ec0bed14fb0964d5e12e0f33773--14943829f670437085540200244fc78c 
 
 
fa5ef3682ac54070b840231f3beab961 
 
RY(iia_α₁₅) 
 
14943829f670437085540200244fc78c--fa5ef3682ac54070b840231f3beab961 
 
 
f08d4b04265b493f944bd8f6c08d2b6c 
 
 
fa5ef3682ac54070b840231f3beab961--f08d4b04265b493f944bd8f6c08d2b6c 
 
 
b5f8a490e351452ea9b8cf3f983aea4a 
 
X 
 
f08d4b04265b493f944bd8f6c08d2b6c--b5f8a490e351452ea9b8cf3f983aea4a 
 
 
b5f8a490e351452ea9b8cf3f983aea4a--57c980bf1d904484acc966efa3ded5d1 
 
 
d5015eb3383e48229cb7be4ef79babc6 
 
RX(iia_γ₁₂) 
 
b5f8a490e351452ea9b8cf3f983aea4a--d5015eb3383e48229cb7be4ef79babc6 
 
 
09d43ce287f1485d98201dccac98eb7f 
 
X 
 
d5015eb3383e48229cb7be4ef79babc6--09d43ce287f1485d98201dccac98eb7f 
 
 
09d43ce287f1485d98201dccac98eb7f--19c261ecf9fa412281eabf368d6c1f46 
 
 
cda56956f46c4b8fbf5fcbb052816f66 
 
 
09d43ce287f1485d98201dccac98eb7f--cda56956f46c4b8fbf5fcbb052816f66 
 
 
f672607945904c67890db0ee2f8837e5 
 
RY(iia_β₁₅) 
 
cda56956f46c4b8fbf5fcbb052816f66--f672607945904c67890db0ee2f8837e5 
 
 
e54ff1227b2640dea4a032b52c8f4800 
 
RX(iia_β₁₂) 
 
f672607945904c67890db0ee2f8837e5--e54ff1227b2640dea4a032b52c8f4800 
 
 
e54ff1227b2640dea4a032b52c8f4800--ca05d4ce46b340b9925c450eb90b3b3e