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_79906ed7de6744a698323e84aacd60d3
Constant Chebyshev FM
cluster_89fbdbb0395143ef88c4ef476b04fd03
Constant Fourier FM
f3116987e9f84e57b21d43f05d68a5df
0
916454c0ccb3434f809d3deae50115c6
RX(phi)
f3116987e9f84e57b21d43f05d68a5df--916454c0ccb3434f809d3deae50115c6
09995121c8de458ca5a89fb7caae9a80
1
67e8e477bd9948da8084ccc280f17b6c
RX(acos(phi))
916454c0ccb3434f809d3deae50115c6--67e8e477bd9948da8084ccc280f17b6c
f2d7fa8d182542ecaddb8ecc12818df6
67e8e477bd9948da8084ccc280f17b6c--f2d7fa8d182542ecaddb8ecc12818df6
833a21ee7a6542c78a5e5f8e3ec3d1ec
6a1515ff35514537b5f919c511e92a96
RX(phi)
09995121c8de458ca5a89fb7caae9a80--6a1515ff35514537b5f919c511e92a96
f7f0ac7383cc4032bbec282ca729fa9e
2
faf7aa040d4146acba64846fa9481711
RX(acos(phi))
6a1515ff35514537b5f919c511e92a96--faf7aa040d4146acba64846fa9481711
faf7aa040d4146acba64846fa9481711--833a21ee7a6542c78a5e5f8e3ec3d1ec
e5f15a71505b459d9910e78ab87a818b
9cd064db5260438c9c07eb5c44c9679d
RX(phi)
f7f0ac7383cc4032bbec282ca729fa9e--9cd064db5260438c9c07eb5c44c9679d
8564c13fdc0842d7ac91062d86c562cc
RX(acos(phi))
9cd064db5260438c9c07eb5c44c9679d--8564c13fdc0842d7ac91062d86c562cc
8564c13fdc0842d7ac91062d86c562cc--e5f15a71505b459d9910e78ab87a818b
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 sub-class of Function
class custom_func ( Function ):
@classmethod
def eval ( cls , x ):
return asin ( x ) + x ** 2
custom_fm_1 = feature_map ( n_qubits , fm_type = custom_func )
block = chain ( custom_fm_0 , custom_fm_1 )
%3
cluster_c7bf43b35c704cf5b03d16488a05471d
Constant custom_func FM
cluster_d1ee2091932240919c4d4d29c9f09a2f
Constant asin FM
582c31c7b87d45ba94cc8929ced3a4d6
0
45434dd7eb57426b897e1f86896d640b
RX(asin(phi))
582c31c7b87d45ba94cc8929ced3a4d6--45434dd7eb57426b897e1f86896d640b
6f3b26700903477d8858acb0ac332c43
1
d854ef9e045044ca8b2efae967bf1f59
RX(phi**2 + asin(phi))
45434dd7eb57426b897e1f86896d640b--d854ef9e045044ca8b2efae967bf1f59
e1ed9c041206446a813893177c2c0170
d854ef9e045044ca8b2efae967bf1f59--e1ed9c041206446a813893177c2c0170
ee4adf8554794798b0327c48ef29201f
f91390d61bd342ada994d02df4489438
RX(asin(phi))
6f3b26700903477d8858acb0ac332c43--f91390d61bd342ada994d02df4489438
cbca022f34cc425393345aa2db42782c
2
3eaeda1cfc7e4c509b9c47a1954b7edd
RX(phi**2 + asin(phi))
f91390d61bd342ada994d02df4489438--3eaeda1cfc7e4c509b9c47a1954b7edd
3eaeda1cfc7e4c509b9c47a1954b7edd--ee4adf8554794798b0327c48ef29201f
a8f23d94b7a44530ac1bfc97f50d47fa
aba2b5c717bb4b55973edfc898882c89
RX(asin(phi))
cbca022f34cc425393345aa2db42782c--aba2b5c717bb4b55973edfc898882c89
79ffea66804340e4905ae5db460f4f75
RX(phi**2 + asin(phi))
aba2b5c717bb4b55973edfc898882c89--79ffea66804340e4905ae5db460f4f75
79ffea66804340e4905ae5db460f4f75--a8f23d94b7a44530ac1bfc97f50d47fa
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_a8921b15ac734fb297903bc0e3a3a903
Exponential Fourier FM
cluster_8550f18038a34c738dce37952c66afc6
Constant Fourier FM
cluster_341670b8260645f5be84c1fd2ff01721
Tower Fourier FM
e0182d53bab34fd6bc6ccbb99b3afcd6
0
c1c9ddfe574444efa1272b2211074b95
RX(phi)
e0182d53bab34fd6bc6ccbb99b3afcd6--c1c9ddfe574444efa1272b2211074b95
a14f4398d7e84c599732fc254431be68
1
b932ff12a5bb4eb6aea647759da63cc7
RX(1.0*phi)
c1c9ddfe574444efa1272b2211074b95--b932ff12a5bb4eb6aea647759da63cc7
d29c1543efe2465eaf5a84ed077eb9b3
RX(1.0*phi)
b932ff12a5bb4eb6aea647759da63cc7--d29c1543efe2465eaf5a84ed077eb9b3
162281a7e4d64da4882fc8c071554102
d29c1543efe2465eaf5a84ed077eb9b3--162281a7e4d64da4882fc8c071554102
85fe181cd223410c936f48ae08a8ade9
d94f532c79d744508589391b1b3a160b
RX(phi)
a14f4398d7e84c599732fc254431be68--d94f532c79d744508589391b1b3a160b
6b0ef50ac2d044cea59c4e1a2691886b
2
00556cb4c47c4e928fd3ded1bea70680
RX(2.0*phi)
d94f532c79d744508589391b1b3a160b--00556cb4c47c4e928fd3ded1bea70680
07162e3055f44df99e5cf43c33bd4711
RX(2.0*phi)
00556cb4c47c4e928fd3ded1bea70680--07162e3055f44df99e5cf43c33bd4711
07162e3055f44df99e5cf43c33bd4711--85fe181cd223410c936f48ae08a8ade9
908e7e929e70454d8876eb650d4dfbe1
71862618e3084fb9a70aa5475b385cdf
RX(phi)
6b0ef50ac2d044cea59c4e1a2691886b--71862618e3084fb9a70aa5475b385cdf
89c1c76a691344ad80db234055e82591
3
3006f0b96a694c7ba95c47d82a1cb057
RX(3.0*phi)
71862618e3084fb9a70aa5475b385cdf--3006f0b96a694c7ba95c47d82a1cb057
aa9070b67f1c48e3a2d9232aaea5a6a4
RX(4.0*phi)
3006f0b96a694c7ba95c47d82a1cb057--aa9070b67f1c48e3a2d9232aaea5a6a4
aa9070b67f1c48e3a2d9232aaea5a6a4--908e7e929e70454d8876eb650d4dfbe1
708066544b6a48b0a4d7364789cd9207
1116b846b40f4662bfce2dbf6f008576
RX(phi)
89c1c76a691344ad80db234055e82591--1116b846b40f4662bfce2dbf6f008576
3c479d5d3b8b450d8c3ba27bfc4bdc2f
4
67c47f4c8a394cdba1313f981c50c2c6
RX(4.0*phi)
1116b846b40f4662bfce2dbf6f008576--67c47f4c8a394cdba1313f981c50c2c6
3e4d8cc1c3354a78995593ad246918ae
RX(8.0*phi)
67c47f4c8a394cdba1313f981c50c2c6--3e4d8cc1c3354a78995593ad246918ae
3e4d8cc1c3354a78995593ad246918ae--708066544b6a48b0a4d7364789cd9207
3697326590804b0c84284a94cf8eb15e
e37bf5f535d74edb99291b39eafa8eef
RX(phi)
3c479d5d3b8b450d8c3ba27bfc4bdc2f--e37bf5f535d74edb99291b39eafa8eef
6cd7fb284f244394b8ae8c4d3c7bc86f
RX(5.0*phi)
e37bf5f535d74edb99291b39eafa8eef--6cd7fb284f244394b8ae8c4d3c7bc86f
058b71323fed42f2b78ec49a3bdbcadc
RX(16.0*phi)
6cd7fb284f244394b8ae8c4d3c7bc86f--058b71323fed42f2b78ec49a3bdbcadc
058b71323fed42f2b78ec49a3bdbcadc--3697326590804b0c84284a94cf8eb15e
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
be1259e7a6e74333b2e960a191f2e098
0
de161b0cfca14a2c810c2fc4c211e135
RX(1.0*acos(phi))
be1259e7a6e74333b2e960a191f2e098--de161b0cfca14a2c810c2fc4c211e135
0bf79bb9e5114efda67afcffd1865a54
1
fa65808dac3a46a4a8161557729e2838
de161b0cfca14a2c810c2fc4c211e135--fa65808dac3a46a4a8161557729e2838
571b7ca132f14f3fae061fa5f24a30d7
680740a3400d4fa48352284fd99c7271
RX(1.414*acos(phi))
0bf79bb9e5114efda67afcffd1865a54--680740a3400d4fa48352284fd99c7271
58704383116a4a36a656cccb43fb7ec2
2
680740a3400d4fa48352284fd99c7271--571b7ca132f14f3fae061fa5f24a30d7
677e9ea9e5574b96999e825083a2c431
c15be965343d43f2a2b59dcade325d03
RX(1.732*acos(phi))
58704383116a4a36a656cccb43fb7ec2--c15be965343d43f2a2b59dcade325d03
7dd40c58bb7e4a8888347b7f9ec41fff
3
c15be965343d43f2a2b59dcade325d03--677e9ea9e5574b96999e825083a2c431
b1202f0ffbbf4b788cb788ff8dc89923
ff8f87b23a174158a652389288ff33c8
RX(2.0*acos(phi))
7dd40c58bb7e4a8888347b7f9ec41fff--ff8f87b23a174158a652389288ff33c8
680cf8dd500945a8ba865699e7a5f23a
4
ff8f87b23a174158a652389288ff33c8--b1202f0ffbbf4b788cb788ff8dc89923
fc1df1b29f13423681f3d2397e861b83
9b417b2505f84d9ebe52457c2339756f
RX(2.236*acos(phi))
680cf8dd500945a8ba865699e7a5f23a--9b417b2505f84d9ebe52457c2339756f
9b417b2505f84d9ebe52457c2339756f--fc1df1b29f13423681f3d2397e861b83
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
)
%3
c970f7bfb64b41f497130cc45a50574b
0
a2666c71b0614bbaa146d659e3dcf441
RY(80.0*acos(0.667*x + 1.667))
c970f7bfb64b41f497130cc45a50574b--a2666c71b0614bbaa146d659e3dcf441
1cc7a85e408a4932b028fc7b79d519cf
1
9f1ab67959eb495aae5e5d1e21d600c3
a2666c71b0614bbaa146d659e3dcf441--9f1ab67959eb495aae5e5d1e21d600c3
05379acf43b74a38aaab9696181b415a
112b5885518a4019a0ab0e713aad583f
RY(40.0*acos(0.667*x + 1.667))
1cc7a85e408a4932b028fc7b79d519cf--112b5885518a4019a0ab0e713aad583f
6cad895f4466456cad33498d34451b4b
2
112b5885518a4019a0ab0e713aad583f--05379acf43b74a38aaab9696181b415a
d12dd72752624942bbaac7f32a9ccf42
eaa1391b2b5d4bb78e04f87696525084
RY(20.0*acos(0.667*x + 1.667))
6cad895f4466456cad33498d34451b4b--eaa1391b2b5d4bb78e04f87696525084
7c3b1c9657bd4e0297f9eeb08ddcafc6
3
eaa1391b2b5d4bb78e04f87696525084--d12dd72752624942bbaac7f32a9ccf42
12420ee9688f4ec684d70e296c4e2c12
65eea6f1dcc8406e8328dc820f618be3
RY(10.0*acos(0.667*x + 1.667))
7c3b1c9657bd4e0297f9eeb08ddcafc6--65eea6f1dcc8406e8328dc820f618be3
71a7c956d8454b119389d2a4049bf75e
4
65eea6f1dcc8406e8328dc820f618be3--12420ee9688f4ec684d70e296c4e2c12
8af2f973157841aeb2308c168b620226
a1bf251f3d72482c9593b5ee6fd023ec
RY(5.0*acos(0.667*x + 1.667))
71a7c956d8454b119389d2a4049bf75e--a1bf251f3d72482c9593b5ee6fd023ec
a1bf251f3d72482c9593b5ee6fd023ec--8af2f973157841aeb2308c168b620226
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
ec072ccb805c412aa06c276362c3e8b5
0
12c1258a662d497081c1fb776701ed52
RX(theta₀)
ec072ccb805c412aa06c276362c3e8b5--12c1258a662d497081c1fb776701ed52
b1fae1d44a694aa7b6bef651d6656c9d
1
95a6014ab816427e8719e9f3d2d71629
RY(theta₃)
12c1258a662d497081c1fb776701ed52--95a6014ab816427e8719e9f3d2d71629
214aafc8dcba45de88b3605069293549
RX(theta₆)
95a6014ab816427e8719e9f3d2d71629--214aafc8dcba45de88b3605069293549
7e0fd3fee2684a4e87b44077b0d70ece
214aafc8dcba45de88b3605069293549--7e0fd3fee2684a4e87b44077b0d70ece
cc0ed36337c74456a2f81896d8f2a62a
7e0fd3fee2684a4e87b44077b0d70ece--cc0ed36337c74456a2f81896d8f2a62a
5829b609cb004519a14625031696b512
RX(theta₉)
cc0ed36337c74456a2f81896d8f2a62a--5829b609cb004519a14625031696b512
7445a5dbe08a47c0bc2ae133e8221c76
RY(theta₁₂)
5829b609cb004519a14625031696b512--7445a5dbe08a47c0bc2ae133e8221c76
0fd93d68ce964e7fabee269c153d1a22
RX(theta₁₅)
7445a5dbe08a47c0bc2ae133e8221c76--0fd93d68ce964e7fabee269c153d1a22
5bee2f892632459c8b7ae85e9977d345
0fd93d68ce964e7fabee269c153d1a22--5bee2f892632459c8b7ae85e9977d345
9bf95f9825964060b53d10240cc9fa2a
5bee2f892632459c8b7ae85e9977d345--9bf95f9825964060b53d10240cc9fa2a
23966fd53ed44fb887b94dd229d1fde3
9bf95f9825964060b53d10240cc9fa2a--23966fd53ed44fb887b94dd229d1fde3
d260b0e07fb44327a037e14734d921b3
18285a3361de4c59b1d536e353164b8e
RX(theta₁)
b1fae1d44a694aa7b6bef651d6656c9d--18285a3361de4c59b1d536e353164b8e
477318915b8e4ae9990d6be62cc39500
2
acb34a8839a84827865aa43590ae2f72
RY(theta₄)
18285a3361de4c59b1d536e353164b8e--acb34a8839a84827865aa43590ae2f72
3d1cb43a76b04ab8bcda04f893351064
RX(theta₇)
acb34a8839a84827865aa43590ae2f72--3d1cb43a76b04ab8bcda04f893351064
a2b56bfccb2e455897856431666a700a
X
3d1cb43a76b04ab8bcda04f893351064--a2b56bfccb2e455897856431666a700a
a2b56bfccb2e455897856431666a700a--7e0fd3fee2684a4e87b44077b0d70ece
554e186e9a00476aa9e502fbd12e4d8a
a2b56bfccb2e455897856431666a700a--554e186e9a00476aa9e502fbd12e4d8a
58520bff52034950900c3a2a6a9cbbf1
RX(theta₁₀)
554e186e9a00476aa9e502fbd12e4d8a--58520bff52034950900c3a2a6a9cbbf1
2c9c233a21d84b05ab7b9135e816408f
RY(theta₁₃)
58520bff52034950900c3a2a6a9cbbf1--2c9c233a21d84b05ab7b9135e816408f
c9d7446a64194d1db82b865432027a6e
RX(theta₁₆)
2c9c233a21d84b05ab7b9135e816408f--c9d7446a64194d1db82b865432027a6e
d3542850f31c4ea580bce08dc02d27d7
X
c9d7446a64194d1db82b865432027a6e--d3542850f31c4ea580bce08dc02d27d7
d3542850f31c4ea580bce08dc02d27d7--5bee2f892632459c8b7ae85e9977d345
0ae8fd57508f4160a460c60c24235423
d3542850f31c4ea580bce08dc02d27d7--0ae8fd57508f4160a460c60c24235423
0ae8fd57508f4160a460c60c24235423--d260b0e07fb44327a037e14734d921b3
bc9d4a84ca3f415bb9918dd71aa75aca
bda0f549d6294992abf90eeefef9b0c7
RX(theta₂)
477318915b8e4ae9990d6be62cc39500--bda0f549d6294992abf90eeefef9b0c7
6022651f6bee4ec08b2a54705a60da1f
RY(theta₅)
bda0f549d6294992abf90eeefef9b0c7--6022651f6bee4ec08b2a54705a60da1f
e8f2447533ff4a899b4f906d0ef867cd
RX(theta₈)
6022651f6bee4ec08b2a54705a60da1f--e8f2447533ff4a899b4f906d0ef867cd
cda02c84f63e411c99f7eb6dbbcf2f00
e8f2447533ff4a899b4f906d0ef867cd--cda02c84f63e411c99f7eb6dbbcf2f00
0df6e921e23849879f91f5f238ef4eb1
X
cda02c84f63e411c99f7eb6dbbcf2f00--0df6e921e23849879f91f5f238ef4eb1
0df6e921e23849879f91f5f238ef4eb1--554e186e9a00476aa9e502fbd12e4d8a
ac8d8448db124b35a9f3f8ac6173c6d1
RX(theta₁₁)
0df6e921e23849879f91f5f238ef4eb1--ac8d8448db124b35a9f3f8ac6173c6d1
2ab664cabfdc442d87ca7c4423a9ddc3
RY(theta₁₄)
ac8d8448db124b35a9f3f8ac6173c6d1--2ab664cabfdc442d87ca7c4423a9ddc3
ea256605cec3453c9a982306ec545b2f
RX(theta₁₇)
2ab664cabfdc442d87ca7c4423a9ddc3--ea256605cec3453c9a982306ec545b2f
19aa45713c3e4e32b44f89ae47ebc8bb
ea256605cec3453c9a982306ec545b2f--19aa45713c3e4e32b44f89ae47ebc8bb
2e760188ca0e413ea30cadb05d5b8e34
X
19aa45713c3e4e32b44f89ae47ebc8bb--2e760188ca0e413ea30cadb05d5b8e34
2e760188ca0e413ea30cadb05d5b8e34--0ae8fd57508f4160a460c60c24235423
2e760188ca0e413ea30cadb05d5b8e34--bc9d4a84ca3f415bb9918dd71aa75aca
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
08b5c609177546a181a5c84346b30472
0
e50a87dbafee44f1be00e569e48d2f59
RX(phi₀)
08b5c609177546a181a5c84346b30472--e50a87dbafee44f1be00e569e48d2f59
d40b47f0797a43458dde5a6b5b30c423
1
e789613d4ef744b49b776a4b32123954
RY(phi₃)
e50a87dbafee44f1be00e569e48d2f59--e789613d4ef744b49b776a4b32123954
d0de133b06da4b0f9143dc5fac5a4820
RX(phi₆)
e789613d4ef744b49b776a4b32123954--d0de133b06da4b0f9143dc5fac5a4820
1305c3f96164414cb6a36f8a8ea41783
d0de133b06da4b0f9143dc5fac5a4820--1305c3f96164414cb6a36f8a8ea41783
d5839a1ba31942319fce790c2f5929e9
1305c3f96164414cb6a36f8a8ea41783--d5839a1ba31942319fce790c2f5929e9
21c0cd71af4c450c89b192142fc6e888
RX(phi₉)
d5839a1ba31942319fce790c2f5929e9--21c0cd71af4c450c89b192142fc6e888
62fe2de504bf48b89e5d718c8513a30b
RY(phi₁₂)
21c0cd71af4c450c89b192142fc6e888--62fe2de504bf48b89e5d718c8513a30b
f79bd67de97143479949e42af6c3fe8d
RX(phi₁₅)
62fe2de504bf48b89e5d718c8513a30b--f79bd67de97143479949e42af6c3fe8d
c5d1c4b5b9fc4aa4bdfa78fe64530c9f
f79bd67de97143479949e42af6c3fe8d--c5d1c4b5b9fc4aa4bdfa78fe64530c9f
7997f2d97e0c4e348c9b66e3598fc789
c5d1c4b5b9fc4aa4bdfa78fe64530c9f--7997f2d97e0c4e348c9b66e3598fc789
fa60b696ac424e2ca0cbb35e1cd7dee1
7997f2d97e0c4e348c9b66e3598fc789--fa60b696ac424e2ca0cbb35e1cd7dee1
a220f87e87874ae39c6632db724a8679
0d073df96a804f24a93f53ea05fd13a8
RX(phi₁)
d40b47f0797a43458dde5a6b5b30c423--0d073df96a804f24a93f53ea05fd13a8
5f0d13e0ca3e4dba8ba705c9e0f77971
2
adf412e62eab4a0285eee00155c58436
RY(phi₄)
0d073df96a804f24a93f53ea05fd13a8--adf412e62eab4a0285eee00155c58436
8678f4dcdfa14d3884182de76e5882bd
RX(phi₇)
adf412e62eab4a0285eee00155c58436--8678f4dcdfa14d3884182de76e5882bd
d0079a9d5b024609b9e5bc6855381857
PHASE(phi_ent₀)
8678f4dcdfa14d3884182de76e5882bd--d0079a9d5b024609b9e5bc6855381857
d0079a9d5b024609b9e5bc6855381857--1305c3f96164414cb6a36f8a8ea41783
0a0bbd20578341c8b824b95f37feb59d
d0079a9d5b024609b9e5bc6855381857--0a0bbd20578341c8b824b95f37feb59d
14d5779a601f4ea58cf976348978d5c4
RX(phi₁₀)
0a0bbd20578341c8b824b95f37feb59d--14d5779a601f4ea58cf976348978d5c4
a5c29162f630454fae6352ce57b2882d
RY(phi₁₃)
14d5779a601f4ea58cf976348978d5c4--a5c29162f630454fae6352ce57b2882d
c236add756914444a7f9fea352128a4b
RX(phi₁₆)
a5c29162f630454fae6352ce57b2882d--c236add756914444a7f9fea352128a4b
f60cc1bd03b04fcf88fd28a7bca35bd7
PHASE(phi_ent₂)
c236add756914444a7f9fea352128a4b--f60cc1bd03b04fcf88fd28a7bca35bd7
f60cc1bd03b04fcf88fd28a7bca35bd7--c5d1c4b5b9fc4aa4bdfa78fe64530c9f
24ab642634e54d45b108d8ab7618dc45
f60cc1bd03b04fcf88fd28a7bca35bd7--24ab642634e54d45b108d8ab7618dc45
24ab642634e54d45b108d8ab7618dc45--a220f87e87874ae39c6632db724a8679
e396498762554ca980074e153de3c1ab
576e2b7660994182a58092c8b6be21f2
RX(phi₂)
5f0d13e0ca3e4dba8ba705c9e0f77971--576e2b7660994182a58092c8b6be21f2
82e0107cd1f74ce59eef80612ffa9e26
RY(phi₅)
576e2b7660994182a58092c8b6be21f2--82e0107cd1f74ce59eef80612ffa9e26
89dc992c4a5f44be9031bed30360a45d
RX(phi₈)
82e0107cd1f74ce59eef80612ffa9e26--89dc992c4a5f44be9031bed30360a45d
8d349443572e4fe5bb2fc246a845c6a2
89dc992c4a5f44be9031bed30360a45d--8d349443572e4fe5bb2fc246a845c6a2
a351c3f11fba447eac699152f711b664
PHASE(phi_ent₁)
8d349443572e4fe5bb2fc246a845c6a2--a351c3f11fba447eac699152f711b664
a351c3f11fba447eac699152f711b664--0a0bbd20578341c8b824b95f37feb59d
ffdf6bdb884145a595e2cb4f5a14cedf
RX(phi₁₁)
a351c3f11fba447eac699152f711b664--ffdf6bdb884145a595e2cb4f5a14cedf
089724321dbe4ae3a7d3ed9f80dd7f3f
RY(phi₁₄)
ffdf6bdb884145a595e2cb4f5a14cedf--089724321dbe4ae3a7d3ed9f80dd7f3f
2871b3b9c11e4d25b5401e08bb3dba9c
RX(phi₁₇)
089724321dbe4ae3a7d3ed9f80dd7f3f--2871b3b9c11e4d25b5401e08bb3dba9c
38e8f539cec64681aff8790f896009c8
2871b3b9c11e4d25b5401e08bb3dba9c--38e8f539cec64681aff8790f896009c8
917c1b4361944dd486727dff473c49f9
PHASE(phi_ent₃)
38e8f539cec64681aff8790f896009c8--917c1b4361944dd486727dff473c49f9
917c1b4361944dd486727dff473c49f9--24ab642634e54d45b108d8ab7618dc45
917c1b4361944dd486727dff473c49f9--e396498762554ca980074e153de3c1ab
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_bebde9e8ca3a444181a7bcbbc5179632
cluster_0099bdee33484b68826b496b472848eb
39278aa568524a1a9fef924c2146127d
0
00453656671546dbb539ec726f5f2a35
RX(theta₀)
39278aa568524a1a9fef924c2146127d--00453656671546dbb539ec726f5f2a35
a679c7baeb5e40dd8948c8a86da5a3c6
1
6317503ca44643609b45273a810d7e02
RY(theta₃)
00453656671546dbb539ec726f5f2a35--6317503ca44643609b45273a810d7e02
aac28d90877c4249bff750fcd4450a32
RX(theta₆)
6317503ca44643609b45273a810d7e02--aac28d90877c4249bff750fcd4450a32
055a1414b75e4835989650a26ff9af68
HamEvo
aac28d90877c4249bff750fcd4450a32--055a1414b75e4835989650a26ff9af68
854507f50fa6425e9016f58cc7523d3d
RX(theta₉)
055a1414b75e4835989650a26ff9af68--854507f50fa6425e9016f58cc7523d3d
c17b8ccdf8dd4f808370f9e8adde65ae
RY(theta₁₂)
854507f50fa6425e9016f58cc7523d3d--c17b8ccdf8dd4f808370f9e8adde65ae
7fba0c6932db4931ae3305fef0922807
RX(theta₁₅)
c17b8ccdf8dd4f808370f9e8adde65ae--7fba0c6932db4931ae3305fef0922807
a60c81e6132e47bf89a8eb914b3643c6
HamEvo
7fba0c6932db4931ae3305fef0922807--a60c81e6132e47bf89a8eb914b3643c6
373e4cbd569e48338c1a52a2d7a93748
a60c81e6132e47bf89a8eb914b3643c6--373e4cbd569e48338c1a52a2d7a93748
d0632c3ac6364a00b6b30547279df6b7
afa3c951ba3941d5a7b541ca60e9a06c
RX(theta₁)
a679c7baeb5e40dd8948c8a86da5a3c6--afa3c951ba3941d5a7b541ca60e9a06c
8cd677dac4004cbc987dd19f3ad41722
2
5f3fcffe32ea4cb2bb7b5873417b6d5b
RY(theta₄)
afa3c951ba3941d5a7b541ca60e9a06c--5f3fcffe32ea4cb2bb7b5873417b6d5b
c348e47dc9f940c78f3f9222f1ebb5f8
RX(theta₇)
5f3fcffe32ea4cb2bb7b5873417b6d5b--c348e47dc9f940c78f3f9222f1ebb5f8
c19499ec3c1a46aabbe9ff9dd1f549e8
t = theta_t₀
c348e47dc9f940c78f3f9222f1ebb5f8--c19499ec3c1a46aabbe9ff9dd1f549e8
a92ab00a7f5146468faa2e4b299603e8
RX(theta₁₀)
c19499ec3c1a46aabbe9ff9dd1f549e8--a92ab00a7f5146468faa2e4b299603e8
6b01be133bf14fe489bd105ba539ff25
RY(theta₁₃)
a92ab00a7f5146468faa2e4b299603e8--6b01be133bf14fe489bd105ba539ff25
7fb8fb8412c44562b1831ec233e1cc33
RX(theta₁₆)
6b01be133bf14fe489bd105ba539ff25--7fb8fb8412c44562b1831ec233e1cc33
80ed51b773454c7abfba3298b5e9a64f
t = theta_t₁
7fb8fb8412c44562b1831ec233e1cc33--80ed51b773454c7abfba3298b5e9a64f
80ed51b773454c7abfba3298b5e9a64f--d0632c3ac6364a00b6b30547279df6b7
1680e2149bac4c68b38803377e1a9c07
923db6a0ca5f4266ac7b04822101bc87
RX(theta₂)
8cd677dac4004cbc987dd19f3ad41722--923db6a0ca5f4266ac7b04822101bc87
f8a94ac7d99d4508abc3bd5d5f65318e
RY(theta₅)
923db6a0ca5f4266ac7b04822101bc87--f8a94ac7d99d4508abc3bd5d5f65318e
cfd07deb5c52457b94c9aaf4b59bbf64
RX(theta₈)
f8a94ac7d99d4508abc3bd5d5f65318e--cfd07deb5c52457b94c9aaf4b59bbf64
cb1d5dc2bbf0421389ed8aa68ae8357c
cfd07deb5c52457b94c9aaf4b59bbf64--cb1d5dc2bbf0421389ed8aa68ae8357c
92fd5d2f1a3440e69d91b1c057b0cb8b
RX(theta₁₁)
cb1d5dc2bbf0421389ed8aa68ae8357c--92fd5d2f1a3440e69d91b1c057b0cb8b
48b61b5597804692bbc2465c101e9899
RY(theta₁₄)
92fd5d2f1a3440e69d91b1c057b0cb8b--48b61b5597804692bbc2465c101e9899
1b3320199d7741569e06b881544c7cd7
RX(theta₁₇)
48b61b5597804692bbc2465c101e9899--1b3320199d7741569e06b881544c7cd7
7e0ea96dbd294876a2d43110a03dc4b9
1b3320199d7741569e06b881544c7cd7--7e0ea96dbd294876a2d43110a03dc4b9
7e0ea96dbd294876a2d43110a03dc4b9--1680e2149bac4c68b38803377e1a9c07
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_477d7d15a2de4376919de5145f909322
cluster_dbd7453a22b8437796ef1120152b0040
1786c46a77bf41579ce5771654441dda
0
dd03e45ba56d40e9be0b7ece7f54548a
RX(theta₀)
1786c46a77bf41579ce5771654441dda--dd03e45ba56d40e9be0b7ece7f54548a
b3b94e5be9854528a49ae50377869fab
1
dfbfaaf3a8994cf28005fe4bc91e8bc4
RY(theta₆)
dd03e45ba56d40e9be0b7ece7f54548a--dfbfaaf3a8994cf28005fe4bc91e8bc4
283544c33c8e4aaa945f104c3be6117d
RX(theta₁₂)
dfbfaaf3a8994cf28005fe4bc91e8bc4--283544c33c8e4aaa945f104c3be6117d
8923fae16ff6402e81fc40d394091b2e
283544c33c8e4aaa945f104c3be6117d--8923fae16ff6402e81fc40d394091b2e
46cbbedf690f4856a8750f3ccbde14ac
RX(theta₁₈)
8923fae16ff6402e81fc40d394091b2e--46cbbedf690f4856a8750f3ccbde14ac
b56a039f385d40b39b856fb47061f17c
RY(theta₂₄)
46cbbedf690f4856a8750f3ccbde14ac--b56a039f385d40b39b856fb47061f17c
5ae55b165bf244d1907edcb141723fd4
RX(theta₃₀)
b56a039f385d40b39b856fb47061f17c--5ae55b165bf244d1907edcb141723fd4
6a75ffa7d1c446819dd3f6e91b922f3b
5ae55b165bf244d1907edcb141723fd4--6a75ffa7d1c446819dd3f6e91b922f3b
d4d7f3aea6a9455ab2cb3c25dc17c014
6a75ffa7d1c446819dd3f6e91b922f3b--d4d7f3aea6a9455ab2cb3c25dc17c014
4fa85b3cd8684f5a9d00f066fc95ca80
99d50297b06b40d98157b8d33b91e683
RX(theta₁)
b3b94e5be9854528a49ae50377869fab--99d50297b06b40d98157b8d33b91e683
215fe06c8753446a9beb0477997f3832
2
27b018cff46948179a7998c278c54d5e
RY(theta₇)
99d50297b06b40d98157b8d33b91e683--27b018cff46948179a7998c278c54d5e
4c72769199e04a1ea5cdbfac0b1d0ad1
RX(theta₁₃)
27b018cff46948179a7998c278c54d5e--4c72769199e04a1ea5cdbfac0b1d0ad1
a022959e4e39488ea5f686ac1e64d1eb
4c72769199e04a1ea5cdbfac0b1d0ad1--a022959e4e39488ea5f686ac1e64d1eb
2876a2d00b54428f9e705a8861cddd9d
RX(theta₁₉)
a022959e4e39488ea5f686ac1e64d1eb--2876a2d00b54428f9e705a8861cddd9d
10dce09f3b8541d3ac330111b3ab6089
RY(theta₂₅)
2876a2d00b54428f9e705a8861cddd9d--10dce09f3b8541d3ac330111b3ab6089
41e6144a47344d03aa29ab59202e0e16
RX(theta₃₁)
10dce09f3b8541d3ac330111b3ab6089--41e6144a47344d03aa29ab59202e0e16
0843047bd3144bd3b473832ffcea3c49
41e6144a47344d03aa29ab59202e0e16--0843047bd3144bd3b473832ffcea3c49
0843047bd3144bd3b473832ffcea3c49--4fa85b3cd8684f5a9d00f066fc95ca80
09be13b7b8064dde83c865a92cd600b3
e904a79e9be84bf3beae16bf01ad58c9
RX(theta₂)
215fe06c8753446a9beb0477997f3832--e904a79e9be84bf3beae16bf01ad58c9
c18ae2cbd7c54caaa81d99039112345f
3
acdb05b33e4748d99599faee1ed32712
RY(theta₈)
e904a79e9be84bf3beae16bf01ad58c9--acdb05b33e4748d99599faee1ed32712
c0927dc51e2d47a88692f22d9c867454
RX(theta₁₄)
acdb05b33e4748d99599faee1ed32712--c0927dc51e2d47a88692f22d9c867454
3dbc06952a48403c9db67894728443f0
HamEvo
c0927dc51e2d47a88692f22d9c867454--3dbc06952a48403c9db67894728443f0
85ceafce47c1429188e898ab159fd505
RX(theta₂₀)
3dbc06952a48403c9db67894728443f0--85ceafce47c1429188e898ab159fd505
dd02cff082914d7bb58bb55fbb1b1206
RY(theta₂₆)
85ceafce47c1429188e898ab159fd505--dd02cff082914d7bb58bb55fbb1b1206
2e4d1bfd3d994fe6b83d2f8be317f874
RX(theta₃₂)
dd02cff082914d7bb58bb55fbb1b1206--2e4d1bfd3d994fe6b83d2f8be317f874
51c9ae0352c247fbb8ffd2311785b29e
HamEvo
2e4d1bfd3d994fe6b83d2f8be317f874--51c9ae0352c247fbb8ffd2311785b29e
51c9ae0352c247fbb8ffd2311785b29e--09be13b7b8064dde83c865a92cd600b3
101f0ab9611647a1b71c6405a2cabfd8
91bf72a8a94a45c7bd1cb094b1c52ae6
RX(theta₃)
c18ae2cbd7c54caaa81d99039112345f--91bf72a8a94a45c7bd1cb094b1c52ae6
be369985b0b54624be1a1bd3b42c93cb
4
f01faef473ec45b389d951186a22c3b1
RY(theta₉)
91bf72a8a94a45c7bd1cb094b1c52ae6--f01faef473ec45b389d951186a22c3b1
e06c883746394f74827d7518bd9acb09
RX(theta₁₅)
f01faef473ec45b389d951186a22c3b1--e06c883746394f74827d7518bd9acb09
f47929e7b74341499f9f6917cc150e84
t = theta_t₀
e06c883746394f74827d7518bd9acb09--f47929e7b74341499f9f6917cc150e84
3124968ddd45461f96dc8e297bc4d740
RX(theta₂₁)
f47929e7b74341499f9f6917cc150e84--3124968ddd45461f96dc8e297bc4d740
a8095bfca6dd46369e2465a57e99f186
RY(theta₂₇)
3124968ddd45461f96dc8e297bc4d740--a8095bfca6dd46369e2465a57e99f186
68f7b1f8679b430e8eca40ae54dda055
RX(theta₃₃)
a8095bfca6dd46369e2465a57e99f186--68f7b1f8679b430e8eca40ae54dda055
daad61ad13704dbfac085d313017957b
t = theta_t₁
68f7b1f8679b430e8eca40ae54dda055--daad61ad13704dbfac085d313017957b
daad61ad13704dbfac085d313017957b--101f0ab9611647a1b71c6405a2cabfd8
979a9181ab5545cb94b1bd434dfd3ebc
a8b221f3b9224b0f8f7dab30382b2028
RX(theta₄)
be369985b0b54624be1a1bd3b42c93cb--a8b221f3b9224b0f8f7dab30382b2028
f0369c33a03e4342a76dae3d2a43c0ce
5
2172c550fe7049358d91c23eebc8852c
RY(theta₁₀)
a8b221f3b9224b0f8f7dab30382b2028--2172c550fe7049358d91c23eebc8852c
71205036301145e2b6913607bbfe1a2b
RX(theta₁₆)
2172c550fe7049358d91c23eebc8852c--71205036301145e2b6913607bbfe1a2b
389e1ac04c024f3cbcae5726f235613a
71205036301145e2b6913607bbfe1a2b--389e1ac04c024f3cbcae5726f235613a
f135196ce8204349a3391d4b2c8f2113
RX(theta₂₂)
389e1ac04c024f3cbcae5726f235613a--f135196ce8204349a3391d4b2c8f2113
ab17d11dfc504e45ba305fddf5735399
RY(theta₂₈)
f135196ce8204349a3391d4b2c8f2113--ab17d11dfc504e45ba305fddf5735399
53d64708194146d8a82c7d65910b5624
RX(theta₃₄)
ab17d11dfc504e45ba305fddf5735399--53d64708194146d8a82c7d65910b5624
9a2c16a371254056a79a1a900720c95e
53d64708194146d8a82c7d65910b5624--9a2c16a371254056a79a1a900720c95e
9a2c16a371254056a79a1a900720c95e--979a9181ab5545cb94b1bd434dfd3ebc
5b05de597e964438a02d5eafdfc5e2b7
ea501439382046e68c7c7f525c4d6248
RX(theta₅)
f0369c33a03e4342a76dae3d2a43c0ce--ea501439382046e68c7c7f525c4d6248
c4e5c245f189439f921da4fb11b2ca37
RY(theta₁₁)
ea501439382046e68c7c7f525c4d6248--c4e5c245f189439f921da4fb11b2ca37
506e5af1f9b44423844acccb92957f23
RX(theta₁₇)
c4e5c245f189439f921da4fb11b2ca37--506e5af1f9b44423844acccb92957f23
e91fcda5ae794541980116967f39b5a8
506e5af1f9b44423844acccb92957f23--e91fcda5ae794541980116967f39b5a8
773894ff24c84a479097778017fab57b
RX(theta₂₃)
e91fcda5ae794541980116967f39b5a8--773894ff24c84a479097778017fab57b
a4ccc9ae47d44026be344288a7353916
RY(theta₂₉)
773894ff24c84a479097778017fab57b--a4ccc9ae47d44026be344288a7353916
8ad59a6a148740ccb8e05b8068c4207c
RX(theta₃₅)
a4ccc9ae47d44026be344288a7353916--8ad59a6a148740ccb8e05b8068c4207c
568823137b27465c8dc9413002c8563b
8ad59a6a148740ccb8e05b8068c4207c--568823137b27465c8dc9413002c8563b
568823137b27465c8dc9413002c8563b--5b05de597e964438a02d5eafdfc5e2b7
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 QNN
s 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_8bf870e58fc34075be9f9fa170d253ed
BPMA-1
cluster_af6e482fc88543889310825eb7337ea7
BPMA-0
c7aeda706d6a4646875eac93f2ff6504
0
2957fcd101964768af92518283306d22
RX(alpha₀₀)
c7aeda706d6a4646875eac93f2ff6504--2957fcd101964768af92518283306d22
8c6bff22adb24894be1a52b665510bdc
1
76c33994b4004c6a93329681ae4cd4f9
RY(alpha₀₃)
2957fcd101964768af92518283306d22--76c33994b4004c6a93329681ae4cd4f9
a2257006462247bf9f481b1c4fdb997f
76c33994b4004c6a93329681ae4cd4f9--a2257006462247bf9f481b1c4fdb997f
38ce5c039c2845988429780443644860
a2257006462247bf9f481b1c4fdb997f--38ce5c039c2845988429780443644860
38e1e13a8fd4437ebe1bb6b05c7197cd
RX(gamma₀₀)
38ce5c039c2845988429780443644860--38e1e13a8fd4437ebe1bb6b05c7197cd
14779a23b852420ab1f8818672ed6213
38e1e13a8fd4437ebe1bb6b05c7197cd--14779a23b852420ab1f8818672ed6213
fc56824c02be4a03b23df067b8011719
14779a23b852420ab1f8818672ed6213--fc56824c02be4a03b23df067b8011719
170a8d47f2ec44b793be7b3f9d523b18
RY(beta₀₃)
fc56824c02be4a03b23df067b8011719--170a8d47f2ec44b793be7b3f9d523b18
c606bb24573a481e920d594f8e3375ef
RX(beta₀₀)
170a8d47f2ec44b793be7b3f9d523b18--c606bb24573a481e920d594f8e3375ef
758ada43347e4a66b279957a5b6a847f
RX(alpha₁₀)
c606bb24573a481e920d594f8e3375ef--758ada43347e4a66b279957a5b6a847f
29145c6635c04209a1270cea6788bd59
RY(alpha₁₃)
758ada43347e4a66b279957a5b6a847f--29145c6635c04209a1270cea6788bd59
0a17e58833044221902e210f52dd5e90
29145c6635c04209a1270cea6788bd59--0a17e58833044221902e210f52dd5e90
9e91728cddac4084aeacdb27d3cdac73
0a17e58833044221902e210f52dd5e90--9e91728cddac4084aeacdb27d3cdac73
178c4b8ee1f1437685ceeafbff1cd667
RX(gamma₁₀)
9e91728cddac4084aeacdb27d3cdac73--178c4b8ee1f1437685ceeafbff1cd667
c376834d34b743079d6fe32da55c999a
178c4b8ee1f1437685ceeafbff1cd667--c376834d34b743079d6fe32da55c999a
288a3976ed7442668efeadee590e0418
c376834d34b743079d6fe32da55c999a--288a3976ed7442668efeadee590e0418
d09d0f72be9e48beac5c3c9f72caf9f8
RY(beta₁₃)
288a3976ed7442668efeadee590e0418--d09d0f72be9e48beac5c3c9f72caf9f8
7988fb0f69a54ed2b81f26f66fb2eb41
RX(beta₁₀)
d09d0f72be9e48beac5c3c9f72caf9f8--7988fb0f69a54ed2b81f26f66fb2eb41
ef206564722a4182ad17ac3b35fca201
7988fb0f69a54ed2b81f26f66fb2eb41--ef206564722a4182ad17ac3b35fca201
e47d1681c2f74a50aacff070a3e0d34c
6cbd5a17218c45f1969322592193b20c
RX(alpha₀₁)
8c6bff22adb24894be1a52b665510bdc--6cbd5a17218c45f1969322592193b20c
b622ab1f46e34dd28d4cf695d3189de5
2
4e91bf645860414193bd3c7df33f8b36
RY(alpha₀₄)
6cbd5a17218c45f1969322592193b20c--4e91bf645860414193bd3c7df33f8b36
474cf1b0aa9748818b0f0c88f9567480
X
4e91bf645860414193bd3c7df33f8b36--474cf1b0aa9748818b0f0c88f9567480
474cf1b0aa9748818b0f0c88f9567480--a2257006462247bf9f481b1c4fdb997f
287e5828f0f04569946ed3300d51c428
474cf1b0aa9748818b0f0c88f9567480--287e5828f0f04569946ed3300d51c428
1a087640dcc74eec94ba8cc3ea762f93
RX(gamma₀₁)
287e5828f0f04569946ed3300d51c428--1a087640dcc74eec94ba8cc3ea762f93
0ae9bf67c9b2422f9ffe3e1fa65e7cbc
1a087640dcc74eec94ba8cc3ea762f93--0ae9bf67c9b2422f9ffe3e1fa65e7cbc
f44347ca5cfa428fa014f94eaa970ac2
X
0ae9bf67c9b2422f9ffe3e1fa65e7cbc--f44347ca5cfa428fa014f94eaa970ac2
f44347ca5cfa428fa014f94eaa970ac2--fc56824c02be4a03b23df067b8011719
27b958b5331146ab9863c2335ae185f8
RY(beta₀₄)
f44347ca5cfa428fa014f94eaa970ac2--27b958b5331146ab9863c2335ae185f8
f64def36091e44b495e4c0fead4b1b20
RX(beta₀₁)
27b958b5331146ab9863c2335ae185f8--f64def36091e44b495e4c0fead4b1b20
ec465d8878e049e2ba291edcdafc6902
RX(alpha₁₁)
f64def36091e44b495e4c0fead4b1b20--ec465d8878e049e2ba291edcdafc6902
91901be5f06446f78451440825229e1c
RY(alpha₁₄)
ec465d8878e049e2ba291edcdafc6902--91901be5f06446f78451440825229e1c
f8188208000249fbbdc466ebeaa07f06
X
91901be5f06446f78451440825229e1c--f8188208000249fbbdc466ebeaa07f06
f8188208000249fbbdc466ebeaa07f06--0a17e58833044221902e210f52dd5e90
5f84ab5727ca4433856573e526d07212
f8188208000249fbbdc466ebeaa07f06--5f84ab5727ca4433856573e526d07212
e5f252126dd24bda8e6f63ae6a59ea79
RX(gamma₁₁)
5f84ab5727ca4433856573e526d07212--e5f252126dd24bda8e6f63ae6a59ea79
12e4f23ac8d241bc98462374f2487c23
e5f252126dd24bda8e6f63ae6a59ea79--12e4f23ac8d241bc98462374f2487c23
9d996d4d94c146b3b1f497b9bf298e4c
X
12e4f23ac8d241bc98462374f2487c23--9d996d4d94c146b3b1f497b9bf298e4c
9d996d4d94c146b3b1f497b9bf298e4c--288a3976ed7442668efeadee590e0418
4e36f52fdd5e4ab788522a13d6be47cc
RY(beta₁₄)
9d996d4d94c146b3b1f497b9bf298e4c--4e36f52fdd5e4ab788522a13d6be47cc
eadef049ad6042bebe40755bcb32e5d8
RX(beta₁₁)
4e36f52fdd5e4ab788522a13d6be47cc--eadef049ad6042bebe40755bcb32e5d8
eadef049ad6042bebe40755bcb32e5d8--e47d1681c2f74a50aacff070a3e0d34c
7c7c7a0edcbe418aa686283e7ec4ec86
7a2853970f894445abc4326891f1231f
RX(alpha₀₂)
b622ab1f46e34dd28d4cf695d3189de5--7a2853970f894445abc4326891f1231f
27e8c7eaf1b74fba9f34262a03147baa
RY(alpha₀₅)
7a2853970f894445abc4326891f1231f--27e8c7eaf1b74fba9f34262a03147baa
492453db82ad4d3988de43d0f0557f50
27e8c7eaf1b74fba9f34262a03147baa--492453db82ad4d3988de43d0f0557f50
61ce7fd6345c4874a204a1ab4c29b45e
X
492453db82ad4d3988de43d0f0557f50--61ce7fd6345c4874a204a1ab4c29b45e
61ce7fd6345c4874a204a1ab4c29b45e--287e5828f0f04569946ed3300d51c428
4e763424ca0c4dfb96cbed152b5f1b59
RX(gamma₀₂)
61ce7fd6345c4874a204a1ab4c29b45e--4e763424ca0c4dfb96cbed152b5f1b59
8e2e2be61b0a4365b40a44c40e4126ac
X
4e763424ca0c4dfb96cbed152b5f1b59--8e2e2be61b0a4365b40a44c40e4126ac
8e2e2be61b0a4365b40a44c40e4126ac--0ae9bf67c9b2422f9ffe3e1fa65e7cbc
0da419ef7dd54fc1bf60856a27d15774
8e2e2be61b0a4365b40a44c40e4126ac--0da419ef7dd54fc1bf60856a27d15774
d545abb8597245698517a369242300de
RY(beta₀₅)
0da419ef7dd54fc1bf60856a27d15774--d545abb8597245698517a369242300de
0efd1a9cd8664c8f9a3a8ae0d6dae1a3
RX(beta₀₂)
d545abb8597245698517a369242300de--0efd1a9cd8664c8f9a3a8ae0d6dae1a3
6b48f359c24b468dbebe2bf9acc2ab8c
RX(alpha₁₂)
0efd1a9cd8664c8f9a3a8ae0d6dae1a3--6b48f359c24b468dbebe2bf9acc2ab8c
d7a8b92ca2d24923a7adb68dce560f0e
RY(alpha₁₅)
6b48f359c24b468dbebe2bf9acc2ab8c--d7a8b92ca2d24923a7adb68dce560f0e
6e1ed847b8b84a2e82822e2d0f6f30b7
d7a8b92ca2d24923a7adb68dce560f0e--6e1ed847b8b84a2e82822e2d0f6f30b7
7780a505c5d248a6b3c78f7c108ae33f
X
6e1ed847b8b84a2e82822e2d0f6f30b7--7780a505c5d248a6b3c78f7c108ae33f
7780a505c5d248a6b3c78f7c108ae33f--5f84ab5727ca4433856573e526d07212
04d6ff950b89476cb9ff9bed48823393
RX(gamma₁₂)
7780a505c5d248a6b3c78f7c108ae33f--04d6ff950b89476cb9ff9bed48823393
ed8097207b494989b38b0842ada81833
X
04d6ff950b89476cb9ff9bed48823393--ed8097207b494989b38b0842ada81833
ed8097207b494989b38b0842ada81833--12e4f23ac8d241bc98462374f2487c23
526d9ae809a742b2b438c913bc0d825f
ed8097207b494989b38b0842ada81833--526d9ae809a742b2b438c913bc0d825f
07007d47e6194b3e8fa0d1bb0191d856
RY(beta₁₅)
526d9ae809a742b2b438c913bc0d825f--07007d47e6194b3e8fa0d1bb0191d856
7eb38c38865a43f3b44afdc6220ac6ea
RX(beta₁₂)
07007d47e6194b3e8fa0d1bb0191d856--7eb38c38865a43f3b44afdc6220ac6ea
7eb38c38865a43f3b44afdc6220ac6ea--7c7c7a0edcbe418aa686283e7ec4ec86