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_d7ff932d45b74f6698f2acd23f32b956 
 
Constant Chebyshev FM 
 
cluster_28ee76c715204d48b8c7b93008a38324 
 
Constant Fourier FM 
 
700b9fcd3fdf4265a33f7b838c7d4ad8 
0 
 
09f05f94e99343418fa82a9c4a0349de 
 
RX(phi) 
 
700b9fcd3fdf4265a33f7b838c7d4ad8--09f05f94e99343418fa82a9c4a0349de 
 
 
a1f228e7e35148aaa2a6a4941e6c5db9 
1 
 
d35ce2d55e424a68abea1fd76fe3a2ac 
 
RX(acos(phi)) 
 
09f05f94e99343418fa82a9c4a0349de--d35ce2d55e424a68abea1fd76fe3a2ac 
 
 
dc50ab89d78745eaaef0c592f304f311 
 
d35ce2d55e424a68abea1fd76fe3a2ac--dc50ab89d78745eaaef0c592f304f311 
 
 
8deb6d73b57e4032bb089ae3891dd823 
 
d447b804d7f64ccc8d1db76a0b0da50d 
 
RX(phi) 
 
a1f228e7e35148aaa2a6a4941e6c5db9--d447b804d7f64ccc8d1db76a0b0da50d 
 
 
db7bc09a2235432c9de6fdb1232fd3ec 
2 
 
eda5269047d04e52b1efca9ac12d6b5e 
 
RX(acos(phi)) 
 
d447b804d7f64ccc8d1db76a0b0da50d--eda5269047d04e52b1efca9ac12d6b5e 
 
 
eda5269047d04e52b1efca9ac12d6b5e--8deb6d73b57e4032bb089ae3891dd823 
 
 
d9abaf67fe934dd9b8f44b737daa23d2 
 
839c7875a30e4235967eeadd4d534b0f 
 
RX(phi) 
 
db7bc09a2235432c9de6fdb1232fd3ec--839c7875a30e4235967eeadd4d534b0f 
 
 
535e0a2a0f064fa3881cc3298ffca2af 
 
RX(acos(phi)) 
 
839c7875a30e4235967eeadd4d534b0f--535e0a2a0f064fa3881cc3298ffca2af 
 
 
535e0a2a0f064fa3881cc3298ffca2af--d9abaf67fe934dd9b8f44b737daa23d2 
 
 
 
 
 
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_623f43fc50224521beb033bd3f0c3f06 
 
Constant <function custom_fn at 0x7ff7b4d6a0e0> FM 
 
cluster_2db56e791df04ef88697fe69391f4051 
 
Constant asin FM 
 
3972873cc3b54f2c81d5af88f61b2d8e 
0 
 
e74b39386fa545d186ad49bd57a7ccbf 
 
RX(asin(phi)) 
 
3972873cc3b54f2c81d5af88f61b2d8e--e74b39386fa545d186ad49bd57a7ccbf 
 
 
96c1b9e906574709b41b97a872053eb6 
1 
 
398bd692c5f349e6b8f7bf886df8b027 
 
RX(phi**2 + asin(phi)) 
 
e74b39386fa545d186ad49bd57a7ccbf--398bd692c5f349e6b8f7bf886df8b027 
 
 
92030472bbf94217999521f902120c24 
 
398bd692c5f349e6b8f7bf886df8b027--92030472bbf94217999521f902120c24 
 
 
7d00c95f009544f1a8fe61a5c64df82b 
 
2c7b55246be24e1ca406d9d3603f6caf 
 
RX(asin(phi)) 
 
96c1b9e906574709b41b97a872053eb6--2c7b55246be24e1ca406d9d3603f6caf 
 
 
d2399b61d7eb4caba1d78cf3cf89744d 
2 
 
e74681e1c1e54c40993364afd26adfe1 
 
RX(phi**2 + asin(phi)) 
 
2c7b55246be24e1ca406d9d3603f6caf--e74681e1c1e54c40993364afd26adfe1 
 
 
e74681e1c1e54c40993364afd26adfe1--7d00c95f009544f1a8fe61a5c64df82b 
 
 
1509b0506eac41a7a385d1a2c5f46157 
 
b53cd138714843aab72b698c953828f9 
 
RX(asin(phi)) 
 
d2399b61d7eb4caba1d78cf3cf89744d--b53cd138714843aab72b698c953828f9 
 
 
bc0c9ce6128245a8bda1e8b7b8d8ad8d 
 
RX(phi**2 + asin(phi)) 
 
b53cd138714843aab72b698c953828f9--bc0c9ce6128245a8bda1e8b7b8d8ad8d 
 
 
bc0c9ce6128245a8bda1e8b7b8d8ad8d--1509b0506eac41a7a385d1a2c5f46157 
 
 
 
 
 
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_0de7d50bfe6945428d5b165d7d593d55 
 
Exponential Fourier FM 
 
cluster_9a58478ae474450f98e21b4ba135fe03 
 
Constant Fourier FM 
 
cluster_a9646dd3464c4b05922850a4859889f6 
 
Tower Fourier FM 
 
f386df6a0f2348cf9d74a5503323128e 
0 
 
bb6aa80f5b0a474984a885c7bbcbb906 
 
RX(phi) 
 
f386df6a0f2348cf9d74a5503323128e--bb6aa80f5b0a474984a885c7bbcbb906 
 
 
7c55bf47c4234c0c8d10b5d1f35ec287 
1 
 
9a716d63dcdf4c188f0c5daa73d252e6 
 
RX(1.0*phi) 
 
bb6aa80f5b0a474984a885c7bbcbb906--9a716d63dcdf4c188f0c5daa73d252e6 
 
 
60d9b055786142869dce9d964ba5c1d5 
 
RX(1.0*phi) 
 
9a716d63dcdf4c188f0c5daa73d252e6--60d9b055786142869dce9d964ba5c1d5 
 
 
536f4edb41eb4bf48287b6eab8c7fd67 
 
60d9b055786142869dce9d964ba5c1d5--536f4edb41eb4bf48287b6eab8c7fd67 
 
 
5db11d87e3a64f6a951668a7318025ca 
 
a8201d808db3473db759e73244fb0906 
 
RX(phi) 
 
7c55bf47c4234c0c8d10b5d1f35ec287--a8201d808db3473db759e73244fb0906 
 
 
d964f452cbec4b929125f999135c1a5c 
2 
 
5e3dd9d941ef4a4aa22072b2b8f802e8 
 
RX(2.0*phi) 
 
a8201d808db3473db759e73244fb0906--5e3dd9d941ef4a4aa22072b2b8f802e8 
 
 
b9d6ca297cf44f7ca310bc80b5692a7c 
 
RX(2.0*phi) 
 
5e3dd9d941ef4a4aa22072b2b8f802e8--b9d6ca297cf44f7ca310bc80b5692a7c 
 
 
b9d6ca297cf44f7ca310bc80b5692a7c--5db11d87e3a64f6a951668a7318025ca 
 
 
8857916480014e9dbd9ef58686762ebe 
 
335236dc5374449193204177f0749571 
 
RX(phi) 
 
d964f452cbec4b929125f999135c1a5c--335236dc5374449193204177f0749571 
 
 
1b52a637144b4d41a61ed6da7f4624cc 
3 
 
096ef7cfde324bbfaf4f225605e9df29 
 
RX(3.0*phi) 
 
335236dc5374449193204177f0749571--096ef7cfde324bbfaf4f225605e9df29 
 
 
b009414a2b5647f9bfe508b2bbfe05c4 
 
RX(4.0*phi) 
 
096ef7cfde324bbfaf4f225605e9df29--b009414a2b5647f9bfe508b2bbfe05c4 
 
 
b009414a2b5647f9bfe508b2bbfe05c4--8857916480014e9dbd9ef58686762ebe 
 
 
6166d371d1324f7d9d68afae44843ce8 
 
bed899f25ffd4be9b6f9e1ef7b4ccd6c 
 
RX(phi) 
 
1b52a637144b4d41a61ed6da7f4624cc--bed899f25ffd4be9b6f9e1ef7b4ccd6c 
 
 
732a487552e04c8ea2b278398edc1f55 
4 
 
3cdd710c186b4549802ace9606a0250f 
 
RX(4.0*phi) 
 
bed899f25ffd4be9b6f9e1ef7b4ccd6c--3cdd710c186b4549802ace9606a0250f 
 
 
e594af9f7b9e4d6a8d3e3cf44db1fe8e 
 
RX(8.0*phi) 
 
3cdd710c186b4549802ace9606a0250f--e594af9f7b9e4d6a8d3e3cf44db1fe8e 
 
 
e594af9f7b9e4d6a8d3e3cf44db1fe8e--6166d371d1324f7d9d68afae44843ce8 
 
 
2c6423427df14e068ce59e4aa892104b 
 
d04951eebcf943d5be4b522eff73aa8a 
 
RX(phi) 
 
732a487552e04c8ea2b278398edc1f55--d04951eebcf943d5be4b522eff73aa8a 
 
 
84431e478649490685de7800cc0fb92d 
 
RX(5.0*phi) 
 
d04951eebcf943d5be4b522eff73aa8a--84431e478649490685de7800cc0fb92d 
 
 
7ff029ded5c146bb9bae3f42852ec389 
 
RX(16.0*phi) 
 
84431e478649490685de7800cc0fb92d--7ff029ded5c146bb9bae3f42852ec389 
 
 
7ff029ded5c146bb9bae3f42852ec389--2c6423427df14e068ce59e4aa892104b 
 
 
 
 
 
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 
 
3a5d98c7ba0f4e18b232c22d1f8b8dcb 
0 
 
6945261766434ad38f6d8f236c95b8b2 
 
RX(1.0*acos(phi)) 
 
3a5d98c7ba0f4e18b232c22d1f8b8dcb--6945261766434ad38f6d8f236c95b8b2 
 
 
a6722dc782894449b2c890f96c4625a9 
1 
 
61f5e3c348f543698c19a917275df012 
 
6945261766434ad38f6d8f236c95b8b2--61f5e3c348f543698c19a917275df012 
 
 
33f4b4409c934fd0aecff1aa5cdc6293 
 
43a51464f4084be3bacdc6d5e1ed8a92 
 
RX(1.414*acos(phi)) 
 
a6722dc782894449b2c890f96c4625a9--43a51464f4084be3bacdc6d5e1ed8a92 
 
 
58faa1e1e75d41baa0ef09fb36c56a67 
2 
 
43a51464f4084be3bacdc6d5e1ed8a92--33f4b4409c934fd0aecff1aa5cdc6293 
 
 
4edd2c52c335456ebebb7b69d9e5a639 
 
2943295271c946108af4293e44e169bb 
 
RX(1.732*acos(phi)) 
 
58faa1e1e75d41baa0ef09fb36c56a67--2943295271c946108af4293e44e169bb 
 
 
4e238c010ee14a8aada84005d8b7b4bf 
3 
 
2943295271c946108af4293e44e169bb--4edd2c52c335456ebebb7b69d9e5a639 
 
 
5ff69715a77a43b5a5a9ac9d1194e192 
 
3635b284e5b3470293a8d7e99a84dcb2 
 
RX(2.0*acos(phi)) 
 
4e238c010ee14a8aada84005d8b7b4bf--3635b284e5b3470293a8d7e99a84dcb2 
 
 
1f2912a599f44fb49292485b8df5346b 
4 
 
3635b284e5b3470293a8d7e99a84dcb2--5ff69715a77a43b5a5a9ac9d1194e192 
 
 
c0e10ef8137849f3a9ed68a5d97fdbc3 
 
442e82d04c6d4a6781b9ed652c6a00da 
 
RX(2.236*acos(phi)) 
 
1f2912a599f44fb49292485b8df5346b--442e82d04c6d4a6781b9ed652c6a00da 
 
 
442e82d04c6d4a6781b9ed652c6a00da--c0e10ef8137849f3a9ed68a5d97fdbc3 
 
 
 
 
 
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 
 
5b6bea4742064b5391fff0d408f14683 
0 
 
be9ca40390424691adce2ccc10deac02 
 
RX(1.0*phi*w₀) 
 
5b6bea4742064b5391fff0d408f14683--be9ca40390424691adce2ccc10deac02 
 
 
3551a60f2b8241139c4f188161e52d44 
1 
 
67c76ee9d0074488891427de2181e7f5 
 
be9ca40390424691adce2ccc10deac02--67c76ee9d0074488891427de2181e7f5 
 
 
1369a1ecadb74b46b4903eda8d8ea1ac 
 
6b29de6aff3f4731876ac232f5e63996 
 
RX(2.0*phi*w₁) 
 
3551a60f2b8241139c4f188161e52d44--6b29de6aff3f4731876ac232f5e63996 
 
 
f72a58452ce34852b677552d0b601006 
2 
 
6b29de6aff3f4731876ac232f5e63996--1369a1ecadb74b46b4903eda8d8ea1ac 
 
 
e53bc70aef9e46f7b14ef0663f047298 
 
2d10d007e0134eb1bebef5cd686e3497 
 
RX(4.0*phi*w₂) 
 
f72a58452ce34852b677552d0b601006--2d10d007e0134eb1bebef5cd686e3497 
 
 
125a236ab37c41bb83b7708307d4d8e7 
3 
 
2d10d007e0134eb1bebef5cd686e3497--e53bc70aef9e46f7b14ef0663f047298 
 
 
209798b6e77c4df39b5ef8f22388d895 
 
405ec779c5e04c33ad0da6eec110aff8 
 
RX(8.0*phi*w₃) 
 
125a236ab37c41bb83b7708307d4d8e7--405ec779c5e04c33ad0da6eec110aff8 
 
 
9e49a77597844882a04da715a057cfc0 
4 
 
405ec779c5e04c33ad0da6eec110aff8--209798b6e77c4df39b5ef8f22388d895 
 
 
e4d821fdae344fb4aa2adba3a714f357 
 
9d4f27e2a26544f6ba7ce003abda414c 
 
RX(16.0*phi*w₄) 
 
9e49a77597844882a04da715a057cfc0--9d4f27e2a26544f6ba7ce003abda414c 
 
 
9d4f27e2a26544f6ba7ce003abda414c--e4d821fdae344fb4aa2adba3a714f357 
 
 
 
 
 
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 
 
ea717baf0aa743e0a2afd9480b34fafe 
0 
 
bee10117e4ae4cc7bae92e333cc6e61b 
 
RY(80.0*acos(w₄*(0.667*x + 1.667))) 
 
ea717baf0aa743e0a2afd9480b34fafe--bee10117e4ae4cc7bae92e333cc6e61b 
 
 
4ccc3c2cbbdd436baec0d08645503410 
1 
 
e068d479fee541a782274c788acc39bb 
 
bee10117e4ae4cc7bae92e333cc6e61b--e068d479fee541a782274c788acc39bb 
 
 
36b961e3733d4e4c9584371b9e73382f 
 
39e8daca804341239daae51309699267 
 
RY(40.0*acos(w₃*(0.667*x + 1.667))) 
 
4ccc3c2cbbdd436baec0d08645503410--39e8daca804341239daae51309699267 
 
 
56dc90d60c3e4b69b08cf6eccf97a44a 
2 
 
39e8daca804341239daae51309699267--36b961e3733d4e4c9584371b9e73382f 
 
 
871bc193168f4807bd93cb88118f3862 
 
c36fc92c05ae4f7aa71bf6ecf55524a0 
 
RY(20.0*acos(w₂*(0.667*x + 1.667))) 
 
56dc90d60c3e4b69b08cf6eccf97a44a--c36fc92c05ae4f7aa71bf6ecf55524a0 
 
 
eac7a0b8a25242af8c18529669019a4d 
3 
 
c36fc92c05ae4f7aa71bf6ecf55524a0--871bc193168f4807bd93cb88118f3862 
 
 
104ab0a6c71d4574ba872d76aa9c814f 
 
1d5dc5cd8143497d87d406f403b559a9 
 
RY(10.0*acos(w₁*(0.667*x + 1.667))) 
 
eac7a0b8a25242af8c18529669019a4d--1d5dc5cd8143497d87d406f403b559a9 
 
 
3bd0a0e5146344a790f79047eead620f 
4 
 
1d5dc5cd8143497d87d406f403b559a9--104ab0a6c71d4574ba872d76aa9c814f 
 
 
592b1d72149a4bb58970f0e48230938b 
 
c5f3e91241a541b6a8770e7436cab990 
 
RY(5.0*acos(w₀*(0.667*x + 1.667))) 
 
3bd0a0e5146344a790f79047eead620f--c5f3e91241a541b6a8770e7436cab990 
 
 
c5f3e91241a541b6a8770e7436cab990--592b1d72149a4bb58970f0e48230938b 
 
 
 
 
 
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 
 
460540788e2c46418cffdfe25f84d863 
0 
 
02473ef4842f4c6790d35e29b4d53769 
 
RX(theta₀) 
 
460540788e2c46418cffdfe25f84d863--02473ef4842f4c6790d35e29b4d53769 
 
 
59b3dad9832c4e6d820b84a0d27b6818 
1 
 
49ddd62deff948ce9e5366f464a2cd67 
 
RY(theta₃) 
 
02473ef4842f4c6790d35e29b4d53769--49ddd62deff948ce9e5366f464a2cd67 
 
 
eb6129e8d30f455fbf43cc84d0b967b3 
 
RX(theta₆) 
 
49ddd62deff948ce9e5366f464a2cd67--eb6129e8d30f455fbf43cc84d0b967b3 
 
 
1eac9ad10751498185836ce35fb9b329 
 
 
eb6129e8d30f455fbf43cc84d0b967b3--1eac9ad10751498185836ce35fb9b329 
 
 
0011623e25b84891836ec261c2961ebb 
 
 
1eac9ad10751498185836ce35fb9b329--0011623e25b84891836ec261c2961ebb 
 
 
2963a8a0595f4547b100d2f11c9d0d0d 
 
RX(theta₉) 
 
0011623e25b84891836ec261c2961ebb--2963a8a0595f4547b100d2f11c9d0d0d 
 
 
dc75d097077943a69e3069cc50fb5157 
 
RY(theta₁₂) 
 
2963a8a0595f4547b100d2f11c9d0d0d--dc75d097077943a69e3069cc50fb5157 
 
 
a5a30afd54ca407fbd3f7c402416507c 
 
RX(theta₁₅) 
 
dc75d097077943a69e3069cc50fb5157--a5a30afd54ca407fbd3f7c402416507c 
 
 
ac6c84b9d2504471a9f20f90a29fe538 
 
 
a5a30afd54ca407fbd3f7c402416507c--ac6c84b9d2504471a9f20f90a29fe538 
 
 
a7ed2126168d48179175ef8983c6b20d 
 
 
ac6c84b9d2504471a9f20f90a29fe538--a7ed2126168d48179175ef8983c6b20d 
 
 
8b1fc662783044118a3e8c2591dfa69c 
 
a7ed2126168d48179175ef8983c6b20d--8b1fc662783044118a3e8c2591dfa69c 
 
 
97651ea0015f4690a759c81dd47e7562 
 
e2cdafbcd4a8425387db386e06b7754a 
 
RX(theta₁) 
 
59b3dad9832c4e6d820b84a0d27b6818--e2cdafbcd4a8425387db386e06b7754a 
 
 
732f939994b64c9d8e4911fc8b901934 
2 
 
443ca5964ba14f6a80733c3c3bce1f57 
 
RY(theta₄) 
 
e2cdafbcd4a8425387db386e06b7754a--443ca5964ba14f6a80733c3c3bce1f57 
 
 
331948fde30941fabb78c3d4e8c1e410 
 
RX(theta₇) 
 
443ca5964ba14f6a80733c3c3bce1f57--331948fde30941fabb78c3d4e8c1e410 
 
 
4b45288c52f44930b733453921559cef 
 
X 
 
331948fde30941fabb78c3d4e8c1e410--4b45288c52f44930b733453921559cef 
 
 
4b45288c52f44930b733453921559cef--1eac9ad10751498185836ce35fb9b329 
 
 
982c0f86831d46229b2353b965f35e7f 
 
 
4b45288c52f44930b733453921559cef--982c0f86831d46229b2353b965f35e7f 
 
 
fd9806c43f4c406d8183d3c401258433 
 
RX(theta₁₀) 
 
982c0f86831d46229b2353b965f35e7f--fd9806c43f4c406d8183d3c401258433 
 
 
369e63e73e074b7789ed81d9500559ca 
 
RY(theta₁₃) 
 
fd9806c43f4c406d8183d3c401258433--369e63e73e074b7789ed81d9500559ca 
 
 
1f68d80b63844ceb8c3ff09a7ed0d680 
 
RX(theta₁₆) 
 
369e63e73e074b7789ed81d9500559ca--1f68d80b63844ceb8c3ff09a7ed0d680 
 
 
a27b2ff526a74aca8357565fca3d76e0 
 
X 
 
1f68d80b63844ceb8c3ff09a7ed0d680--a27b2ff526a74aca8357565fca3d76e0 
 
 
a27b2ff526a74aca8357565fca3d76e0--ac6c84b9d2504471a9f20f90a29fe538 
 
 
48594ff3732645a885c4b1011b99d6a7 
 
 
a27b2ff526a74aca8357565fca3d76e0--48594ff3732645a885c4b1011b99d6a7 
 
 
48594ff3732645a885c4b1011b99d6a7--97651ea0015f4690a759c81dd47e7562 
 
 
de2219e92da34bfc9b56c449f6dc04fe 
 
73f1c3de59244b4f9e5e9cd0c66dc108 
 
RX(theta₂) 
 
732f939994b64c9d8e4911fc8b901934--73f1c3de59244b4f9e5e9cd0c66dc108 
 
 
7eabe55d89b640e1816fea79a088a2c4 
 
RY(theta₅) 
 
73f1c3de59244b4f9e5e9cd0c66dc108--7eabe55d89b640e1816fea79a088a2c4 
 
 
effc77b5fa0a433abfc61e4530eae299 
 
RX(theta₈) 
 
7eabe55d89b640e1816fea79a088a2c4--effc77b5fa0a433abfc61e4530eae299 
 
 
6b864ac7a71a49fda829eb0f763f9d44 
 
 
effc77b5fa0a433abfc61e4530eae299--6b864ac7a71a49fda829eb0f763f9d44 
 
 
653f56c9d9524790a9e2ad805707f3d3 
 
X 
 
6b864ac7a71a49fda829eb0f763f9d44--653f56c9d9524790a9e2ad805707f3d3 
 
 
653f56c9d9524790a9e2ad805707f3d3--982c0f86831d46229b2353b965f35e7f 
 
 
d6da2d04c59b47038a500772b284ecd3 
 
RX(theta₁₁) 
 
653f56c9d9524790a9e2ad805707f3d3--d6da2d04c59b47038a500772b284ecd3 
 
 
e7909cd5ae1d44cfb240f18473a346dc 
 
RY(theta₁₄) 
 
d6da2d04c59b47038a500772b284ecd3--e7909cd5ae1d44cfb240f18473a346dc 
 
 
88ec68f7f94a41ab8023832c636d701b 
 
RX(theta₁₇) 
 
e7909cd5ae1d44cfb240f18473a346dc--88ec68f7f94a41ab8023832c636d701b 
 
 
21a82170f0d649e5ad18e8164988e2bc 
 
 
88ec68f7f94a41ab8023832c636d701b--21a82170f0d649e5ad18e8164988e2bc 
 
 
b2a56972bd4e46ad978db06fd3bd19c1 
 
X 
 
21a82170f0d649e5ad18e8164988e2bc--b2a56972bd4e46ad978db06fd3bd19c1 
 
 
b2a56972bd4e46ad978db06fd3bd19c1--48594ff3732645a885c4b1011b99d6a7 
 
 
b2a56972bd4e46ad978db06fd3bd19c1--de2219e92da34bfc9b56c449f6dc04fe 
 
 
 
 
 
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 
 
61943e2cb18744b0938e841427b5299c 
0 
 
1334d672a62a40fd9aef10644d4f892a 
 
RX(phi₀) 
 
61943e2cb18744b0938e841427b5299c--1334d672a62a40fd9aef10644d4f892a 
 
 
8991e422240548cbb50d33c70eb7ae52 
1 
 
06eeaa3a15bb44d5bf69ff2eeea15def 
 
RY(phi₃) 
 
1334d672a62a40fd9aef10644d4f892a--06eeaa3a15bb44d5bf69ff2eeea15def 
 
 
893407624eae417e91285fbba1af878b 
 
RX(phi₆) 
 
06eeaa3a15bb44d5bf69ff2eeea15def--893407624eae417e91285fbba1af878b 
 
 
3a2e681e1627442ca6de67f18a8d1984 
 
 
893407624eae417e91285fbba1af878b--3a2e681e1627442ca6de67f18a8d1984 
 
 
6fbff82442e344eea3d2e6ab62e0dec8 
 
 
3a2e681e1627442ca6de67f18a8d1984--6fbff82442e344eea3d2e6ab62e0dec8 
 
 
96da3651fa2a43eb880b59c3ca4ce7a3 
 
RX(phi₉) 
 
6fbff82442e344eea3d2e6ab62e0dec8--96da3651fa2a43eb880b59c3ca4ce7a3 
 
 
e1b8d737f61140b8a08c15887884aeac 
 
RY(phi₁₂) 
 
96da3651fa2a43eb880b59c3ca4ce7a3--e1b8d737f61140b8a08c15887884aeac 
 
 
f4734f10b40d48b4b9520c29881c6b11 
 
RX(phi₁₅) 
 
e1b8d737f61140b8a08c15887884aeac--f4734f10b40d48b4b9520c29881c6b11 
 
 
5b476e69eeab4e09a0a5474d286ba3c2 
 
 
f4734f10b40d48b4b9520c29881c6b11--5b476e69eeab4e09a0a5474d286ba3c2 
 
 
c967ac92786b4b8c975eb2af0cecc56f 
 
 
5b476e69eeab4e09a0a5474d286ba3c2--c967ac92786b4b8c975eb2af0cecc56f 
 
 
b5f17e5db4e84b23ae65475b6f32f885 
 
c967ac92786b4b8c975eb2af0cecc56f--b5f17e5db4e84b23ae65475b6f32f885 
 
 
da943b0686ba4db687b0c27fd23cb3d4 
 
de076058491f41a994c496521c35b05d 
 
RX(phi₁) 
 
8991e422240548cbb50d33c70eb7ae52--de076058491f41a994c496521c35b05d 
 
 
ea8d96da4c804a1ab5c2ecf4decca164 
2 
 
46fd4ffc70bc4d34a472dc170e15e02a 
 
RY(phi₄) 
 
de076058491f41a994c496521c35b05d--46fd4ffc70bc4d34a472dc170e15e02a 
 
 
25489e8a21df474991fa02b18a0da181 
 
RX(phi₇) 
 
46fd4ffc70bc4d34a472dc170e15e02a--25489e8a21df474991fa02b18a0da181 
 
 
686d7a77b85e4212a6a688bf0b17fb23 
 
PHASE(phi_ent₀) 
 
25489e8a21df474991fa02b18a0da181--686d7a77b85e4212a6a688bf0b17fb23 
 
 
686d7a77b85e4212a6a688bf0b17fb23--3a2e681e1627442ca6de67f18a8d1984 
 
 
04265aa5314e45038c879fd1dcb93d6d 
 
 
686d7a77b85e4212a6a688bf0b17fb23--04265aa5314e45038c879fd1dcb93d6d 
 
 
48a9eb094a764bf08577f5ef3b5de864 
 
RX(phi₁₀) 
 
04265aa5314e45038c879fd1dcb93d6d--48a9eb094a764bf08577f5ef3b5de864 
 
 
85928f66be21434d98542e1face88408 
 
RY(phi₁₃) 
 
48a9eb094a764bf08577f5ef3b5de864--85928f66be21434d98542e1face88408 
 
 
9682b87d5e18475abd9837321dfb29cb 
 
RX(phi₁₆) 
 
85928f66be21434d98542e1face88408--9682b87d5e18475abd9837321dfb29cb 
 
 
78cc532235fe4f5d9f3663986aaa9e08 
 
PHASE(phi_ent₂) 
 
9682b87d5e18475abd9837321dfb29cb--78cc532235fe4f5d9f3663986aaa9e08 
 
 
78cc532235fe4f5d9f3663986aaa9e08--5b476e69eeab4e09a0a5474d286ba3c2 
 
 
811624f2296f49589849abe678e5fd1e 
 
 
78cc532235fe4f5d9f3663986aaa9e08--811624f2296f49589849abe678e5fd1e 
 
 
811624f2296f49589849abe678e5fd1e--da943b0686ba4db687b0c27fd23cb3d4 
 
 
546a88bf459949dabceeebb0ed197731 
 
5fffaf7bfe42405b907a2f2e4d497781 
 
RX(phi₂) 
 
ea8d96da4c804a1ab5c2ecf4decca164--5fffaf7bfe42405b907a2f2e4d497781 
 
 
541ca4b562d548fea2f5e911ae86e2ae 
 
RY(phi₅) 
 
5fffaf7bfe42405b907a2f2e4d497781--541ca4b562d548fea2f5e911ae86e2ae 
 
 
3ec0fa5eb1414f35b892faf7cad2ad89 
 
RX(phi₈) 
 
541ca4b562d548fea2f5e911ae86e2ae--3ec0fa5eb1414f35b892faf7cad2ad89 
 
 
4d3d353a913048a582d34cbf96408a4a 
 
 
3ec0fa5eb1414f35b892faf7cad2ad89--4d3d353a913048a582d34cbf96408a4a 
 
 
ae9e763240634226913d46804cbbf160 
 
PHASE(phi_ent₁) 
 
4d3d353a913048a582d34cbf96408a4a--ae9e763240634226913d46804cbbf160 
 
 
ae9e763240634226913d46804cbbf160--04265aa5314e45038c879fd1dcb93d6d 
 
 
30237d84fb7a4832b21f73fc576bc45b 
 
RX(phi₁₁) 
 
ae9e763240634226913d46804cbbf160--30237d84fb7a4832b21f73fc576bc45b 
 
 
afe7781dbb05414393e4356aec59a80d 
 
RY(phi₁₄) 
 
30237d84fb7a4832b21f73fc576bc45b--afe7781dbb05414393e4356aec59a80d 
 
 
3bfafcdfc4dc4fdc83fd3bd7f7b89156 
 
RX(phi₁₇) 
 
afe7781dbb05414393e4356aec59a80d--3bfafcdfc4dc4fdc83fd3bd7f7b89156 
 
 
19a4ad59d95f47259139868e7b1beeac 
 
 
3bfafcdfc4dc4fdc83fd3bd7f7b89156--19a4ad59d95f47259139868e7b1beeac 
 
 
20df186c17b24aecb03293c7833f5f0f 
 
PHASE(phi_ent₃) 
 
19a4ad59d95f47259139868e7b1beeac--20df186c17b24aecb03293c7833f5f0f 
 
 
20df186c17b24aecb03293c7833f5f0f--811624f2296f49589849abe678e5fd1e 
 
 
20df186c17b24aecb03293c7833f5f0f--546a88bf459949dabceeebb0ed197731 
 
 
 
 
 
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_10d1f694cd98442ba676f87cf3cfce84 
 
 
cluster_1932005d89e241e8bdbbac2520c3eba5 
 
 
8329f32507fe43d09375b7ca90185a9c 
0 
 
46c1b6c00d574b7d9bc63df0f79e88d3 
 
RX(theta₀) 
 
8329f32507fe43d09375b7ca90185a9c--46c1b6c00d574b7d9bc63df0f79e88d3 
 
 
09e04634a08546ca957ecaf5121994cd 
1 
 
1e04690cf3df41a2874fbf4f422e0e38 
 
RY(theta₃) 
 
46c1b6c00d574b7d9bc63df0f79e88d3--1e04690cf3df41a2874fbf4f422e0e38 
 
 
2ebbf7370870470eba9bd58161f4116c 
 
RX(theta₆) 
 
1e04690cf3df41a2874fbf4f422e0e38--2ebbf7370870470eba9bd58161f4116c 
 
 
358d222615204f3aaec691e24ea0c139 
HamEvo 
 
2ebbf7370870470eba9bd58161f4116c--358d222615204f3aaec691e24ea0c139 
 
 
8d0112c536cb43619d97983aa5b02176 
 
RX(theta₉) 
 
358d222615204f3aaec691e24ea0c139--8d0112c536cb43619d97983aa5b02176 
 
 
ae25205f37704fbcafcabf6c8255a8bd 
 
RY(theta₁₂) 
 
8d0112c536cb43619d97983aa5b02176--ae25205f37704fbcafcabf6c8255a8bd 
 
 
550be3907a364f2690a527fb06edcc25 
 
RX(theta₁₅) 
 
ae25205f37704fbcafcabf6c8255a8bd--550be3907a364f2690a527fb06edcc25 
 
 
e119f5e87be640f4aadf9b5242a98c93 
HamEvo 
 
550be3907a364f2690a527fb06edcc25--e119f5e87be640f4aadf9b5242a98c93 
 
 
7ca6e1d81b24490196c1026931d4d09f 
 
e119f5e87be640f4aadf9b5242a98c93--7ca6e1d81b24490196c1026931d4d09f 
 
 
58de6281f8a44cfd923240d9c32b2b6a 
 
092f89b6987e4a6aa73b7344195e5376 
 
RX(theta₁) 
 
09e04634a08546ca957ecaf5121994cd--092f89b6987e4a6aa73b7344195e5376 
 
 
c4e0fd94411746168740cde708530905 
2 
 
7f0c6c4bddd243219d601247b778ead5 
 
RY(theta₄) 
 
092f89b6987e4a6aa73b7344195e5376--7f0c6c4bddd243219d601247b778ead5 
 
 
6e8b281064f3408ea4f1cf75beb35385 
 
RX(theta₇) 
 
7f0c6c4bddd243219d601247b778ead5--6e8b281064f3408ea4f1cf75beb35385 
 
 
ea1b333f45dd440184b682b7f242e0d1 
t = theta_t₀ 
 
6e8b281064f3408ea4f1cf75beb35385--ea1b333f45dd440184b682b7f242e0d1 
 
 
62d1841e96634309a0c238d47fbc716c 
 
RX(theta₁₀) 
 
ea1b333f45dd440184b682b7f242e0d1--62d1841e96634309a0c238d47fbc716c 
 
 
7cb4c1107d754987b6fe45063eee7a4e 
 
RY(theta₁₃) 
 
62d1841e96634309a0c238d47fbc716c--7cb4c1107d754987b6fe45063eee7a4e 
 
 
3abe56696e704644a839fc87d55e3f66 
 
RX(theta₁₆) 
 
7cb4c1107d754987b6fe45063eee7a4e--3abe56696e704644a839fc87d55e3f66 
 
 
649f969ba471475883510a9fab405841 
t = theta_t₁ 
 
3abe56696e704644a839fc87d55e3f66--649f969ba471475883510a9fab405841 
 
 
649f969ba471475883510a9fab405841--58de6281f8a44cfd923240d9c32b2b6a 
 
 
e1168066695b46ba9694391e2db15131 
 
b8d0e77901394b9ca49a838fbbe390cb 
 
RX(theta₂) 
 
c4e0fd94411746168740cde708530905--b8d0e77901394b9ca49a838fbbe390cb 
 
 
c0e8d28cc54a44549bb275b7e2fd1818 
 
RY(theta₅) 
 
b8d0e77901394b9ca49a838fbbe390cb--c0e8d28cc54a44549bb275b7e2fd1818 
 
 
19da767d66a8418cabf9b53603cb2405 
 
RX(theta₈) 
 
c0e8d28cc54a44549bb275b7e2fd1818--19da767d66a8418cabf9b53603cb2405 
 
 
f310b3ddbd88439e9576d963528e8f3c 
 
19da767d66a8418cabf9b53603cb2405--f310b3ddbd88439e9576d963528e8f3c 
 
 
69b7ccbb11854d35ad54e43f8ae11f1d 
 
RX(theta₁₁) 
 
f310b3ddbd88439e9576d963528e8f3c--69b7ccbb11854d35ad54e43f8ae11f1d 
 
 
728b3b24d95944e992da7453b827077e 
 
RY(theta₁₄) 
 
69b7ccbb11854d35ad54e43f8ae11f1d--728b3b24d95944e992da7453b827077e 
 
 
010bf8d6107945aea1c7d52eac25b44c 
 
RX(theta₁₇) 
 
728b3b24d95944e992da7453b827077e--010bf8d6107945aea1c7d52eac25b44c 
 
 
ce9fdf282cbb4344a1321f76d6a2144a 
 
010bf8d6107945aea1c7d52eac25b44c--ce9fdf282cbb4344a1321f76d6a2144a 
 
 
ce9fdf282cbb4344a1321f76d6a2144a--e1168066695b46ba9694391e2db15131 
 
 
 
 
 
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_157f8c6efc474f7ab4e59df36fd7ad29 
 
 
cluster_3d55bb0ee2b54dfbbcc4f4bc4b3f9dba 
 
 
376d9362807e42c59610ac87b84aa3e9 
0 
 
aacfd3ac10744a5196e1e05fec04d4d7 
 
RX(theta₀) 
 
376d9362807e42c59610ac87b84aa3e9--aacfd3ac10744a5196e1e05fec04d4d7 
 
 
ee2618a1d93a44648aad24bc2fa0e1e5 
1 
 
f8aa6777545b4aaabf19b63be7845e39 
 
RY(theta₆) 
 
aacfd3ac10744a5196e1e05fec04d4d7--f8aa6777545b4aaabf19b63be7845e39 
 
 
8d749fc4250f490495d0140aacfa0640 
 
RX(theta₁₂) 
 
f8aa6777545b4aaabf19b63be7845e39--8d749fc4250f490495d0140aacfa0640 
 
 
0b43ae7dc1164464aa6072515ac5caaf 
 
8d749fc4250f490495d0140aacfa0640--0b43ae7dc1164464aa6072515ac5caaf 
 
 
1f6b8fd64eb24423af8423362598478c 
 
RX(theta₁₈) 
 
0b43ae7dc1164464aa6072515ac5caaf--1f6b8fd64eb24423af8423362598478c 
 
 
6733bed9906f4014918fa03d02179827 
 
RY(theta₂₄) 
 
1f6b8fd64eb24423af8423362598478c--6733bed9906f4014918fa03d02179827 
 
 
d300d3e6c0184b43920356e3b6df02e2 
 
RX(theta₃₀) 
 
6733bed9906f4014918fa03d02179827--d300d3e6c0184b43920356e3b6df02e2 
 
 
8cb8f103bd59436982ba5d8ee18bdedd 
 
d300d3e6c0184b43920356e3b6df02e2--8cb8f103bd59436982ba5d8ee18bdedd 
 
 
12a0435b9b904021976a298a20abe2d8 
 
8cb8f103bd59436982ba5d8ee18bdedd--12a0435b9b904021976a298a20abe2d8 
 
 
235f750ffc36412496795b2e65046b3a 
 
31067c062e704b5abb616ffd0b0408ff 
 
RX(theta₁) 
 
ee2618a1d93a44648aad24bc2fa0e1e5--31067c062e704b5abb616ffd0b0408ff 
 
 
5b0fb75cf2ff4eb1bb4deb2f1d122fff 
2 
 
6d74f209a2454d3ba85b141096f28581 
 
RY(theta₇) 
 
31067c062e704b5abb616ffd0b0408ff--6d74f209a2454d3ba85b141096f28581 
 
 
463ddef0e31f4f2384fa25db01c083cd 
 
RX(theta₁₃) 
 
6d74f209a2454d3ba85b141096f28581--463ddef0e31f4f2384fa25db01c083cd 
 
 
7f0e4040056c477786d0996d892f017c 
 
463ddef0e31f4f2384fa25db01c083cd--7f0e4040056c477786d0996d892f017c 
 
 
15ef618ea28a4adeb331e3c60a98fe58 
 
RX(theta₁₉) 
 
7f0e4040056c477786d0996d892f017c--15ef618ea28a4adeb331e3c60a98fe58 
 
 
e6a7eca2ae1e442fab25f111fb4147ed 
 
RY(theta₂₅) 
 
15ef618ea28a4adeb331e3c60a98fe58--e6a7eca2ae1e442fab25f111fb4147ed 
 
 
d1e581dad6bf421795e410547f28cbc8 
 
RX(theta₃₁) 
 
e6a7eca2ae1e442fab25f111fb4147ed--d1e581dad6bf421795e410547f28cbc8 
 
 
73f07bd9cc5d466f8f1dd7ea681d85b2 
 
d1e581dad6bf421795e410547f28cbc8--73f07bd9cc5d466f8f1dd7ea681d85b2 
 
 
73f07bd9cc5d466f8f1dd7ea681d85b2--235f750ffc36412496795b2e65046b3a 
 
 
7231a3da0d964876a3badc64b0e16f4f 
 
ab17dcc326ba41368811409406b6f1f0 
 
RX(theta₂) 
 
5b0fb75cf2ff4eb1bb4deb2f1d122fff--ab17dcc326ba41368811409406b6f1f0 
 
 
2facfedd0786431394b9759a5bedd428 
3 
 
53cf3875a0344b689b5944fcecc37318 
 
RY(theta₈) 
 
ab17dcc326ba41368811409406b6f1f0--53cf3875a0344b689b5944fcecc37318 
 
 
ce975547e4b54fe19beada1ba4f7c5b7 
 
RX(theta₁₄) 
 
53cf3875a0344b689b5944fcecc37318--ce975547e4b54fe19beada1ba4f7c5b7 
 
 
9a9208bc5ec54e4a8c49713c0df49152 
HamEvo 
 
ce975547e4b54fe19beada1ba4f7c5b7--9a9208bc5ec54e4a8c49713c0df49152 
 
 
85c846c971ca4c11bbc36c3e01ee77e6 
 
RX(theta₂₀) 
 
9a9208bc5ec54e4a8c49713c0df49152--85c846c971ca4c11bbc36c3e01ee77e6 
 
 
0c7c2e78fe534d3597be5e6edbb98247 
 
RY(theta₂₆) 
 
85c846c971ca4c11bbc36c3e01ee77e6--0c7c2e78fe534d3597be5e6edbb98247 
 
 
0ba3fe2d916c44d0b079863ad5ced0db 
 
RX(theta₃₂) 
 
0c7c2e78fe534d3597be5e6edbb98247--0ba3fe2d916c44d0b079863ad5ced0db 
 
 
d18a3f4bc3bc405b838903964ad19d32 
HamEvo 
 
0ba3fe2d916c44d0b079863ad5ced0db--d18a3f4bc3bc405b838903964ad19d32 
 
 
d18a3f4bc3bc405b838903964ad19d32--7231a3da0d964876a3badc64b0e16f4f 
 
 
6c7fc3c29039436b9f7b1ad960266029 
 
68cf85216b6549f2a2c2ff71efe1ad3d 
 
RX(theta₃) 
 
2facfedd0786431394b9759a5bedd428--68cf85216b6549f2a2c2ff71efe1ad3d 
 
 
dc06429cea154f2e98e4f1516f827640 
4 
 
14c292c857144b249b085c25679f17b2 
 
RY(theta₉) 
 
68cf85216b6549f2a2c2ff71efe1ad3d--14c292c857144b249b085c25679f17b2 
 
 
8c2e4a29bcc94219ae087e390a1cdc72 
 
RX(theta₁₅) 
 
14c292c857144b249b085c25679f17b2--8c2e4a29bcc94219ae087e390a1cdc72 
 
 
220f4dee213f4345ba04a62364f63b96 
t = theta_t₀ 
 
8c2e4a29bcc94219ae087e390a1cdc72--220f4dee213f4345ba04a62364f63b96 
 
 
a5a652d6097046399ede882ad274500d 
 
RX(theta₂₁) 
 
220f4dee213f4345ba04a62364f63b96--a5a652d6097046399ede882ad274500d 
 
 
3a4033b6268b4821b9c5913dd113fc0b 
 
RY(theta₂₇) 
 
a5a652d6097046399ede882ad274500d--3a4033b6268b4821b9c5913dd113fc0b 
 
 
39749c4ec61a463ca456f9aeae729541 
 
RX(theta₃₃) 
 
3a4033b6268b4821b9c5913dd113fc0b--39749c4ec61a463ca456f9aeae729541 
 
 
e9e62ab69aa3490895276e08ffa69bc3 
t = theta_t₁ 
 
39749c4ec61a463ca456f9aeae729541--e9e62ab69aa3490895276e08ffa69bc3 
 
 
e9e62ab69aa3490895276e08ffa69bc3--6c7fc3c29039436b9f7b1ad960266029 
 
 
ec79a7721fbe4ace99692e81c7a2ad41 
 
12fe40f46b3b489eae2abbd273e671d5 
 
RX(theta₄) 
 
dc06429cea154f2e98e4f1516f827640--12fe40f46b3b489eae2abbd273e671d5 
 
 
b0653b3ba4aa48bd8436110faeac6d0e 
5 
 
086190605612467dbddad14b2fdc2cd5 
 
RY(theta₁₀) 
 
12fe40f46b3b489eae2abbd273e671d5--086190605612467dbddad14b2fdc2cd5 
 
 
c0f97a2501d34805820dc7abe1c1cca0 
 
RX(theta₁₆) 
 
086190605612467dbddad14b2fdc2cd5--c0f97a2501d34805820dc7abe1c1cca0 
 
 
54a22c4b2a40475eb8cb66846f4f03e2 
 
c0f97a2501d34805820dc7abe1c1cca0--54a22c4b2a40475eb8cb66846f4f03e2 
 
 
03cfff348c5544f6855b66745978a796 
 
RX(theta₂₂) 
 
54a22c4b2a40475eb8cb66846f4f03e2--03cfff348c5544f6855b66745978a796 
 
 
0c19c3bd06614a048fcb143879945ecd 
 
RY(theta₂₈) 
 
03cfff348c5544f6855b66745978a796--0c19c3bd06614a048fcb143879945ecd 
 
 
2ccea802133f411bbcdcb69e5007db8e 
 
RX(theta₃₄) 
 
0c19c3bd06614a048fcb143879945ecd--2ccea802133f411bbcdcb69e5007db8e 
 
 
218d0f4d6f024816a9bc7783ae46e681 
 
2ccea802133f411bbcdcb69e5007db8e--218d0f4d6f024816a9bc7783ae46e681 
 
 
218d0f4d6f024816a9bc7783ae46e681--ec79a7721fbe4ace99692e81c7a2ad41 
 
 
e75c4e6812a448f7a6009f3b2f0c1a72 
 
f0319f6da44b4d6cb5a1f4c7522680e6 
 
RX(theta₅) 
 
b0653b3ba4aa48bd8436110faeac6d0e--f0319f6da44b4d6cb5a1f4c7522680e6 
 
 
e687eb46e26f484ab585543fafa3bfc7 
 
RY(theta₁₁) 
 
f0319f6da44b4d6cb5a1f4c7522680e6--e687eb46e26f484ab585543fafa3bfc7 
 
 
5109f885d8624f0abe21e2dc7c324089 
 
RX(theta₁₇) 
 
e687eb46e26f484ab585543fafa3bfc7--5109f885d8624f0abe21e2dc7c324089 
 
 
0e1ebd6c88ed4054ac15332177b7e88f 
 
5109f885d8624f0abe21e2dc7c324089--0e1ebd6c88ed4054ac15332177b7e88f 
 
 
3580a26a86d043dfa49e50f4fef3a7d2 
 
RX(theta₂₃) 
 
0e1ebd6c88ed4054ac15332177b7e88f--3580a26a86d043dfa49e50f4fef3a7d2 
 
 
a2ed17781bea4bba90ea95f2189071e8 
 
RY(theta₂₉) 
 
3580a26a86d043dfa49e50f4fef3a7d2--a2ed17781bea4bba90ea95f2189071e8 
 
 
90c2eb58b9554e25a01e553c4da22ced 
 
RX(theta₃₅) 
 
a2ed17781bea4bba90ea95f2189071e8--90c2eb58b9554e25a01e553c4da22ced 
 
 
e63d2f18ccef4746ad23454da1416ede 
 
90c2eb58b9554e25a01e553c4da22ced--e63d2f18ccef4746ad23454da1416ede 
 
 
e63d2f18ccef4746ad23454da1416ede--e75c4e6812a448f7a6009f3b2f0c1a72 
 
 
 
 
 
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_5a4e45429a0142a5b20eeb81fe8543a1 
 
BPMA-1 
 
cluster_c11e8d954b0d448794e1bf7d52d927ad 
 
BPMA-0 
 
56e3f44ff5124346a655dbfb83d6d5d7 
0 
 
956c080b8bd6498e9858aae2b7904643 
 
RX(iia_α₀₀) 
 
56e3f44ff5124346a655dbfb83d6d5d7--956c080b8bd6498e9858aae2b7904643 
 
 
986cd9ee4633461a94c5f23549debb82 
1 
 
71deeb54ae42484db0ae2a81ec2255be 
 
RY(iia_α₀₃) 
 
956c080b8bd6498e9858aae2b7904643--71deeb54ae42484db0ae2a81ec2255be 
 
 
4ad2dbebb31c4e568e47e09eba8793af 
 
 
71deeb54ae42484db0ae2a81ec2255be--4ad2dbebb31c4e568e47e09eba8793af 
 
 
7c2a5b3ac11349edb459d6a681e5b71b 
 
 
4ad2dbebb31c4e568e47e09eba8793af--7c2a5b3ac11349edb459d6a681e5b71b 
 
 
ea8b1f7f1a3346658aed5d68f376fc89 
 
RX(iia_γ₀₀) 
 
7c2a5b3ac11349edb459d6a681e5b71b--ea8b1f7f1a3346658aed5d68f376fc89 
 
 
d56fe77b41c040b2be493f4d5ad3b57a 
 
 
ea8b1f7f1a3346658aed5d68f376fc89--d56fe77b41c040b2be493f4d5ad3b57a 
 
 
ff4cd702b5764b92add7982f8944a60a 
 
 
d56fe77b41c040b2be493f4d5ad3b57a--ff4cd702b5764b92add7982f8944a60a 
 
 
c4f08a66f2074fab8370ce88fb114a78 
 
RY(iia_β₀₃) 
 
ff4cd702b5764b92add7982f8944a60a--c4f08a66f2074fab8370ce88fb114a78 
 
 
baaf12b3906343ccbcb22c5b12b5ad3d 
 
RX(iia_β₀₀) 
 
c4f08a66f2074fab8370ce88fb114a78--baaf12b3906343ccbcb22c5b12b5ad3d 
 
 
8bc98b8b244c4dfdb0b8aaa01beb5261 
 
RX(iia_α₁₀) 
 
baaf12b3906343ccbcb22c5b12b5ad3d--8bc98b8b244c4dfdb0b8aaa01beb5261 
 
 
5de016b6b3ed447db4cbe7f482a3e933 
 
RY(iia_α₁₃) 
 
8bc98b8b244c4dfdb0b8aaa01beb5261--5de016b6b3ed447db4cbe7f482a3e933 
 
 
d91b06e98ff242999ddc48157a16d192 
 
 
5de016b6b3ed447db4cbe7f482a3e933--d91b06e98ff242999ddc48157a16d192 
 
 
ba41316c07a647b398d7bf33b8a88bdb 
 
 
d91b06e98ff242999ddc48157a16d192--ba41316c07a647b398d7bf33b8a88bdb 
 
 
32c915a8430c4f189b19641fe53d9b85 
 
RX(iia_γ₁₀) 
 
ba41316c07a647b398d7bf33b8a88bdb--32c915a8430c4f189b19641fe53d9b85 
 
 
eb464bbe5cd04ff5abc85afc6955aae2 
 
 
32c915a8430c4f189b19641fe53d9b85--eb464bbe5cd04ff5abc85afc6955aae2 
 
 
39c1dab14fa9460abd7e8619b1b66ca4 
 
 
eb464bbe5cd04ff5abc85afc6955aae2--39c1dab14fa9460abd7e8619b1b66ca4 
 
 
c42488ebd8d94477bc2d33cffb4101cf 
 
RY(iia_β₁₃) 
 
39c1dab14fa9460abd7e8619b1b66ca4--c42488ebd8d94477bc2d33cffb4101cf 
 
 
111c250242c240a19cec962763088012 
 
RX(iia_β₁₀) 
 
c42488ebd8d94477bc2d33cffb4101cf--111c250242c240a19cec962763088012 
 
 
01e3b1ca3b204f8aa4d6ffdcbde5830f 
 
111c250242c240a19cec962763088012--01e3b1ca3b204f8aa4d6ffdcbde5830f 
 
 
64d1e56648bc4fcaa73c17d2e5bd3112 
 
4cb95b8b484647dcb66c380333f78ff7 
 
RX(iia_α₀₁) 
 
986cd9ee4633461a94c5f23549debb82--4cb95b8b484647dcb66c380333f78ff7 
 
 
e9b1e964873d4cdb925720945951f2d0 
2 
 
af9177a7ec6f47469a03b71da03dd566 
 
RY(iia_α₀₄) 
 
4cb95b8b484647dcb66c380333f78ff7--af9177a7ec6f47469a03b71da03dd566 
 
 
ee1d476e565f4707a2a3560b2c3aeb50 
 
X 
 
af9177a7ec6f47469a03b71da03dd566--ee1d476e565f4707a2a3560b2c3aeb50 
 
 
ee1d476e565f4707a2a3560b2c3aeb50--4ad2dbebb31c4e568e47e09eba8793af 
 
 
d133106f49f04eadbf9a3c81f4a4c4ba 
 
 
ee1d476e565f4707a2a3560b2c3aeb50--d133106f49f04eadbf9a3c81f4a4c4ba 
 
 
939df3153273493e8aecbe94de1038b4 
 
RX(iia_γ₀₁) 
 
d133106f49f04eadbf9a3c81f4a4c4ba--939df3153273493e8aecbe94de1038b4 
 
 
47c251be95864642a1b0ffd430a56a9b 
 
 
939df3153273493e8aecbe94de1038b4--47c251be95864642a1b0ffd430a56a9b 
 
 
ada6aeb7f99948e3a4f2dbde9d959d12 
 
X 
 
47c251be95864642a1b0ffd430a56a9b--ada6aeb7f99948e3a4f2dbde9d959d12 
 
 
ada6aeb7f99948e3a4f2dbde9d959d12--ff4cd702b5764b92add7982f8944a60a 
 
 
b2214f5f1d1c48259bf24f8b58527ed6 
 
RY(iia_β₀₄) 
 
ada6aeb7f99948e3a4f2dbde9d959d12--b2214f5f1d1c48259bf24f8b58527ed6 
 
 
eecda8f49c7e4aac853623f3b807a520 
 
RX(iia_β₀₁) 
 
b2214f5f1d1c48259bf24f8b58527ed6--eecda8f49c7e4aac853623f3b807a520 
 
 
b73cb5d63a024c78a2db737f77f45564 
 
RX(iia_α₁₁) 
 
eecda8f49c7e4aac853623f3b807a520--b73cb5d63a024c78a2db737f77f45564 
 
 
d8e94a5d22904f44b802738c0df2b328 
 
RY(iia_α₁₄) 
 
b73cb5d63a024c78a2db737f77f45564--d8e94a5d22904f44b802738c0df2b328 
 
 
f5a3d879aea14988ba17b56597c05e55 
 
X 
 
d8e94a5d22904f44b802738c0df2b328--f5a3d879aea14988ba17b56597c05e55 
 
 
f5a3d879aea14988ba17b56597c05e55--d91b06e98ff242999ddc48157a16d192 
 
 
f408150cfb344b21bd9fbe6cf6f68bd6 
 
 
f5a3d879aea14988ba17b56597c05e55--f408150cfb344b21bd9fbe6cf6f68bd6 
 
 
c2d4e4f6a420460cb7e5dff73473e1fd 
 
RX(iia_γ₁₁) 
 
f408150cfb344b21bd9fbe6cf6f68bd6--c2d4e4f6a420460cb7e5dff73473e1fd 
 
 
7375c110906c44b19069aac17b0d2eff 
 
 
c2d4e4f6a420460cb7e5dff73473e1fd--7375c110906c44b19069aac17b0d2eff 
 
 
a693d894456245fe8c86a99a19ef5ed4 
 
X 
 
7375c110906c44b19069aac17b0d2eff--a693d894456245fe8c86a99a19ef5ed4 
 
 
a693d894456245fe8c86a99a19ef5ed4--39c1dab14fa9460abd7e8619b1b66ca4 
 
 
9410f0dc610b4947be9381cf76aeb2c4 
 
RY(iia_β₁₄) 
 
a693d894456245fe8c86a99a19ef5ed4--9410f0dc610b4947be9381cf76aeb2c4 
 
 
06249b8fadb74f25baefc7f790fce3aa 
 
RX(iia_β₁₁) 
 
9410f0dc610b4947be9381cf76aeb2c4--06249b8fadb74f25baefc7f790fce3aa 
 
 
06249b8fadb74f25baefc7f790fce3aa--64d1e56648bc4fcaa73c17d2e5bd3112 
 
 
d9cbf2a3dca64ce79ba1bb42d6e5184d 
 
0d174c4cdfb84bb5b2e9ba35cd49dc4f 
 
RX(iia_α₀₂) 
 
e9b1e964873d4cdb925720945951f2d0--0d174c4cdfb84bb5b2e9ba35cd49dc4f 
 
 
e15b81581bc9457797f4e8c7a59f641b 
 
RY(iia_α₀₅) 
 
0d174c4cdfb84bb5b2e9ba35cd49dc4f--e15b81581bc9457797f4e8c7a59f641b 
 
 
ad36c695b20f43eb96183c06de2d4a7d 
 
 
e15b81581bc9457797f4e8c7a59f641b--ad36c695b20f43eb96183c06de2d4a7d 
 
 
e6a44d5f1d464d9781da2dc649b1853b 
 
X 
 
ad36c695b20f43eb96183c06de2d4a7d--e6a44d5f1d464d9781da2dc649b1853b 
 
 
e6a44d5f1d464d9781da2dc649b1853b--d133106f49f04eadbf9a3c81f4a4c4ba 
 
 
d204fcf5c0464e66b7189e5e4f08247a 
 
RX(iia_γ₀₂) 
 
e6a44d5f1d464d9781da2dc649b1853b--d204fcf5c0464e66b7189e5e4f08247a 
 
 
9e51841411524c18a4aded3a14846aa2 
 
X 
 
d204fcf5c0464e66b7189e5e4f08247a--9e51841411524c18a4aded3a14846aa2 
 
 
9e51841411524c18a4aded3a14846aa2--47c251be95864642a1b0ffd430a56a9b 
 
 
4029cf72501e4dee84ace60d0acd4669 
 
 
9e51841411524c18a4aded3a14846aa2--4029cf72501e4dee84ace60d0acd4669 
 
 
645d9dfe4a524e5d8a89a31edba63f64 
 
RY(iia_β₀₅) 
 
4029cf72501e4dee84ace60d0acd4669--645d9dfe4a524e5d8a89a31edba63f64 
 
 
e9be64d5e0014de7b4066cdf13e65e65 
 
RX(iia_β₀₂) 
 
645d9dfe4a524e5d8a89a31edba63f64--e9be64d5e0014de7b4066cdf13e65e65 
 
 
e0ee44f1b32a4f9c9699b75907c4fe98 
 
RX(iia_α₁₂) 
 
e9be64d5e0014de7b4066cdf13e65e65--e0ee44f1b32a4f9c9699b75907c4fe98 
 
 
c91ad33f578848d59dfa6ce531d9eefd 
 
RY(iia_α₁₅) 
 
e0ee44f1b32a4f9c9699b75907c4fe98--c91ad33f578848d59dfa6ce531d9eefd 
 
 
a08c18cec76f40d3899b36595bcc92ed 
 
 
c91ad33f578848d59dfa6ce531d9eefd--a08c18cec76f40d3899b36595bcc92ed 
 
 
3e574e779c084cca98812be8127fd5ee 
 
X 
 
a08c18cec76f40d3899b36595bcc92ed--3e574e779c084cca98812be8127fd5ee 
 
 
3e574e779c084cca98812be8127fd5ee--f408150cfb344b21bd9fbe6cf6f68bd6 
 
 
0415d72cba3a4fe69a15bda37b625e7f 
 
RX(iia_γ₁₂) 
 
3e574e779c084cca98812be8127fd5ee--0415d72cba3a4fe69a15bda37b625e7f 
 
 
c0915cc64b1e475ca5b2362814218d1b 
 
X 
 
0415d72cba3a4fe69a15bda37b625e7f--c0915cc64b1e475ca5b2362814218d1b 
 
 
c0915cc64b1e475ca5b2362814218d1b--7375c110906c44b19069aac17b0d2eff 
 
 
6e071aa759d9492ca7c0d6e826c7ff05 
 
 
c0915cc64b1e475ca5b2362814218d1b--6e071aa759d9492ca7c0d6e826c7ff05 
 
 
763da72f83314fadab19cd7f404ce7cb 
 
RY(iia_β₁₅) 
 
6e071aa759d9492ca7c0d6e826c7ff05--763da72f83314fadab19cd7f404ce7cb 
 
 
0e77fa87f4aa42bf9fa5cc6529e70732 
 
RX(iia_β₁₂) 
 
763da72f83314fadab19cd7f404ce7cb--0e77fa87f4aa42bf9fa5cc6529e70732 
 
 
0e77fa87f4aa42bf9fa5cc6529e70732--d9cbf2a3dca64ce79ba1bb42d6e5184d