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_560fdcaa518b44b69ff2686e5a383f94
Constant Chebyshev FM
cluster_ee38e7324d9e48a89106a1a11fa1c961
Constant Fourier FM
dfcd51f0a1384bceb7050adcb776c0c9
0
1e15088aa0634057ad9a815b1cf1d32d
RX(phi)
dfcd51f0a1384bceb7050adcb776c0c9--1e15088aa0634057ad9a815b1cf1d32d
381cf647db964651977841701604a8ee
1
c09a311f004e48b0890dc4513724d927
RX(acos(phi))
1e15088aa0634057ad9a815b1cf1d32d--c09a311f004e48b0890dc4513724d927
421ad099bf164ddfa79e7b0d9c458ccf
c09a311f004e48b0890dc4513724d927--421ad099bf164ddfa79e7b0d9c458ccf
44037b38ca23434194791b0fc0dff401
20af4925dcbd46449a1e5b1aaffc5c76
RX(phi)
381cf647db964651977841701604a8ee--20af4925dcbd46449a1e5b1aaffc5c76
8a1675af178f44e38f5e252584e86701
2
db608663615447fcbc365866d9f2cad0
RX(acos(phi))
20af4925dcbd46449a1e5b1aaffc5c76--db608663615447fcbc365866d9f2cad0
db608663615447fcbc365866d9f2cad0--44037b38ca23434194791b0fc0dff401
40f53adfa8334f9f956b1b68a0812fa2
ff0e8d929d6a4447859c106901541b30
RX(phi)
8a1675af178f44e38f5e252584e86701--ff0e8d929d6a4447859c106901541b30
b9a4b781515d450a84746102ad8e34be
RX(acos(phi))
ff0e8d929d6a4447859c106901541b30--b9a4b781515d450a84746102ad8e34be
b9a4b781515d450a84746102ad8e34be--40f53adfa8334f9f956b1b68a0812fa2
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_e4129ff547814d4fae8c846f8f8107ec
Constant custom_func FM
cluster_7765e244eff747c5a358b51864573c4a
Constant asin FM
3504c4192fee4170b9a5fdf1d08b00ad
0
8879e07d0b9748fcb14652484ad8ffc8
RX(asin(phi))
3504c4192fee4170b9a5fdf1d08b00ad--8879e07d0b9748fcb14652484ad8ffc8
e6827434b5754aa8adfd80e0473791b2
1
0df0e6e1520746f9aeaffd43f7996e45
RX(phi**2 + asin(phi))
8879e07d0b9748fcb14652484ad8ffc8--0df0e6e1520746f9aeaffd43f7996e45
4b9e3a3dbc0242ab83db0425b7da5460
0df0e6e1520746f9aeaffd43f7996e45--4b9e3a3dbc0242ab83db0425b7da5460
4d4708ce869f41108fd117ba95db85f0
50e9eae26075484d9a652f5a7fa8e72c
RX(asin(phi))
e6827434b5754aa8adfd80e0473791b2--50e9eae26075484d9a652f5a7fa8e72c
2936cc323bfe4a49abd158d87c480ff6
2
917f44a2edb24dbd8fa2f2705d31078e
RX(phi**2 + asin(phi))
50e9eae26075484d9a652f5a7fa8e72c--917f44a2edb24dbd8fa2f2705d31078e
917f44a2edb24dbd8fa2f2705d31078e--4d4708ce869f41108fd117ba95db85f0
8bccf4ca923e4d4aad279ef2df51b79d
bc5a44861bf34fb999118b842060c365
RX(asin(phi))
2936cc323bfe4a49abd158d87c480ff6--bc5a44861bf34fb999118b842060c365
82da01a7ebfb4b4ca9949f98b70a02cf
RX(phi**2 + asin(phi))
bc5a44861bf34fb999118b842060c365--82da01a7ebfb4b4ca9949f98b70a02cf
82da01a7ebfb4b4ca9949f98b70a02cf--8bccf4ca923e4d4aad279ef2df51b79d
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_bca62dbcd66948a7802bb8cd3124a2a0
Exponential Fourier FM
cluster_88f3e3ed5dd64bd9834dd7d32a89239f
Constant Fourier FM
cluster_02c892bbc48d4396a89aff6eec542b15
Tower Fourier FM
2acd3739032b441699eb9448aa633952
0
c277b3c40907452fa654ef33bd2cd9b6
RX(phi)
2acd3739032b441699eb9448aa633952--c277b3c40907452fa654ef33bd2cd9b6
8db5a4903f364acda23e4a2f5f46aad7
1
2b569fb3999f442f955ad2e8a4cd28d4
RX(1.0*phi)
c277b3c40907452fa654ef33bd2cd9b6--2b569fb3999f442f955ad2e8a4cd28d4
f1cbab8e4b14422d9c3d5bea6eed864f
RX(1.0*phi)
2b569fb3999f442f955ad2e8a4cd28d4--f1cbab8e4b14422d9c3d5bea6eed864f
b20dd3da204048ef96a825aff5744c0c
f1cbab8e4b14422d9c3d5bea6eed864f--b20dd3da204048ef96a825aff5744c0c
3158582b0eee47c58c404975ac18ce8e
dbab37856ac14cc8a0235193edc3d215
RX(phi)
8db5a4903f364acda23e4a2f5f46aad7--dbab37856ac14cc8a0235193edc3d215
441e39e205fb4fa0a943532fe5d8cdac
2
ceee16f96d7649128d101d6c3293dfaa
RX(2.0*phi)
dbab37856ac14cc8a0235193edc3d215--ceee16f96d7649128d101d6c3293dfaa
bc2ff3ae8d744e15aebc4b80e966ab05
RX(2.0*phi)
ceee16f96d7649128d101d6c3293dfaa--bc2ff3ae8d744e15aebc4b80e966ab05
bc2ff3ae8d744e15aebc4b80e966ab05--3158582b0eee47c58c404975ac18ce8e
4086edbe8472477589d653bc684bece9
befd91ea770c46f993b3c1ace89da1d9
RX(phi)
441e39e205fb4fa0a943532fe5d8cdac--befd91ea770c46f993b3c1ace89da1d9
c94809115adc43ba848edece17c116bf
3
38acf6e13b854eb6b7f841ff88d8a921
RX(3.0*phi)
befd91ea770c46f993b3c1ace89da1d9--38acf6e13b854eb6b7f841ff88d8a921
bfb5b8122ad0448a86fe9c7e1e421a22
RX(4.0*phi)
38acf6e13b854eb6b7f841ff88d8a921--bfb5b8122ad0448a86fe9c7e1e421a22
bfb5b8122ad0448a86fe9c7e1e421a22--4086edbe8472477589d653bc684bece9
c35eaa6cd4ae43b3b257a386177815c1
e4781caa8c004aec8cfa38df9c984c7b
RX(phi)
c94809115adc43ba848edece17c116bf--e4781caa8c004aec8cfa38df9c984c7b
7f0b85dfacb048288a8245e76142df84
4
c43b6155351346489b10741196b66a44
RX(4.0*phi)
e4781caa8c004aec8cfa38df9c984c7b--c43b6155351346489b10741196b66a44
90a2447e0acb4dbe8f557999b0c7d8c1
RX(8.0*phi)
c43b6155351346489b10741196b66a44--90a2447e0acb4dbe8f557999b0c7d8c1
90a2447e0acb4dbe8f557999b0c7d8c1--c35eaa6cd4ae43b3b257a386177815c1
38eb9e774fcb4c3b98f7ec48ddea1cd7
703f61e5f6824b559f7f09524f8782be
RX(phi)
7f0b85dfacb048288a8245e76142df84--703f61e5f6824b559f7f09524f8782be
bbb9a5f3b33c4a6490a2fbad84af3d28
RX(5.0*phi)
703f61e5f6824b559f7f09524f8782be--bbb9a5f3b33c4a6490a2fbad84af3d28
f8c4435a90cb44b7b37b0b42f6b6812a
RX(16.0*phi)
bbb9a5f3b33c4a6490a2fbad84af3d28--f8c4435a90cb44b7b37b0b42f6b6812a
f8c4435a90cb44b7b37b0b42f6b6812a--38eb9e774fcb4c3b98f7ec48ddea1cd7
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
9da57c4ca55d49fca98857be9c63728b
0
e4de81714d374b0886bcfe8c60e003f0
RX(1.0*acos(phi))
9da57c4ca55d49fca98857be9c63728b--e4de81714d374b0886bcfe8c60e003f0
fe5ef0e7daa74473ab258865dc02341f
1
10b747cc84ee40eeb86773971162e9dd
e4de81714d374b0886bcfe8c60e003f0--10b747cc84ee40eeb86773971162e9dd
d7640d9241df40409e553caa5985a66b
287bd9f90b5543cd8900f2db5cea4b36
RX(1.414*acos(phi))
fe5ef0e7daa74473ab258865dc02341f--287bd9f90b5543cd8900f2db5cea4b36
10c0db2f14564992b6c7b0e6c43ec746
2
287bd9f90b5543cd8900f2db5cea4b36--d7640d9241df40409e553caa5985a66b
fc8515ae4a794a1da8b6a4365da1ea30
fb2f179c96b945f395ab184bd170fc8d
RX(1.732*acos(phi))
10c0db2f14564992b6c7b0e6c43ec746--fb2f179c96b945f395ab184bd170fc8d
57efd7b6ee784302b80a099c38173111
3
fb2f179c96b945f395ab184bd170fc8d--fc8515ae4a794a1da8b6a4365da1ea30
daeedf6496a84933ae2ee115d4f80a9b
7709bf7eda2f4e0cab94afd41c1ddd66
RX(2.0*acos(phi))
57efd7b6ee784302b80a099c38173111--7709bf7eda2f4e0cab94afd41c1ddd66
8afb2b354782431f9fdf2c819a3d8a3a
4
7709bf7eda2f4e0cab94afd41c1ddd66--daeedf6496a84933ae2ee115d4f80a9b
762f833bfd7e4e33a0c77eddb11accc1
b6cee5423e2c4bcbad0f984dca9985fb
RX(2.236*acos(phi))
8afb2b354782431f9fdf2c819a3d8a3a--b6cee5423e2c4bcbad0f984dca9985fb
b6cee5423e2c4bcbad0f984dca9985fb--762f833bfd7e4e33a0c77eddb11accc1
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
b9ab2fdc07bf4a9496cfc504594986ae
0
cf22c9dd916a4626b693d03be65db981
RY(80.0*acos(0.667*x + 1.667))
b9ab2fdc07bf4a9496cfc504594986ae--cf22c9dd916a4626b693d03be65db981
b5d2896bec7c41989df7c74090330433
1
e4700aab671b443ba7ec83f308395658
cf22c9dd916a4626b693d03be65db981--e4700aab671b443ba7ec83f308395658
2d24d77f46f447bbacf655f7d52d1f34
444dccdd8b5a464a88d522d7c7bdbb0b
RY(40.0*acos(0.667*x + 1.667))
b5d2896bec7c41989df7c74090330433--444dccdd8b5a464a88d522d7c7bdbb0b
c762123a383548e08873387c08592c2d
2
444dccdd8b5a464a88d522d7c7bdbb0b--2d24d77f46f447bbacf655f7d52d1f34
84d405dda4834864b80e4df6cd3bdb94
ff16c36eeb3b410a814aaf5217ea9c6d
RY(20.0*acos(0.667*x + 1.667))
c762123a383548e08873387c08592c2d--ff16c36eeb3b410a814aaf5217ea9c6d
2fa6b9c06cb242f0ba7043998839d7f8
3
ff16c36eeb3b410a814aaf5217ea9c6d--84d405dda4834864b80e4df6cd3bdb94
43a45ab77e2648128f660e68a04682ec
eadf47a809e942eeb7fb3a9a354b62fd
RY(10.0*acos(0.667*x + 1.667))
2fa6b9c06cb242f0ba7043998839d7f8--eadf47a809e942eeb7fb3a9a354b62fd
2562f7605b4f4fbbb33d9ce241357224
4
eadf47a809e942eeb7fb3a9a354b62fd--43a45ab77e2648128f660e68a04682ec
5ededdae4cb84db58511f50530618859
683837353c5242f0ac26e1e0cbed9fb7
RY(5.0*acos(0.667*x + 1.667))
2562f7605b4f4fbbb33d9ce241357224--683837353c5242f0ac26e1e0cbed9fb7
683837353c5242f0ac26e1e0cbed9fb7--5ededdae4cb84db58511f50530618859
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
e18a779dfb7945f4a954427fc049717a
0
49e20cc4130d4a6fb222e528f949b105
RX(theta₀)
e18a779dfb7945f4a954427fc049717a--49e20cc4130d4a6fb222e528f949b105
1d5e436311614e14a342726bc975eca6
1
f581ccf56bd04011b5fa62ee6a81b467
RY(theta₃)
49e20cc4130d4a6fb222e528f949b105--f581ccf56bd04011b5fa62ee6a81b467
96dde83dd450439aa3d640ccbcfd40ec
RX(theta₆)
f581ccf56bd04011b5fa62ee6a81b467--96dde83dd450439aa3d640ccbcfd40ec
027cf7cda82041fd8f7e8f24481e85b6
96dde83dd450439aa3d640ccbcfd40ec--027cf7cda82041fd8f7e8f24481e85b6
7f4fe8240a1241cabc218c133cb08654
027cf7cda82041fd8f7e8f24481e85b6--7f4fe8240a1241cabc218c133cb08654
d68a5e60c4d841a48da83084c694c308
RX(theta₉)
7f4fe8240a1241cabc218c133cb08654--d68a5e60c4d841a48da83084c694c308
8d7f00ae9b1845628c5e60012002dce7
RY(theta₁₂)
d68a5e60c4d841a48da83084c694c308--8d7f00ae9b1845628c5e60012002dce7
e2ae62a7abc34392b035afef0d6897cd
RX(theta₁₅)
8d7f00ae9b1845628c5e60012002dce7--e2ae62a7abc34392b035afef0d6897cd
03cf400eb9174a5a8f705fdcd2518af7
e2ae62a7abc34392b035afef0d6897cd--03cf400eb9174a5a8f705fdcd2518af7
b26829db669643a0a784e84a159066e7
03cf400eb9174a5a8f705fdcd2518af7--b26829db669643a0a784e84a159066e7
e7c122cdf8a544e39f6a573b9162f9d4
b26829db669643a0a784e84a159066e7--e7c122cdf8a544e39f6a573b9162f9d4
98fd2aff15b0463a830558e75b4bd09a
9ed12228a97a4224962249d77dd91da5
RX(theta₁)
1d5e436311614e14a342726bc975eca6--9ed12228a97a4224962249d77dd91da5
505111d3a9fd43aeb7199ccd17700605
2
ad07bcb6961543919871d5e80a225a0d
RY(theta₄)
9ed12228a97a4224962249d77dd91da5--ad07bcb6961543919871d5e80a225a0d
fad06356608d442381b775a33d0e6157
RX(theta₇)
ad07bcb6961543919871d5e80a225a0d--fad06356608d442381b775a33d0e6157
a2379b5b8b7447b29270e2c72d800b89
X
fad06356608d442381b775a33d0e6157--a2379b5b8b7447b29270e2c72d800b89
a2379b5b8b7447b29270e2c72d800b89--027cf7cda82041fd8f7e8f24481e85b6
0d69c159be944fff8307419a8e536fb2
a2379b5b8b7447b29270e2c72d800b89--0d69c159be944fff8307419a8e536fb2
b7c4cfb550334e6fa60599b3718daa3b
RX(theta₁₀)
0d69c159be944fff8307419a8e536fb2--b7c4cfb550334e6fa60599b3718daa3b
961758b7665d47c0aad943e8e8fa6e6c
RY(theta₁₃)
b7c4cfb550334e6fa60599b3718daa3b--961758b7665d47c0aad943e8e8fa6e6c
12f159e61052428888820b6b2faeb692
RX(theta₁₆)
961758b7665d47c0aad943e8e8fa6e6c--12f159e61052428888820b6b2faeb692
df3139cc26f54be3966d5e9e8a696b29
X
12f159e61052428888820b6b2faeb692--df3139cc26f54be3966d5e9e8a696b29
df3139cc26f54be3966d5e9e8a696b29--03cf400eb9174a5a8f705fdcd2518af7
1c3b0ede5263436cb80dcb882d4f34d4
df3139cc26f54be3966d5e9e8a696b29--1c3b0ede5263436cb80dcb882d4f34d4
1c3b0ede5263436cb80dcb882d4f34d4--98fd2aff15b0463a830558e75b4bd09a
ed69979d977e4a9499461c3bb4792af7
fa95f6323c6049888fc2f507b6142886
RX(theta₂)
505111d3a9fd43aeb7199ccd17700605--fa95f6323c6049888fc2f507b6142886
a77c8467ec3c4237845858c9f5089517
RY(theta₅)
fa95f6323c6049888fc2f507b6142886--a77c8467ec3c4237845858c9f5089517
f06379f822074c7797e902d5ea98a9c4
RX(theta₈)
a77c8467ec3c4237845858c9f5089517--f06379f822074c7797e902d5ea98a9c4
5e5d17c18c5c4f23ad30d56a8c7f9688
f06379f822074c7797e902d5ea98a9c4--5e5d17c18c5c4f23ad30d56a8c7f9688
1aaccef6ea154d07ba2a58472a911819
X
5e5d17c18c5c4f23ad30d56a8c7f9688--1aaccef6ea154d07ba2a58472a911819
1aaccef6ea154d07ba2a58472a911819--0d69c159be944fff8307419a8e536fb2
27afe9185ad5454a9c8b98469cebea34
RX(theta₁₁)
1aaccef6ea154d07ba2a58472a911819--27afe9185ad5454a9c8b98469cebea34
cb70b519f2d64992a68f01291b86832c
RY(theta₁₄)
27afe9185ad5454a9c8b98469cebea34--cb70b519f2d64992a68f01291b86832c
01415c75d0cf40a7a75e51c990b0cb9d
RX(theta₁₇)
cb70b519f2d64992a68f01291b86832c--01415c75d0cf40a7a75e51c990b0cb9d
28da948c21e647e696b7c8eaea4386cd
01415c75d0cf40a7a75e51c990b0cb9d--28da948c21e647e696b7c8eaea4386cd
f3380ed633874d369ff78c4a61af07c2
X
28da948c21e647e696b7c8eaea4386cd--f3380ed633874d369ff78c4a61af07c2
f3380ed633874d369ff78c4a61af07c2--1c3b0ede5263436cb80dcb882d4f34d4
f3380ed633874d369ff78c4a61af07c2--ed69979d977e4a9499461c3bb4792af7
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
70fd6ac4c2be4e409b5c0e690841d32d
0
ed2e1d1443d948c2af4bd8e99b524774
RX(phi₀)
70fd6ac4c2be4e409b5c0e690841d32d--ed2e1d1443d948c2af4bd8e99b524774
8ccb94a09274482e9719889cb333f055
1
d682c75485a74ef6a6f76149d280d9fa
RY(phi₃)
ed2e1d1443d948c2af4bd8e99b524774--d682c75485a74ef6a6f76149d280d9fa
53a001cac69548899d2e0e61c8b940d8
RX(phi₆)
d682c75485a74ef6a6f76149d280d9fa--53a001cac69548899d2e0e61c8b940d8
9e287bea793f424bbb784359993221f5
53a001cac69548899d2e0e61c8b940d8--9e287bea793f424bbb784359993221f5
f21571ebb02d473f82d9508e310fa620
9e287bea793f424bbb784359993221f5--f21571ebb02d473f82d9508e310fa620
3b48c1946bbb4956a337276d633f6c64
RX(phi₉)
f21571ebb02d473f82d9508e310fa620--3b48c1946bbb4956a337276d633f6c64
61109d793ed9487a90b096184dea6d5b
RY(phi₁₂)
3b48c1946bbb4956a337276d633f6c64--61109d793ed9487a90b096184dea6d5b
f446462bc85f4835a45249b767adabb5
RX(phi₁₅)
61109d793ed9487a90b096184dea6d5b--f446462bc85f4835a45249b767adabb5
4bf94db7ebd64046832cbe0d2eaaaaf3
f446462bc85f4835a45249b767adabb5--4bf94db7ebd64046832cbe0d2eaaaaf3
e86eb488714b433ab8c98ad4378ffda2
4bf94db7ebd64046832cbe0d2eaaaaf3--e86eb488714b433ab8c98ad4378ffda2
89174edfe4564a4f8c3dd18b55ff36c0
e86eb488714b433ab8c98ad4378ffda2--89174edfe4564a4f8c3dd18b55ff36c0
0e93d82b48f84dc6a474b6dd4e0cc9ba
6edba4c589f84d919a20d01dae83b589
RX(phi₁)
8ccb94a09274482e9719889cb333f055--6edba4c589f84d919a20d01dae83b589
d4a0588a6c4e480b816432f10aa6d1a2
2
535ad55c5e40405fbbc43256768961d5
RY(phi₄)
6edba4c589f84d919a20d01dae83b589--535ad55c5e40405fbbc43256768961d5
74f4c267e9a540e0b1d61b5a377ae8b8
RX(phi₇)
535ad55c5e40405fbbc43256768961d5--74f4c267e9a540e0b1d61b5a377ae8b8
0cac6095565d4031a379f07a1fbffba4
PHASE(phi_ent₀)
74f4c267e9a540e0b1d61b5a377ae8b8--0cac6095565d4031a379f07a1fbffba4
0cac6095565d4031a379f07a1fbffba4--9e287bea793f424bbb784359993221f5
8fa295042097421cbcb838840e8d7e3d
0cac6095565d4031a379f07a1fbffba4--8fa295042097421cbcb838840e8d7e3d
c121304fa57e42d6a74005fe442e8d1a
RX(phi₁₀)
8fa295042097421cbcb838840e8d7e3d--c121304fa57e42d6a74005fe442e8d1a
1a2248453f6342efbe2a8490be705c73
RY(phi₁₃)
c121304fa57e42d6a74005fe442e8d1a--1a2248453f6342efbe2a8490be705c73
1b42eb2cfe5547369ed60afc9a68d6df
RX(phi₁₆)
1a2248453f6342efbe2a8490be705c73--1b42eb2cfe5547369ed60afc9a68d6df
b9c30f7452dd496884e1910d5fdabcd2
PHASE(phi_ent₂)
1b42eb2cfe5547369ed60afc9a68d6df--b9c30f7452dd496884e1910d5fdabcd2
b9c30f7452dd496884e1910d5fdabcd2--4bf94db7ebd64046832cbe0d2eaaaaf3
1d47b96a468d48f3ab79880f80323490
b9c30f7452dd496884e1910d5fdabcd2--1d47b96a468d48f3ab79880f80323490
1d47b96a468d48f3ab79880f80323490--0e93d82b48f84dc6a474b6dd4e0cc9ba
c00ecb99c4ac4f0ca19031d88088e67c
5ac6a501163e43c1ab78b08810761738
RX(phi₂)
d4a0588a6c4e480b816432f10aa6d1a2--5ac6a501163e43c1ab78b08810761738
1330d3d64838439cb488143241f67d87
RY(phi₅)
5ac6a501163e43c1ab78b08810761738--1330d3d64838439cb488143241f67d87
c7a7f0526d48448d99e74c7fc996474b
RX(phi₈)
1330d3d64838439cb488143241f67d87--c7a7f0526d48448d99e74c7fc996474b
92c41165063f42128c7159e01d6fafe8
c7a7f0526d48448d99e74c7fc996474b--92c41165063f42128c7159e01d6fafe8
c1ade26c9bf14bab9859f6d11b05efe4
PHASE(phi_ent₁)
92c41165063f42128c7159e01d6fafe8--c1ade26c9bf14bab9859f6d11b05efe4
c1ade26c9bf14bab9859f6d11b05efe4--8fa295042097421cbcb838840e8d7e3d
f2a860d6571e468fbd3daa71786d7400
RX(phi₁₁)
c1ade26c9bf14bab9859f6d11b05efe4--f2a860d6571e468fbd3daa71786d7400
ae4d96d53fec44638aa321346f34485d
RY(phi₁₄)
f2a860d6571e468fbd3daa71786d7400--ae4d96d53fec44638aa321346f34485d
3113adc8254441a886e4066c8e740347
RX(phi₁₇)
ae4d96d53fec44638aa321346f34485d--3113adc8254441a886e4066c8e740347
11fca3a827594846853ae1d025eb6d75
3113adc8254441a886e4066c8e740347--11fca3a827594846853ae1d025eb6d75
345c757e838d446fa4cadb4ffb226914
PHASE(phi_ent₃)
11fca3a827594846853ae1d025eb6d75--345c757e838d446fa4cadb4ffb226914
345c757e838d446fa4cadb4ffb226914--1d47b96a468d48f3ab79880f80323490
345c757e838d446fa4cadb4ffb226914--c00ecb99c4ac4f0ca19031d88088e67c
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_29a01a5e1ec14d10a0500529e9571e8f
cluster_0e5ef7873aab4016b46b2a356e26f46c
bd0af01394604951b6637e2fe8a5d380
0
d58f516f4687439898e61b13cb4dd761
RX(theta₀)
bd0af01394604951b6637e2fe8a5d380--d58f516f4687439898e61b13cb4dd761
6bc88b1808b24c4bb278b63d68bb88d6
1
7e9656e2af0a43588d3779e7fa9e8fe1
RY(theta₃)
d58f516f4687439898e61b13cb4dd761--7e9656e2af0a43588d3779e7fa9e8fe1
24502f83fa474284ac4a7185d8213bf8
RX(theta₆)
7e9656e2af0a43588d3779e7fa9e8fe1--24502f83fa474284ac4a7185d8213bf8
62c3399bd30b430c8ca935be0d6aeaf0
HamEvo
24502f83fa474284ac4a7185d8213bf8--62c3399bd30b430c8ca935be0d6aeaf0
4f538a477e484e118839c00352b0dd5a
RX(theta₉)
62c3399bd30b430c8ca935be0d6aeaf0--4f538a477e484e118839c00352b0dd5a
09b7a3b2a01343189a01681cad9570a2
RY(theta₁₂)
4f538a477e484e118839c00352b0dd5a--09b7a3b2a01343189a01681cad9570a2
db9940c1cc2844e492ea6cbc37f542df
RX(theta₁₅)
09b7a3b2a01343189a01681cad9570a2--db9940c1cc2844e492ea6cbc37f542df
42f20c6d1f844306b436bc9d58b6e0f0
HamEvo
db9940c1cc2844e492ea6cbc37f542df--42f20c6d1f844306b436bc9d58b6e0f0
7fd08a16c8b94aefad917dcbf4e6bcde
42f20c6d1f844306b436bc9d58b6e0f0--7fd08a16c8b94aefad917dcbf4e6bcde
2f78de97556041069d0c53ed8f0cb4b1
6d9b84b6e1c04173a888c4fdaf059bcc
RX(theta₁)
6bc88b1808b24c4bb278b63d68bb88d6--6d9b84b6e1c04173a888c4fdaf059bcc
703d2de54d104743be8555ed887e1a29
2
53b7f4d65c0c4415808d36c3b64e5e0a
RY(theta₄)
6d9b84b6e1c04173a888c4fdaf059bcc--53b7f4d65c0c4415808d36c3b64e5e0a
ce8a4752935f4202a029599be8c97ad2
RX(theta₇)
53b7f4d65c0c4415808d36c3b64e5e0a--ce8a4752935f4202a029599be8c97ad2
05bd69703b1245ea96d6f433af15ba77
t = theta_t₀
ce8a4752935f4202a029599be8c97ad2--05bd69703b1245ea96d6f433af15ba77
7a0f149a25384565b555dd40f846a1ae
RX(theta₁₀)
05bd69703b1245ea96d6f433af15ba77--7a0f149a25384565b555dd40f846a1ae
c1cbe34442594ca79211bc267acd5427
RY(theta₁₃)
7a0f149a25384565b555dd40f846a1ae--c1cbe34442594ca79211bc267acd5427
9c3d75f13d6e4433a817d6003d10a2c2
RX(theta₁₆)
c1cbe34442594ca79211bc267acd5427--9c3d75f13d6e4433a817d6003d10a2c2
612433d0cf3e41abb44b00689f215f01
t = theta_t₁
9c3d75f13d6e4433a817d6003d10a2c2--612433d0cf3e41abb44b00689f215f01
612433d0cf3e41abb44b00689f215f01--2f78de97556041069d0c53ed8f0cb4b1
607f23650f9845219bc6b4a594f892f8
373fc5af2d3b4caba5743d806bb4ab6a
RX(theta₂)
703d2de54d104743be8555ed887e1a29--373fc5af2d3b4caba5743d806bb4ab6a
501176588f1d4f9584a4de99f9163221
RY(theta₅)
373fc5af2d3b4caba5743d806bb4ab6a--501176588f1d4f9584a4de99f9163221
00e783dff1a04635883c6777e7c1c0c6
RX(theta₈)
501176588f1d4f9584a4de99f9163221--00e783dff1a04635883c6777e7c1c0c6
c31fb9dc67834678b85bacad6ff844ec
00e783dff1a04635883c6777e7c1c0c6--c31fb9dc67834678b85bacad6ff844ec
d9568b7d679d4bf08b69afabe29041f8
RX(theta₁₁)
c31fb9dc67834678b85bacad6ff844ec--d9568b7d679d4bf08b69afabe29041f8
9cf5ecf8bf1940e7a1d1464e815ed457
RY(theta₁₄)
d9568b7d679d4bf08b69afabe29041f8--9cf5ecf8bf1940e7a1d1464e815ed457
3ad8e84922f3408ebf3fcd9cb9c7fe31
RX(theta₁₇)
9cf5ecf8bf1940e7a1d1464e815ed457--3ad8e84922f3408ebf3fcd9cb9c7fe31
4a512fc56b654443873a1b2580497484
3ad8e84922f3408ebf3fcd9cb9c7fe31--4a512fc56b654443873a1b2580497484
4a512fc56b654443873a1b2580497484--607f23650f9845219bc6b4a594f892f8
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_154f61770c8a48e1aaf7a17abbe7c4f4
cluster_0e26af3d2b8540a6841a05260e6ff693
cd91906f091a48d78bf95645bc235763
0
0f8ba48680b1472cbe9a744590368ff1
RX(theta₀)
cd91906f091a48d78bf95645bc235763--0f8ba48680b1472cbe9a744590368ff1
064161d69cda4af28e826d633076a0f0
1
8d1ce07c88bb411ca2ab34923f6cd156
RY(theta₆)
0f8ba48680b1472cbe9a744590368ff1--8d1ce07c88bb411ca2ab34923f6cd156
4ab07139f8bc428d9468cc4e04191429
RX(theta₁₂)
8d1ce07c88bb411ca2ab34923f6cd156--4ab07139f8bc428d9468cc4e04191429
a4f0168bc85e4e2997230561b2fc8554
4ab07139f8bc428d9468cc4e04191429--a4f0168bc85e4e2997230561b2fc8554
07c786389a404902abef44289f4ac02e
RX(theta₁₈)
a4f0168bc85e4e2997230561b2fc8554--07c786389a404902abef44289f4ac02e
6b5f1a43a5dc4ae488374131c1b58df7
RY(theta₂₄)
07c786389a404902abef44289f4ac02e--6b5f1a43a5dc4ae488374131c1b58df7
29ee591a6ad844fba5ae033d80e687fe
RX(theta₃₀)
6b5f1a43a5dc4ae488374131c1b58df7--29ee591a6ad844fba5ae033d80e687fe
1b2f79211636495a8734db6046efaf0f
29ee591a6ad844fba5ae033d80e687fe--1b2f79211636495a8734db6046efaf0f
2fe734544feb4d0ebab3032ce5937b26
1b2f79211636495a8734db6046efaf0f--2fe734544feb4d0ebab3032ce5937b26
c68480d3bd7f4345b841fa9a5f1d0b6d
234edc6c48944458899ec52ed4e911ee
RX(theta₁)
064161d69cda4af28e826d633076a0f0--234edc6c48944458899ec52ed4e911ee
b3af3c62bb4c4f61b67a80b0c1276eca
2
bcaf6ffc55784b89b752c347c5ee181d
RY(theta₇)
234edc6c48944458899ec52ed4e911ee--bcaf6ffc55784b89b752c347c5ee181d
0a12fca6d0ad41098c2067eefde9ba8b
RX(theta₁₃)
bcaf6ffc55784b89b752c347c5ee181d--0a12fca6d0ad41098c2067eefde9ba8b
3091d8fa06da41bca9d9b39df82dd05a
0a12fca6d0ad41098c2067eefde9ba8b--3091d8fa06da41bca9d9b39df82dd05a
e8abc88b8dba41c498071aca9571579b
RX(theta₁₉)
3091d8fa06da41bca9d9b39df82dd05a--e8abc88b8dba41c498071aca9571579b
f38c83d9a1ad4af2b7a3e7ed69189665
RY(theta₂₅)
e8abc88b8dba41c498071aca9571579b--f38c83d9a1ad4af2b7a3e7ed69189665
5b03f8fc29744a809a98c4f3f6c869c4
RX(theta₃₁)
f38c83d9a1ad4af2b7a3e7ed69189665--5b03f8fc29744a809a98c4f3f6c869c4
f7aecbe40c63436f9642f07f9dcabd38
5b03f8fc29744a809a98c4f3f6c869c4--f7aecbe40c63436f9642f07f9dcabd38
f7aecbe40c63436f9642f07f9dcabd38--c68480d3bd7f4345b841fa9a5f1d0b6d
0e1dc6e1d6ed4294a11046cdabeb68d1
e4ea7a8ec5c84687ad6bdfce234729b2
RX(theta₂)
b3af3c62bb4c4f61b67a80b0c1276eca--e4ea7a8ec5c84687ad6bdfce234729b2
c9632205b82541e885d68ef167a11833
3
a288f8262671486a875a8679546996b2
RY(theta₈)
e4ea7a8ec5c84687ad6bdfce234729b2--a288f8262671486a875a8679546996b2
c188a9d437364edf9f3db930def52a0e
RX(theta₁₄)
a288f8262671486a875a8679546996b2--c188a9d437364edf9f3db930def52a0e
45194000535142549a4a01c507af7b90
HamEvo
c188a9d437364edf9f3db930def52a0e--45194000535142549a4a01c507af7b90
e5a17055a06343eab8f3cfe28f0ca2ec
RX(theta₂₀)
45194000535142549a4a01c507af7b90--e5a17055a06343eab8f3cfe28f0ca2ec
7bc856fb6bf64a2b8d4b8e281fce77ab
RY(theta₂₆)
e5a17055a06343eab8f3cfe28f0ca2ec--7bc856fb6bf64a2b8d4b8e281fce77ab
4ca4d00f6fc842b58ce0a9e830a55ca9
RX(theta₃₂)
7bc856fb6bf64a2b8d4b8e281fce77ab--4ca4d00f6fc842b58ce0a9e830a55ca9
72daa4e7a693402c92167cda3156a84a
HamEvo
4ca4d00f6fc842b58ce0a9e830a55ca9--72daa4e7a693402c92167cda3156a84a
72daa4e7a693402c92167cda3156a84a--0e1dc6e1d6ed4294a11046cdabeb68d1
360a7c7a46884096b5ac14bb5a4a2cba
89c9662e7b8e492abc1f701101b8a95c
RX(theta₃)
c9632205b82541e885d68ef167a11833--89c9662e7b8e492abc1f701101b8a95c
a935643fd4804b96bc9d13fd4f86ecea
4
ddf5e8d33f234bbc9c41ffdcc00c1e05
RY(theta₉)
89c9662e7b8e492abc1f701101b8a95c--ddf5e8d33f234bbc9c41ffdcc00c1e05
661c0bb015b543d4a27abee2c2147289
RX(theta₁₅)
ddf5e8d33f234bbc9c41ffdcc00c1e05--661c0bb015b543d4a27abee2c2147289
e5d6efc2b40a4c1d9ad8af331648bc94
t = theta_t₀
661c0bb015b543d4a27abee2c2147289--e5d6efc2b40a4c1d9ad8af331648bc94
30d18e609efc452ebb521cde737400ff
RX(theta₂₁)
e5d6efc2b40a4c1d9ad8af331648bc94--30d18e609efc452ebb521cde737400ff
c6154f26183943e89908f836c5392182
RY(theta₂₇)
30d18e609efc452ebb521cde737400ff--c6154f26183943e89908f836c5392182
c4cdec70094e443e905988577d77b48c
RX(theta₃₃)
c6154f26183943e89908f836c5392182--c4cdec70094e443e905988577d77b48c
2369eb372d3942da9fe068d60261e026
t = theta_t₁
c4cdec70094e443e905988577d77b48c--2369eb372d3942da9fe068d60261e026
2369eb372d3942da9fe068d60261e026--360a7c7a46884096b5ac14bb5a4a2cba
4a4f54c73eb54c2695d4af8df048692c
019f0e9fb5ba4f5c88c6fde53efd85bf
RX(theta₄)
a935643fd4804b96bc9d13fd4f86ecea--019f0e9fb5ba4f5c88c6fde53efd85bf
034706b3d5714e83909f9b6607a9cdcd
5
d2c12f7191ce48169c4b8b21c2e35eed
RY(theta₁₀)
019f0e9fb5ba4f5c88c6fde53efd85bf--d2c12f7191ce48169c4b8b21c2e35eed
341fb6cc17f34da4a753c20880c9abf0
RX(theta₁₆)
d2c12f7191ce48169c4b8b21c2e35eed--341fb6cc17f34da4a753c20880c9abf0
488a8cf7ed7e4f7196f829c652683a4b
341fb6cc17f34da4a753c20880c9abf0--488a8cf7ed7e4f7196f829c652683a4b
da4fca7d85b64b0a8a850e0626b84fe2
RX(theta₂₂)
488a8cf7ed7e4f7196f829c652683a4b--da4fca7d85b64b0a8a850e0626b84fe2
168bcfc2b510480894c59fc2640b0108
RY(theta₂₈)
da4fca7d85b64b0a8a850e0626b84fe2--168bcfc2b510480894c59fc2640b0108
f8cef4db72bf434885098810466747d4
RX(theta₃₄)
168bcfc2b510480894c59fc2640b0108--f8cef4db72bf434885098810466747d4
4360acf72fac4060a3ee09acfa16c780
f8cef4db72bf434885098810466747d4--4360acf72fac4060a3ee09acfa16c780
4360acf72fac4060a3ee09acfa16c780--4a4f54c73eb54c2695d4af8df048692c
c2e4bc01a5c44c15bbd809f5bbf52637
94057662fc0f45bdb738a6a155438ed0
RX(theta₅)
034706b3d5714e83909f9b6607a9cdcd--94057662fc0f45bdb738a6a155438ed0
c79446687d3145fb9ccff9759d686655
RY(theta₁₁)
94057662fc0f45bdb738a6a155438ed0--c79446687d3145fb9ccff9759d686655
8c0aeb2eb422435b844c94d3c9662ade
RX(theta₁₇)
c79446687d3145fb9ccff9759d686655--8c0aeb2eb422435b844c94d3c9662ade
b3305f0597ff4b0398754c93ba61bb9f
8c0aeb2eb422435b844c94d3c9662ade--b3305f0597ff4b0398754c93ba61bb9f
55760031fade46a7a49e0cc0e9d4eefa
RX(theta₂₃)
b3305f0597ff4b0398754c93ba61bb9f--55760031fade46a7a49e0cc0e9d4eefa
46fd9b9f3fd34b46bc4174d13b5c1a90
RY(theta₂₉)
55760031fade46a7a49e0cc0e9d4eefa--46fd9b9f3fd34b46bc4174d13b5c1a90
e45b6db1e090495b875dad462ebe6e9b
RX(theta₃₅)
46fd9b9f3fd34b46bc4174d13b5c1a90--e45b6db1e090495b875dad462ebe6e9b
f83f324ae5124067863e3bd95dbcdbe4
e45b6db1e090495b875dad462ebe6e9b--f83f324ae5124067863e3bd95dbcdbe4
f83f324ae5124067863e3bd95dbcdbe4--c2e4bc01a5c44c15bbd809f5bbf52637
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_68033c257ddd4a969a5d72af6f76dd86
BPMA-1
cluster_e52003727f5341b69220e9cf8204f61e
BPMA-0
c8ff9caf07e2467d9b1291179973f2b8
0
b1055231daf7497db3a9fcddc5effa70
RX(alpha₀₀)
c8ff9caf07e2467d9b1291179973f2b8--b1055231daf7497db3a9fcddc5effa70
f770d33252374b109a9b0674b851982f
1
e539e5e2b8874b179752a154ace8102b
RY(alpha₀₃)
b1055231daf7497db3a9fcddc5effa70--e539e5e2b8874b179752a154ace8102b
170fcc5acdf64204a5c2d1f21219d9cf
e539e5e2b8874b179752a154ace8102b--170fcc5acdf64204a5c2d1f21219d9cf
ae96d8daf53b43f69ea5ade98d8fe2e0
170fcc5acdf64204a5c2d1f21219d9cf--ae96d8daf53b43f69ea5ade98d8fe2e0
c631bf0509da490ca7304b91f0f40207
RX(gamma₀₀)
ae96d8daf53b43f69ea5ade98d8fe2e0--c631bf0509da490ca7304b91f0f40207
f6a23da541bb4e5eb7fbaf7d92da9fd5
c631bf0509da490ca7304b91f0f40207--f6a23da541bb4e5eb7fbaf7d92da9fd5
4916b2c7969046ea80162c72afd99313
f6a23da541bb4e5eb7fbaf7d92da9fd5--4916b2c7969046ea80162c72afd99313
27942f4ecabe4e86ba1df1543577f3fa
RY(beta₀₃)
4916b2c7969046ea80162c72afd99313--27942f4ecabe4e86ba1df1543577f3fa
7b5957dd99e9455f8db607bad5015012
RX(beta₀₀)
27942f4ecabe4e86ba1df1543577f3fa--7b5957dd99e9455f8db607bad5015012
2104705da9c644fd8d06831343300024
RX(alpha₁₀)
7b5957dd99e9455f8db607bad5015012--2104705da9c644fd8d06831343300024
55dddc02317944a3aa03539b4fb5ab1a
RY(alpha₁₃)
2104705da9c644fd8d06831343300024--55dddc02317944a3aa03539b4fb5ab1a
862ec2f6aad542f19df2db8ea85d89e5
55dddc02317944a3aa03539b4fb5ab1a--862ec2f6aad542f19df2db8ea85d89e5
16743c3d5fcc422db1402bdc4585c1fb
862ec2f6aad542f19df2db8ea85d89e5--16743c3d5fcc422db1402bdc4585c1fb
0fd7d0ed2b104fe69f008fa929da0eb4
RX(gamma₁₀)
16743c3d5fcc422db1402bdc4585c1fb--0fd7d0ed2b104fe69f008fa929da0eb4
45212a95ef004015ad525a8bb3cb25a3
0fd7d0ed2b104fe69f008fa929da0eb4--45212a95ef004015ad525a8bb3cb25a3
0a05b64925764c91a931e91706e6ae7a
45212a95ef004015ad525a8bb3cb25a3--0a05b64925764c91a931e91706e6ae7a
20d5c94647714302b87cc717a202229d
RY(beta₁₃)
0a05b64925764c91a931e91706e6ae7a--20d5c94647714302b87cc717a202229d
52f318b7894f48adaeb0359d7cc64b13
RX(beta₁₀)
20d5c94647714302b87cc717a202229d--52f318b7894f48adaeb0359d7cc64b13
959bf4b57b9a49e08b6075387dcda261
52f318b7894f48adaeb0359d7cc64b13--959bf4b57b9a49e08b6075387dcda261
d2691dc015f448beb1ca153abf5d3f87
b1d691273353483fa62635d440b002cf
RX(alpha₀₁)
f770d33252374b109a9b0674b851982f--b1d691273353483fa62635d440b002cf
228041b0b4a845fdaaa4771c2c8a1b6c
2
cf128507d3d0442cb968e56b55dd9a0b
RY(alpha₀₄)
b1d691273353483fa62635d440b002cf--cf128507d3d0442cb968e56b55dd9a0b
a47c7183f651402a8293553f433f160e
X
cf128507d3d0442cb968e56b55dd9a0b--a47c7183f651402a8293553f433f160e
a47c7183f651402a8293553f433f160e--170fcc5acdf64204a5c2d1f21219d9cf
700b7ee6e08845c2883242ccee8d88b8
a47c7183f651402a8293553f433f160e--700b7ee6e08845c2883242ccee8d88b8
c29be40d5163493ca1adf487c99b7b6f
RX(gamma₀₁)
700b7ee6e08845c2883242ccee8d88b8--c29be40d5163493ca1adf487c99b7b6f
58004363282a47998bd6c04b6a047d83
c29be40d5163493ca1adf487c99b7b6f--58004363282a47998bd6c04b6a047d83
877e1fbd6ce343b1b32542c07c02463a
X
58004363282a47998bd6c04b6a047d83--877e1fbd6ce343b1b32542c07c02463a
877e1fbd6ce343b1b32542c07c02463a--4916b2c7969046ea80162c72afd99313
758aed3334c2441f953c2c2437d07fe8
RY(beta₀₄)
877e1fbd6ce343b1b32542c07c02463a--758aed3334c2441f953c2c2437d07fe8
37a410bb3e174f5382ab10ea185017e8
RX(beta₀₁)
758aed3334c2441f953c2c2437d07fe8--37a410bb3e174f5382ab10ea185017e8
c3bab8c116044a3fa7f8820ecc9e6c8e
RX(alpha₁₁)
37a410bb3e174f5382ab10ea185017e8--c3bab8c116044a3fa7f8820ecc9e6c8e
874b3aece2ab4a59ace69194bfe9a770
RY(alpha₁₄)
c3bab8c116044a3fa7f8820ecc9e6c8e--874b3aece2ab4a59ace69194bfe9a770
0687f7f205a3487f8b669856f24dfe3f
X
874b3aece2ab4a59ace69194bfe9a770--0687f7f205a3487f8b669856f24dfe3f
0687f7f205a3487f8b669856f24dfe3f--862ec2f6aad542f19df2db8ea85d89e5
d41f0c76ea684a02969744c63db73247
0687f7f205a3487f8b669856f24dfe3f--d41f0c76ea684a02969744c63db73247
3518fa81e5ea4ec7baf7cb8b2c0caacd
RX(gamma₁₁)
d41f0c76ea684a02969744c63db73247--3518fa81e5ea4ec7baf7cb8b2c0caacd
9c3b243ce1e64208981d441c6ae6ee13
3518fa81e5ea4ec7baf7cb8b2c0caacd--9c3b243ce1e64208981d441c6ae6ee13
a538034962214e028a29b2b62f623a46
X
9c3b243ce1e64208981d441c6ae6ee13--a538034962214e028a29b2b62f623a46
a538034962214e028a29b2b62f623a46--0a05b64925764c91a931e91706e6ae7a
900add26039a4dc19eaf64b77281d03f
RY(beta₁₄)
a538034962214e028a29b2b62f623a46--900add26039a4dc19eaf64b77281d03f
07f3c1178f834b1da5e80878a3f62efb
RX(beta₁₁)
900add26039a4dc19eaf64b77281d03f--07f3c1178f834b1da5e80878a3f62efb
07f3c1178f834b1da5e80878a3f62efb--d2691dc015f448beb1ca153abf5d3f87
1074eff867ad4384be3a2417b10d7035
c99710d2ba3d4dbb861ee59eaef2ff10
RX(alpha₀₂)
228041b0b4a845fdaaa4771c2c8a1b6c--c99710d2ba3d4dbb861ee59eaef2ff10
51269b98c5b34f6e801c949f51fe904a
RY(alpha₀₅)
c99710d2ba3d4dbb861ee59eaef2ff10--51269b98c5b34f6e801c949f51fe904a
189b68bc68884a958a4a13b278e02647
51269b98c5b34f6e801c949f51fe904a--189b68bc68884a958a4a13b278e02647
6ae45bf5eedb43b9bca6193e97d98381
X
189b68bc68884a958a4a13b278e02647--6ae45bf5eedb43b9bca6193e97d98381
6ae45bf5eedb43b9bca6193e97d98381--700b7ee6e08845c2883242ccee8d88b8
08c46593e75d49a09da8dd2d6cdd8a14
RX(gamma₀₂)
6ae45bf5eedb43b9bca6193e97d98381--08c46593e75d49a09da8dd2d6cdd8a14
7c1725b036434f41a4646f6943dea682
X
08c46593e75d49a09da8dd2d6cdd8a14--7c1725b036434f41a4646f6943dea682
7c1725b036434f41a4646f6943dea682--58004363282a47998bd6c04b6a047d83
f1067b18cd984efbb1fde43a199b620f
7c1725b036434f41a4646f6943dea682--f1067b18cd984efbb1fde43a199b620f
00a2e5c5c8454141b032c32cc94b5cb2
RY(beta₀₅)
f1067b18cd984efbb1fde43a199b620f--00a2e5c5c8454141b032c32cc94b5cb2
04e043a913924046b59333fb434a78fe
RX(beta₀₂)
00a2e5c5c8454141b032c32cc94b5cb2--04e043a913924046b59333fb434a78fe
156937f63f784bb49d98f10e72f78585
RX(alpha₁₂)
04e043a913924046b59333fb434a78fe--156937f63f784bb49d98f10e72f78585
4344890d155946f095d87efb321a720c
RY(alpha₁₅)
156937f63f784bb49d98f10e72f78585--4344890d155946f095d87efb321a720c
fe8f8f812c4e42d39599ef2bfae6fdf9
4344890d155946f095d87efb321a720c--fe8f8f812c4e42d39599ef2bfae6fdf9
860e4c4cf4a64a1cad4e37f2a7c7a6a5
X
fe8f8f812c4e42d39599ef2bfae6fdf9--860e4c4cf4a64a1cad4e37f2a7c7a6a5
860e4c4cf4a64a1cad4e37f2a7c7a6a5--d41f0c76ea684a02969744c63db73247
f2ee23807b1e49cc9f7a70e2ffff4d43
RX(gamma₁₂)
860e4c4cf4a64a1cad4e37f2a7c7a6a5--f2ee23807b1e49cc9f7a70e2ffff4d43
29b0244bc6f5466ca02d292a240e3d3b
X
f2ee23807b1e49cc9f7a70e2ffff4d43--29b0244bc6f5466ca02d292a240e3d3b
29b0244bc6f5466ca02d292a240e3d3b--9c3b243ce1e64208981d441c6ae6ee13
952c89df2f9e4956a6b9877282b2df89
29b0244bc6f5466ca02d292a240e3d3b--952c89df2f9e4956a6b9877282b2df89
607d92b6f7e84deb9928bd7662a6fa8a
RY(beta₁₅)
952c89df2f9e4956a6b9877282b2df89--607d92b6f7e84deb9928bd7662a6fa8a
cc6a3b376eda4384946df487f7073ac7
RX(beta₁₂)
607d92b6f7e84deb9928bd7662a6fa8a--cc6a3b376eda4384946df487f7073ac7
cc6a3b376eda4384946df487f7073ac7--1074eff867ad4384be3a2417b10d7035