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_6b2d7ea5287c406da21be87ce2fcf2d0
Constant Chebyshev FM
cluster_4d3c24894d8b4233b0b0946c959d1074
Constant Fourier FM
541c12d1b6494bdc9a589d9346af51b5
0
ff1e34582ba145b9b90c87130a2aba2b
RX(phi)
541c12d1b6494bdc9a589d9346af51b5--ff1e34582ba145b9b90c87130a2aba2b
a6548984472d4138811ca61490557d37
1
fd9b61142cf94dbbb5c3f1806db188f3
RX(acos(phi))
ff1e34582ba145b9b90c87130a2aba2b--fd9b61142cf94dbbb5c3f1806db188f3
e4e49733ccaa409cb3f9dcbb7273209b
fd9b61142cf94dbbb5c3f1806db188f3--e4e49733ccaa409cb3f9dcbb7273209b
9ec1f71badc24e36a199a5325b6889fc
952082e644db41b9807d246321e91e3e
RX(phi)
a6548984472d4138811ca61490557d37--952082e644db41b9807d246321e91e3e
bb910b04aeb54c21847d42232a786b4a
2
d767c498f18b46c5a98301078820e62a
RX(acos(phi))
952082e644db41b9807d246321e91e3e--d767c498f18b46c5a98301078820e62a
d767c498f18b46c5a98301078820e62a--9ec1f71badc24e36a199a5325b6889fc
f956a93a4b014ef588ad1f6e2c68a5e8
52b8408bf3314a7d9314aed7a5439b3c
RX(phi)
bb910b04aeb54c21847d42232a786b4a--52b8408bf3314a7d9314aed7a5439b3c
11987af1df464dbf933486bf7e3306af
RX(acos(phi))
52b8408bf3314a7d9314aed7a5439b3c--11987af1df464dbf933486bf7e3306af
11987af1df464dbf933486bf7e3306af--f956a93a4b014ef588ad1f6e2c68a5e8
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_57e92c12e00d4289831c8a0d73d0e1c6
Constant custom_func FM
cluster_ec11fd91593d43d2afaaeeed1a9597cf
Constant asin FM
2346d6a4227c46e989d612917d278b96
0
4c81194eb53748b9982792d247400ba1
RX(asin(phi))
2346d6a4227c46e989d612917d278b96--4c81194eb53748b9982792d247400ba1
ece50af8c9f446a384ee8d4617b0f784
1
cd20b72736e648618970695a00b19134
RX(phi**2 + asin(phi))
4c81194eb53748b9982792d247400ba1--cd20b72736e648618970695a00b19134
ce69c76e83724bdbabecd8f6064c2fb4
cd20b72736e648618970695a00b19134--ce69c76e83724bdbabecd8f6064c2fb4
f5b476fc658b474ea3f590c842bacd41
1a03fc64704a42959c81ce1e7150a082
RX(asin(phi))
ece50af8c9f446a384ee8d4617b0f784--1a03fc64704a42959c81ce1e7150a082
f11a7b2bc8e04029bbc4f4220e7d2722
2
ba91b9da1bbd41969f5b9f1968e16ba3
RX(phi**2 + asin(phi))
1a03fc64704a42959c81ce1e7150a082--ba91b9da1bbd41969f5b9f1968e16ba3
ba91b9da1bbd41969f5b9f1968e16ba3--f5b476fc658b474ea3f590c842bacd41
32d344801673471db0f8385664b2ef57
987162e0d3644abb9946a4f896b597b3
RX(asin(phi))
f11a7b2bc8e04029bbc4f4220e7d2722--987162e0d3644abb9946a4f896b597b3
60e4ea8a14f14e8bb9cab17ff499b3f0
RX(phi**2 + asin(phi))
987162e0d3644abb9946a4f896b597b3--60e4ea8a14f14e8bb9cab17ff499b3f0
60e4ea8a14f14e8bb9cab17ff499b3f0--32d344801673471db0f8385664b2ef57
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_a5bea7ab7fac41308a99584a363d6608
Exponential Fourier FM
cluster_8fbc9fccd3a945258a112ed85dac5b33
Constant Fourier FM
cluster_fc208efd36b84fe99cfe2d2f36a9927e
Tower Fourier FM
8379ed94f31c48d4ae9415f9d46c984f
0
a2ffa6d0e738497a848c9b081581be89
RX(phi)
8379ed94f31c48d4ae9415f9d46c984f--a2ffa6d0e738497a848c9b081581be89
c4d0d71ecb324aed9771e3b45939e6ef
1
b031735d2e47489d9c787ee1bbb46f8f
RX(1.0*phi)
a2ffa6d0e738497a848c9b081581be89--b031735d2e47489d9c787ee1bbb46f8f
2cfcc02a9bf147dc9f38e87f17f2950b
RX(1.0*phi)
b031735d2e47489d9c787ee1bbb46f8f--2cfcc02a9bf147dc9f38e87f17f2950b
d650ced309264a2c96e8feccd4d73a43
2cfcc02a9bf147dc9f38e87f17f2950b--d650ced309264a2c96e8feccd4d73a43
6e01bc237cff40af96049e90c6e060b0
590e74d5645a407ba2243e7fe152fb0c
RX(phi)
c4d0d71ecb324aed9771e3b45939e6ef--590e74d5645a407ba2243e7fe152fb0c
60532c48d38a46039502695f100bf69d
2
b995cae34a1b48099e5d0195271e16cd
RX(2.0*phi)
590e74d5645a407ba2243e7fe152fb0c--b995cae34a1b48099e5d0195271e16cd
4cba462958cd409cb50487378be0210d
RX(2.0*phi)
b995cae34a1b48099e5d0195271e16cd--4cba462958cd409cb50487378be0210d
4cba462958cd409cb50487378be0210d--6e01bc237cff40af96049e90c6e060b0
0d5e0059b4c1434d88a01bdddb9e07de
d37ef2e515334700bb724b8d631b3288
RX(phi)
60532c48d38a46039502695f100bf69d--d37ef2e515334700bb724b8d631b3288
3fbc90cf1cd042669ddca237ea93ab0e
3
d6aced04fae6419e983c44876e9f38f4
RX(3.0*phi)
d37ef2e515334700bb724b8d631b3288--d6aced04fae6419e983c44876e9f38f4
529ae8373ef54fc0ae418f317567a239
RX(4.0*phi)
d6aced04fae6419e983c44876e9f38f4--529ae8373ef54fc0ae418f317567a239
529ae8373ef54fc0ae418f317567a239--0d5e0059b4c1434d88a01bdddb9e07de
a17fce821e8f4514b5698a0332a43b54
7b4eb2d53b60473cb8cebeb96a7defef
RX(phi)
3fbc90cf1cd042669ddca237ea93ab0e--7b4eb2d53b60473cb8cebeb96a7defef
ff5fb13f0ee5405bb58a9cf1564562a1
4
7d3eff74d98a4c11b26e639b595103ca
RX(4.0*phi)
7b4eb2d53b60473cb8cebeb96a7defef--7d3eff74d98a4c11b26e639b595103ca
baa4bc2ed70c4b47a29be5116f75c8a6
RX(8.0*phi)
7d3eff74d98a4c11b26e639b595103ca--baa4bc2ed70c4b47a29be5116f75c8a6
baa4bc2ed70c4b47a29be5116f75c8a6--a17fce821e8f4514b5698a0332a43b54
c3a168725d2b4785aa5d980f59878c3f
740ab88dc09142f0a7b42423e18fee7e
RX(phi)
ff5fb13f0ee5405bb58a9cf1564562a1--740ab88dc09142f0a7b42423e18fee7e
87d5789df1c24bb3ac5aa8bc8a0d60ce
RX(5.0*phi)
740ab88dc09142f0a7b42423e18fee7e--87d5789df1c24bb3ac5aa8bc8a0d60ce
0b18994a5cee4bc9837a4582e24d8e1b
RX(16.0*phi)
87d5789df1c24bb3ac5aa8bc8a0d60ce--0b18994a5cee4bc9837a4582e24d8e1b
0b18994a5cee4bc9837a4582e24d8e1b--c3a168725d2b4785aa5d980f59878c3f
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
9ed15fa622bd4e5eb6899bfd12e69134
0
47212a6c51784e7689a0bb7118e7b17e
RX(1.0*acos(phi))
9ed15fa622bd4e5eb6899bfd12e69134--47212a6c51784e7689a0bb7118e7b17e
9c030cc139b64930997fa5d29fe9dd35
1
5ee3e36f4e544140bee541ae246a669c
47212a6c51784e7689a0bb7118e7b17e--5ee3e36f4e544140bee541ae246a669c
42312209a4f145dfba73495296e922c5
c682822227014bf18d0ab58618639ccc
RX(1.414*acos(phi))
9c030cc139b64930997fa5d29fe9dd35--c682822227014bf18d0ab58618639ccc
1770d6adfa3445a193b6fd97b4216f2b
2
c682822227014bf18d0ab58618639ccc--42312209a4f145dfba73495296e922c5
de90cb9d74154bc392e2fecce8ec609d
f39e1ab53b344bcb840e5d7f5d53323e
RX(1.732*acos(phi))
1770d6adfa3445a193b6fd97b4216f2b--f39e1ab53b344bcb840e5d7f5d53323e
0fab2c1f9fda45e491fdab69e2056a49
3
f39e1ab53b344bcb840e5d7f5d53323e--de90cb9d74154bc392e2fecce8ec609d
41f424daee1d4ca4b5394d194995903f
68c8e9c3a6004e168e558e9f9607f30d
RX(2.0*acos(phi))
0fab2c1f9fda45e491fdab69e2056a49--68c8e9c3a6004e168e558e9f9607f30d
80f98736770a4ff181ce8d7cc6fbf24d
4
68c8e9c3a6004e168e558e9f9607f30d--41f424daee1d4ca4b5394d194995903f
00dae89046a94d4dbc4bfdf6fdecb852
d6f95a8c9ef44369bc0d2ac54f94ada7
RX(2.236*acos(phi))
80f98736770a4ff181ce8d7cc6fbf24d--d6f95a8c9ef44369bc0d2ac54f94ada7
d6f95a8c9ef44369bc0d2ac54f94ada7--00dae89046a94d4dbc4bfdf6fdecb852
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
779b4d8693ce404db557ecd1814a660a
0
0670af6c10324e8ab4c7183843efce9b
RY(80.0*acos(0.667*x + 1.667))
779b4d8693ce404db557ecd1814a660a--0670af6c10324e8ab4c7183843efce9b
aa34e6383c9d4ff4a4a45e2759406d9e
1
e3c50c58c97b488b93431c22187c767b
0670af6c10324e8ab4c7183843efce9b--e3c50c58c97b488b93431c22187c767b
fe6df05577434589a0c2fe1b21bd473a
b998ffa598c145c2b72a5e3648d64657
RY(40.0*acos(0.667*x + 1.667))
aa34e6383c9d4ff4a4a45e2759406d9e--b998ffa598c145c2b72a5e3648d64657
fd9afff5075a416a9ba6c3e856635f38
2
b998ffa598c145c2b72a5e3648d64657--fe6df05577434589a0c2fe1b21bd473a
00ef00eb0ad540d898b898024c86ed4b
7aabd8fc84e2426d8feff3c4ed934a84
RY(20.0*acos(0.667*x + 1.667))
fd9afff5075a416a9ba6c3e856635f38--7aabd8fc84e2426d8feff3c4ed934a84
727e3806572148e9b46503fe2441e58a
3
7aabd8fc84e2426d8feff3c4ed934a84--00ef00eb0ad540d898b898024c86ed4b
ee009ed3b88546e49fbe65e25693ebcc
db83423f94744c8db2ac548d602445a1
RY(10.0*acos(0.667*x + 1.667))
727e3806572148e9b46503fe2441e58a--db83423f94744c8db2ac548d602445a1
cc40eba98a254f519a512e6706be9b93
4
db83423f94744c8db2ac548d602445a1--ee009ed3b88546e49fbe65e25693ebcc
d81f3c79112d4f699e682c39c3071579
e1081f9d792449238bba499fecb9cf40
RY(5.0*acos(0.667*x + 1.667))
cc40eba98a254f519a512e6706be9b93--e1081f9d792449238bba499fecb9cf40
e1081f9d792449238bba499fecb9cf40--d81f3c79112d4f699e682c39c3071579
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
879fe87f08aa430aacdaca4b6591cf81
0
0800d70493144fd98bbbdba7661757d4
RX(theta₀)
879fe87f08aa430aacdaca4b6591cf81--0800d70493144fd98bbbdba7661757d4
e64e6af1e16f45e2b21258b3b36d84ea
1
645702d28a024a5786bd5e14e60bb9e6
RY(theta₃)
0800d70493144fd98bbbdba7661757d4--645702d28a024a5786bd5e14e60bb9e6
8feea4a3c5eb45d7a547d88f12ea428c
RX(theta₆)
645702d28a024a5786bd5e14e60bb9e6--8feea4a3c5eb45d7a547d88f12ea428c
9120652d055b40e392804622636f3ed2
8feea4a3c5eb45d7a547d88f12ea428c--9120652d055b40e392804622636f3ed2
37689c634c1a4154963c0d9b9c1f3048
9120652d055b40e392804622636f3ed2--37689c634c1a4154963c0d9b9c1f3048
0e2f040c1d24492194329fe334b972d1
RX(theta₉)
37689c634c1a4154963c0d9b9c1f3048--0e2f040c1d24492194329fe334b972d1
621302c62c364af8835751549e616376
RY(theta₁₂)
0e2f040c1d24492194329fe334b972d1--621302c62c364af8835751549e616376
d7a37a0458bf4effac50206f28548274
RX(theta₁₅)
621302c62c364af8835751549e616376--d7a37a0458bf4effac50206f28548274
50224908454041d4acdc328ffc4b8013
d7a37a0458bf4effac50206f28548274--50224908454041d4acdc328ffc4b8013
b1e277a8a5ca44769caa06287f8dc1ac
50224908454041d4acdc328ffc4b8013--b1e277a8a5ca44769caa06287f8dc1ac
344c3d43d2094d17915e06ab83e8f825
b1e277a8a5ca44769caa06287f8dc1ac--344c3d43d2094d17915e06ab83e8f825
6c37f787a619492aade6620735ffffa0
e01d9ca9968649d5b0fc56760ac4a240
RX(theta₁)
e64e6af1e16f45e2b21258b3b36d84ea--e01d9ca9968649d5b0fc56760ac4a240
3dba7381694f4e059f4ed0ab765d9cc5
2
c810885d0b8b48b19e5eab3f840a42c3
RY(theta₄)
e01d9ca9968649d5b0fc56760ac4a240--c810885d0b8b48b19e5eab3f840a42c3
226015a5c7e84f07bc2e57548b0e105f
RX(theta₇)
c810885d0b8b48b19e5eab3f840a42c3--226015a5c7e84f07bc2e57548b0e105f
af0ec7b01b7f414ca751c7bb12f26d4d
X
226015a5c7e84f07bc2e57548b0e105f--af0ec7b01b7f414ca751c7bb12f26d4d
af0ec7b01b7f414ca751c7bb12f26d4d--9120652d055b40e392804622636f3ed2
2bbeb31f238740c78ca88625053eb6f5
af0ec7b01b7f414ca751c7bb12f26d4d--2bbeb31f238740c78ca88625053eb6f5
20de4400e43546f8975b6c2380bca3ca
RX(theta₁₀)
2bbeb31f238740c78ca88625053eb6f5--20de4400e43546f8975b6c2380bca3ca
84c9e1a6901a40e6bb5fe43fbf0a8ba0
RY(theta₁₃)
20de4400e43546f8975b6c2380bca3ca--84c9e1a6901a40e6bb5fe43fbf0a8ba0
b4a709109a76449986dfc726f38efb15
RX(theta₁₆)
84c9e1a6901a40e6bb5fe43fbf0a8ba0--b4a709109a76449986dfc726f38efb15
56cb5ae71b844832af050158dc8805d2
X
b4a709109a76449986dfc726f38efb15--56cb5ae71b844832af050158dc8805d2
56cb5ae71b844832af050158dc8805d2--50224908454041d4acdc328ffc4b8013
75c98daa48fa49c39eb690a3643156a8
56cb5ae71b844832af050158dc8805d2--75c98daa48fa49c39eb690a3643156a8
75c98daa48fa49c39eb690a3643156a8--6c37f787a619492aade6620735ffffa0
c942afe910ab4bacb8c656686bb02c49
fd8820a82ad94544913c21a6a805a276
RX(theta₂)
3dba7381694f4e059f4ed0ab765d9cc5--fd8820a82ad94544913c21a6a805a276
418a898e1c064631ab3d15e229c60ac9
RY(theta₅)
fd8820a82ad94544913c21a6a805a276--418a898e1c064631ab3d15e229c60ac9
e953754b6fa743a486cb785a2591e439
RX(theta₈)
418a898e1c064631ab3d15e229c60ac9--e953754b6fa743a486cb785a2591e439
508c5d3ef17b4109a3e4319aff988d2b
e953754b6fa743a486cb785a2591e439--508c5d3ef17b4109a3e4319aff988d2b
7d2a67d4de354727b552d2744bd14f6b
X
508c5d3ef17b4109a3e4319aff988d2b--7d2a67d4de354727b552d2744bd14f6b
7d2a67d4de354727b552d2744bd14f6b--2bbeb31f238740c78ca88625053eb6f5
ac049eb37fd14e85a5765818e593a954
RX(theta₁₁)
7d2a67d4de354727b552d2744bd14f6b--ac049eb37fd14e85a5765818e593a954
257458dbd3bb4e43924057c559929b5d
RY(theta₁₄)
ac049eb37fd14e85a5765818e593a954--257458dbd3bb4e43924057c559929b5d
e713b85e17844565b59e90b708577dc8
RX(theta₁₇)
257458dbd3bb4e43924057c559929b5d--e713b85e17844565b59e90b708577dc8
8cf3ac258b4740c5bb55e8a565aa44e9
e713b85e17844565b59e90b708577dc8--8cf3ac258b4740c5bb55e8a565aa44e9
c5b6f7ea7b424a42a3d47542d00f02af
X
8cf3ac258b4740c5bb55e8a565aa44e9--c5b6f7ea7b424a42a3d47542d00f02af
c5b6f7ea7b424a42a3d47542d00f02af--75c98daa48fa49c39eb690a3643156a8
c5b6f7ea7b424a42a3d47542d00f02af--c942afe910ab4bacb8c656686bb02c49
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
f4553a58079f45829a44a431f15ed484
0
ac9172bf6146431b989ccf08a8d6a7a3
RX(phi₀)
f4553a58079f45829a44a431f15ed484--ac9172bf6146431b989ccf08a8d6a7a3
e53acba97e514b73a75687c9edfcd333
1
1a4cde9882194e26b4efbcf17fbb9330
RY(phi₃)
ac9172bf6146431b989ccf08a8d6a7a3--1a4cde9882194e26b4efbcf17fbb9330
e7a0629011144a7a81fba4e113d5cc33
RX(phi₆)
1a4cde9882194e26b4efbcf17fbb9330--e7a0629011144a7a81fba4e113d5cc33
27d86c2d041a418793d728a34f34ee5a
e7a0629011144a7a81fba4e113d5cc33--27d86c2d041a418793d728a34f34ee5a
ecb7c2d1af4d4a59a2fb780373d31238
27d86c2d041a418793d728a34f34ee5a--ecb7c2d1af4d4a59a2fb780373d31238
5a6d14283d664ff39d8f89eff7ff8cb0
RX(phi₉)
ecb7c2d1af4d4a59a2fb780373d31238--5a6d14283d664ff39d8f89eff7ff8cb0
cacc0eec9d3e491c885455b2c05cf253
RY(phi₁₂)
5a6d14283d664ff39d8f89eff7ff8cb0--cacc0eec9d3e491c885455b2c05cf253
ff4c0819cc7943eca9a5bb98764423a2
RX(phi₁₅)
cacc0eec9d3e491c885455b2c05cf253--ff4c0819cc7943eca9a5bb98764423a2
2017ac25850b49bf841a0590f5c8d44b
ff4c0819cc7943eca9a5bb98764423a2--2017ac25850b49bf841a0590f5c8d44b
fb146dedd53c41088644de2e45d8cbf0
2017ac25850b49bf841a0590f5c8d44b--fb146dedd53c41088644de2e45d8cbf0
3ccb04d3fe8746df8624289d8c4885df
fb146dedd53c41088644de2e45d8cbf0--3ccb04d3fe8746df8624289d8c4885df
4379643cf9924b4b8b21a50f8950b76f
fb84ac49bcf9489d84bb8ee6432b0aee
RX(phi₁)
e53acba97e514b73a75687c9edfcd333--fb84ac49bcf9489d84bb8ee6432b0aee
81b5b72c52424389b276080ef83caba6
2
00206bfaa91043448233e662502cf01f
RY(phi₄)
fb84ac49bcf9489d84bb8ee6432b0aee--00206bfaa91043448233e662502cf01f
8d3ead7e977d47eaa8a6e55a62ef86ef
RX(phi₇)
00206bfaa91043448233e662502cf01f--8d3ead7e977d47eaa8a6e55a62ef86ef
32968203f8e943fc83c92542c6520937
PHASE(phi_ent₀)
8d3ead7e977d47eaa8a6e55a62ef86ef--32968203f8e943fc83c92542c6520937
32968203f8e943fc83c92542c6520937--27d86c2d041a418793d728a34f34ee5a
3ad0b69acb1a447e96f1d65ff1693da7
32968203f8e943fc83c92542c6520937--3ad0b69acb1a447e96f1d65ff1693da7
fc2f8a7489b943e585db98c7c6c2a836
RX(phi₁₀)
3ad0b69acb1a447e96f1d65ff1693da7--fc2f8a7489b943e585db98c7c6c2a836
770235e357ff45f5bc19799e07d50838
RY(phi₁₃)
fc2f8a7489b943e585db98c7c6c2a836--770235e357ff45f5bc19799e07d50838
d17a8c3078284f5d97fe6615d0cd3059
RX(phi₁₆)
770235e357ff45f5bc19799e07d50838--d17a8c3078284f5d97fe6615d0cd3059
413ae32e339142ec8a9e1419b28adb98
PHASE(phi_ent₂)
d17a8c3078284f5d97fe6615d0cd3059--413ae32e339142ec8a9e1419b28adb98
413ae32e339142ec8a9e1419b28adb98--2017ac25850b49bf841a0590f5c8d44b
453750ebe4584b1e8a4d3bc058bd6422
413ae32e339142ec8a9e1419b28adb98--453750ebe4584b1e8a4d3bc058bd6422
453750ebe4584b1e8a4d3bc058bd6422--4379643cf9924b4b8b21a50f8950b76f
02e10071c8044c41b6a8243579f7de0b
fe83e99ae96640b89ae3dc833531e83f
RX(phi₂)
81b5b72c52424389b276080ef83caba6--fe83e99ae96640b89ae3dc833531e83f
48a045b83aae4e158c11b007a2462884
RY(phi₅)
fe83e99ae96640b89ae3dc833531e83f--48a045b83aae4e158c11b007a2462884
36217a43e6504709ba6d24d845c034e7
RX(phi₈)
48a045b83aae4e158c11b007a2462884--36217a43e6504709ba6d24d845c034e7
4c09e3b9ee344f3e819f17d69e92a0aa
36217a43e6504709ba6d24d845c034e7--4c09e3b9ee344f3e819f17d69e92a0aa
13c166bb7a11419786189c4f4fa39cbe
PHASE(phi_ent₁)
4c09e3b9ee344f3e819f17d69e92a0aa--13c166bb7a11419786189c4f4fa39cbe
13c166bb7a11419786189c4f4fa39cbe--3ad0b69acb1a447e96f1d65ff1693da7
2b35ca18ee5d4e00ad6009439c42cfad
RX(phi₁₁)
13c166bb7a11419786189c4f4fa39cbe--2b35ca18ee5d4e00ad6009439c42cfad
ad135be4d9c548a9ba4f1cb85616c159
RY(phi₁₄)
2b35ca18ee5d4e00ad6009439c42cfad--ad135be4d9c548a9ba4f1cb85616c159
9869cd5422bd437f9ef2b74d8f46f39c
RX(phi₁₇)
ad135be4d9c548a9ba4f1cb85616c159--9869cd5422bd437f9ef2b74d8f46f39c
44e37fa39a94495cbd28c6cfc5535dd8
9869cd5422bd437f9ef2b74d8f46f39c--44e37fa39a94495cbd28c6cfc5535dd8
dd72e3ed47b44f4289dd0c631d885a37
PHASE(phi_ent₃)
44e37fa39a94495cbd28c6cfc5535dd8--dd72e3ed47b44f4289dd0c631d885a37
dd72e3ed47b44f4289dd0c631d885a37--453750ebe4584b1e8a4d3bc058bd6422
dd72e3ed47b44f4289dd0c631d885a37--02e10071c8044c41b6a8243579f7de0b
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_e5b8d18418194583a1086912a2119602
cluster_2904af808e7f493ca1107ebc83bbf3d5
e6e9d1c4736644fb985adfc09a152414
0
1309160f0ac544af8a2fde6251fbd65e
RX(theta₀)
e6e9d1c4736644fb985adfc09a152414--1309160f0ac544af8a2fde6251fbd65e
60296843ce5741d096be808719aecd5a
1
7dfa39d486ed4f8594c7bc7d6ef6070b
RY(theta₃)
1309160f0ac544af8a2fde6251fbd65e--7dfa39d486ed4f8594c7bc7d6ef6070b
3db935650f664584bb7db145163240c5
RX(theta₆)
7dfa39d486ed4f8594c7bc7d6ef6070b--3db935650f664584bb7db145163240c5
0362792132b64eaf81d42ebe54db5e2f
HamEvo
3db935650f664584bb7db145163240c5--0362792132b64eaf81d42ebe54db5e2f
304ff17eedfc407d8ce1ce35ead75506
RX(theta₉)
0362792132b64eaf81d42ebe54db5e2f--304ff17eedfc407d8ce1ce35ead75506
4d4140acdc1a48d598a67387676e7954
RY(theta₁₂)
304ff17eedfc407d8ce1ce35ead75506--4d4140acdc1a48d598a67387676e7954
729bac9de8d54b6b9b88c6b32fe58f0f
RX(theta₁₅)
4d4140acdc1a48d598a67387676e7954--729bac9de8d54b6b9b88c6b32fe58f0f
163322f62c594888ba62dfece0536a4e
HamEvo
729bac9de8d54b6b9b88c6b32fe58f0f--163322f62c594888ba62dfece0536a4e
7d5c28c11a45499db80128a8a4a87337
163322f62c594888ba62dfece0536a4e--7d5c28c11a45499db80128a8a4a87337
bd8b67bae2a94562ba59d433924df6d9
39a95c21923f4d3fa03391422c6e3d89
RX(theta₁)
60296843ce5741d096be808719aecd5a--39a95c21923f4d3fa03391422c6e3d89
a6e1ef1fe5cd462795bd44077dd7bbb4
2
dc87a85961d34466ba440ff2e7c4884b
RY(theta₄)
39a95c21923f4d3fa03391422c6e3d89--dc87a85961d34466ba440ff2e7c4884b
ae108e5c96b24dbb9e343e73a8b9c7df
RX(theta₇)
dc87a85961d34466ba440ff2e7c4884b--ae108e5c96b24dbb9e343e73a8b9c7df
2dedab57109f49ee98b630192835ce39
t = theta_t₀
ae108e5c96b24dbb9e343e73a8b9c7df--2dedab57109f49ee98b630192835ce39
90b5514d78f149c291f8b8c0aece4441
RX(theta₁₀)
2dedab57109f49ee98b630192835ce39--90b5514d78f149c291f8b8c0aece4441
d18ebc2e2e374471a3c138bdc63fcc61
RY(theta₁₃)
90b5514d78f149c291f8b8c0aece4441--d18ebc2e2e374471a3c138bdc63fcc61
a10be39ce06e4c949655f874d3807fef
RX(theta₁₆)
d18ebc2e2e374471a3c138bdc63fcc61--a10be39ce06e4c949655f874d3807fef
63a09bacf0824d0fbeffbff27c5dc62d
t = theta_t₁
a10be39ce06e4c949655f874d3807fef--63a09bacf0824d0fbeffbff27c5dc62d
63a09bacf0824d0fbeffbff27c5dc62d--bd8b67bae2a94562ba59d433924df6d9
fc1d2f64ff9d4be18122a92ac09a8301
9894f26bca8940d480109166499ef171
RX(theta₂)
a6e1ef1fe5cd462795bd44077dd7bbb4--9894f26bca8940d480109166499ef171
3bcf5a45d072455fb3b19781502e857e
RY(theta₅)
9894f26bca8940d480109166499ef171--3bcf5a45d072455fb3b19781502e857e
f25595d1a920416a93e31de5c2bf7e73
RX(theta₈)
3bcf5a45d072455fb3b19781502e857e--f25595d1a920416a93e31de5c2bf7e73
7ea14133327641c1b8e55941af64faa7
f25595d1a920416a93e31de5c2bf7e73--7ea14133327641c1b8e55941af64faa7
a9b4e98fc6fb47a19a193ac8ccad0029
RX(theta₁₁)
7ea14133327641c1b8e55941af64faa7--a9b4e98fc6fb47a19a193ac8ccad0029
7e94b3b0fd114e8d953f2429cf00bf35
RY(theta₁₄)
a9b4e98fc6fb47a19a193ac8ccad0029--7e94b3b0fd114e8d953f2429cf00bf35
bc4d1d9f53e6433e89926fe7f39bf844
RX(theta₁₇)
7e94b3b0fd114e8d953f2429cf00bf35--bc4d1d9f53e6433e89926fe7f39bf844
a35a884f7c3f4c489ee376d0c44543f3
bc4d1d9f53e6433e89926fe7f39bf844--a35a884f7c3f4c489ee376d0c44543f3
a35a884f7c3f4c489ee376d0c44543f3--fc1d2f64ff9d4be18122a92ac09a8301
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_70de25f067f148e18202cdb53460487e
cluster_ac38c793cc9c4427a4363ba919a38233
f69076b9fa3141d8a29bca34be3feddb
0
414702b89c30443d987ab0f7976f5f6c
RX(theta₀)
f69076b9fa3141d8a29bca34be3feddb--414702b89c30443d987ab0f7976f5f6c
8030523c5ce84d36a9bba9419917948b
1
235d9d61cb014b65a764a1423853097e
RY(theta₆)
414702b89c30443d987ab0f7976f5f6c--235d9d61cb014b65a764a1423853097e
87e205f238f748099be28198b98153c7
RX(theta₁₂)
235d9d61cb014b65a764a1423853097e--87e205f238f748099be28198b98153c7
2b04a48d8989424ba9216d5c5b277ec6
87e205f238f748099be28198b98153c7--2b04a48d8989424ba9216d5c5b277ec6
555d97bca8674401809647e08449e78a
RX(theta₁₈)
2b04a48d8989424ba9216d5c5b277ec6--555d97bca8674401809647e08449e78a
981c725ec2dc4ba88a6838eeac9fe468
RY(theta₂₄)
555d97bca8674401809647e08449e78a--981c725ec2dc4ba88a6838eeac9fe468
dd9c671ef0e740688b6dbb8456454222
RX(theta₃₀)
981c725ec2dc4ba88a6838eeac9fe468--dd9c671ef0e740688b6dbb8456454222
c745463e3fc74535a75ad5fee1fa823a
dd9c671ef0e740688b6dbb8456454222--c745463e3fc74535a75ad5fee1fa823a
d113a969d1f1495c85546d344363be79
c745463e3fc74535a75ad5fee1fa823a--d113a969d1f1495c85546d344363be79
0e59c5abf57b4ad9b44934a3e174205a
36cd327e765844318d1888d578f0c452
RX(theta₁)
8030523c5ce84d36a9bba9419917948b--36cd327e765844318d1888d578f0c452
97214d612644424991a564c246ea9a1d
2
8c9ca4a1a8f2414cb0d803b5e8fd33e9
RY(theta₇)
36cd327e765844318d1888d578f0c452--8c9ca4a1a8f2414cb0d803b5e8fd33e9
ea20a16a7ddb42509294ba7f284bd720
RX(theta₁₃)
8c9ca4a1a8f2414cb0d803b5e8fd33e9--ea20a16a7ddb42509294ba7f284bd720
f0fd0144a09e47049b41ca9688323add
ea20a16a7ddb42509294ba7f284bd720--f0fd0144a09e47049b41ca9688323add
1f63102a9a7c4c40a767edf70cc6d1ad
RX(theta₁₉)
f0fd0144a09e47049b41ca9688323add--1f63102a9a7c4c40a767edf70cc6d1ad
0bc472fb3f4a4c1bb89802a83a63ad3a
RY(theta₂₅)
1f63102a9a7c4c40a767edf70cc6d1ad--0bc472fb3f4a4c1bb89802a83a63ad3a
521643c1e26d4ba5b13a6cb469a7fc17
RX(theta₃₁)
0bc472fb3f4a4c1bb89802a83a63ad3a--521643c1e26d4ba5b13a6cb469a7fc17
060a20046096467992bf534fcc643f38
521643c1e26d4ba5b13a6cb469a7fc17--060a20046096467992bf534fcc643f38
060a20046096467992bf534fcc643f38--0e59c5abf57b4ad9b44934a3e174205a
e7641fe6c1154bbdbc8961abeae2feee
8ff9079c1e8a4c83ad30b4482ff8ad36
RX(theta₂)
97214d612644424991a564c246ea9a1d--8ff9079c1e8a4c83ad30b4482ff8ad36
28258f447e5d4b9f9257e40954e22b9a
3
917ceae1fb8041c7b6e4da8f5ee5b949
RY(theta₈)
8ff9079c1e8a4c83ad30b4482ff8ad36--917ceae1fb8041c7b6e4da8f5ee5b949
eb5fe901246a463aa47ec0847eb7d0aa
RX(theta₁₄)
917ceae1fb8041c7b6e4da8f5ee5b949--eb5fe901246a463aa47ec0847eb7d0aa
4462bc00a9de47f39e81a02cac303c47
HamEvo
eb5fe901246a463aa47ec0847eb7d0aa--4462bc00a9de47f39e81a02cac303c47
925a7ef8efcd4a2293d74e01072383d0
RX(theta₂₀)
4462bc00a9de47f39e81a02cac303c47--925a7ef8efcd4a2293d74e01072383d0
99a559805aac4aff85a4020b0f21e0ff
RY(theta₂₆)
925a7ef8efcd4a2293d74e01072383d0--99a559805aac4aff85a4020b0f21e0ff
61d00070ac6c4a5f994085e20d709a90
RX(theta₃₂)
99a559805aac4aff85a4020b0f21e0ff--61d00070ac6c4a5f994085e20d709a90
aa0db7c948774aaa93763f3b3eab950e
HamEvo
61d00070ac6c4a5f994085e20d709a90--aa0db7c948774aaa93763f3b3eab950e
aa0db7c948774aaa93763f3b3eab950e--e7641fe6c1154bbdbc8961abeae2feee
37b3e26ec99e4a948ad8e3ea62d3173b
51f92c9439da4afca7e30d6ac3bb07d2
RX(theta₃)
28258f447e5d4b9f9257e40954e22b9a--51f92c9439da4afca7e30d6ac3bb07d2
38b28f86478f48eab8a424e7e6148df3
4
81a8cb702d914403a72fc517a601fd5a
RY(theta₉)
51f92c9439da4afca7e30d6ac3bb07d2--81a8cb702d914403a72fc517a601fd5a
df8bc479d3334f57b5d54763bfb269c8
RX(theta₁₅)
81a8cb702d914403a72fc517a601fd5a--df8bc479d3334f57b5d54763bfb269c8
eed69c6794eb409ba53abe508bb08720
t = theta_t₀
df8bc479d3334f57b5d54763bfb269c8--eed69c6794eb409ba53abe508bb08720
44603ee9a2204c5ebb524e19caf4bd00
RX(theta₂₁)
eed69c6794eb409ba53abe508bb08720--44603ee9a2204c5ebb524e19caf4bd00
ac341846fb3b41a7a626336a5849db33
RY(theta₂₇)
44603ee9a2204c5ebb524e19caf4bd00--ac341846fb3b41a7a626336a5849db33
97882eba91e14954b095dfff5298b99f
RX(theta₃₃)
ac341846fb3b41a7a626336a5849db33--97882eba91e14954b095dfff5298b99f
6fa36b43c6874409a36e4cb51f3e4595
t = theta_t₁
97882eba91e14954b095dfff5298b99f--6fa36b43c6874409a36e4cb51f3e4595
6fa36b43c6874409a36e4cb51f3e4595--37b3e26ec99e4a948ad8e3ea62d3173b
fb3ec63b46e54af7b6ab738df2c4d5f7
ac1615997b254c7a8f0eab952e6fb1af
RX(theta₄)
38b28f86478f48eab8a424e7e6148df3--ac1615997b254c7a8f0eab952e6fb1af
cf09f63536bf4b4d84d2174cb9fa5e39
5
a6204cf6a651496fa70e04b7fa235f12
RY(theta₁₀)
ac1615997b254c7a8f0eab952e6fb1af--a6204cf6a651496fa70e04b7fa235f12
83b263c3d87e456a99f77a753981c0d1
RX(theta₁₆)
a6204cf6a651496fa70e04b7fa235f12--83b263c3d87e456a99f77a753981c0d1
e087cfe96ce94644a87534142d55323c
83b263c3d87e456a99f77a753981c0d1--e087cfe96ce94644a87534142d55323c
3c64427d7d3a404296c660081a918300
RX(theta₂₂)
e087cfe96ce94644a87534142d55323c--3c64427d7d3a404296c660081a918300
53021248681d418193caac6016fcaa13
RY(theta₂₈)
3c64427d7d3a404296c660081a918300--53021248681d418193caac6016fcaa13
24efdefb96544c86b37202bae43f4ef2
RX(theta₃₄)
53021248681d418193caac6016fcaa13--24efdefb96544c86b37202bae43f4ef2
766a4b0d41b845759e3f0a508711f960
24efdefb96544c86b37202bae43f4ef2--766a4b0d41b845759e3f0a508711f960
766a4b0d41b845759e3f0a508711f960--fb3ec63b46e54af7b6ab738df2c4d5f7
629782e00c8c4943b9d4b43da14c2171
bb928e8440ae4f859aeeb2e44cdcd687
RX(theta₅)
cf09f63536bf4b4d84d2174cb9fa5e39--bb928e8440ae4f859aeeb2e44cdcd687
fb5dc6b6b35a4b3ba1aaa560611ba533
RY(theta₁₁)
bb928e8440ae4f859aeeb2e44cdcd687--fb5dc6b6b35a4b3ba1aaa560611ba533
2498018e9eda422c93aa7f7fd5abdd01
RX(theta₁₇)
fb5dc6b6b35a4b3ba1aaa560611ba533--2498018e9eda422c93aa7f7fd5abdd01
8ccd13b3933c45eb8e67f100abeeeccc
2498018e9eda422c93aa7f7fd5abdd01--8ccd13b3933c45eb8e67f100abeeeccc
f1d35d309eab40e8a1a7ca5c2db9a288
RX(theta₂₃)
8ccd13b3933c45eb8e67f100abeeeccc--f1d35d309eab40e8a1a7ca5c2db9a288
805e129d758648f2836ab24ca35096b0
RY(theta₂₉)
f1d35d309eab40e8a1a7ca5c2db9a288--805e129d758648f2836ab24ca35096b0
f78d0310828344e3bebcde97f7a0a7b1
RX(theta₃₅)
805e129d758648f2836ab24ca35096b0--f78d0310828344e3bebcde97f7a0a7b1
c1b0e1bce0fa47f7a525fa88c4c30271
f78d0310828344e3bebcde97f7a0a7b1--c1b0e1bce0fa47f7a525fa88c4c30271
c1b0e1bce0fa47f7a525fa88c4c30271--629782e00c8c4943b9d4b43da14c2171
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_2f569ec9be2b48339131afd3aaabc141
BPMA-1
cluster_11e0a982164d4348acee0bf775f1ec42
BPMA-0
d3fe20798fbe46879285b551fb43e0ff
0
b9ca59ee74014fc0bf5f34022992640e
RX(alpha₀₀)
d3fe20798fbe46879285b551fb43e0ff--b9ca59ee74014fc0bf5f34022992640e
f073748baf8546c99b2e35536763d0cd
1
15e7374b72e944748303de813ca34c2f
RY(alpha₀₃)
b9ca59ee74014fc0bf5f34022992640e--15e7374b72e944748303de813ca34c2f
114cb13514db4a2b90bde148a7c7e1f1
15e7374b72e944748303de813ca34c2f--114cb13514db4a2b90bde148a7c7e1f1
a2443af61eb24e22afadf1cffc6f56b3
114cb13514db4a2b90bde148a7c7e1f1--a2443af61eb24e22afadf1cffc6f56b3
6c00c62418c64e349234283a324e977c
RX(gamma₀₀)
a2443af61eb24e22afadf1cffc6f56b3--6c00c62418c64e349234283a324e977c
b70ec7ceb3bf4c48b3217ec0d156b0db
6c00c62418c64e349234283a324e977c--b70ec7ceb3bf4c48b3217ec0d156b0db
862b889da70345ff8206fcebe95f5b87
b70ec7ceb3bf4c48b3217ec0d156b0db--862b889da70345ff8206fcebe95f5b87
8dc54564096c4a70879273de1027b58e
RY(beta₀₃)
862b889da70345ff8206fcebe95f5b87--8dc54564096c4a70879273de1027b58e
2c25f134b80845b3bd84ed4688d0593d
RX(beta₀₀)
8dc54564096c4a70879273de1027b58e--2c25f134b80845b3bd84ed4688d0593d
1fd8e983e47045e090c4b794c6d034d5
RX(alpha₁₀)
2c25f134b80845b3bd84ed4688d0593d--1fd8e983e47045e090c4b794c6d034d5
81a62a9fc19c44e6b7ed8cb74bc24ffe
RY(alpha₁₃)
1fd8e983e47045e090c4b794c6d034d5--81a62a9fc19c44e6b7ed8cb74bc24ffe
f345303139754e5aa6192ff7edc8c20f
81a62a9fc19c44e6b7ed8cb74bc24ffe--f345303139754e5aa6192ff7edc8c20f
85293017cd9f430791cf38bdfbd7549e
f345303139754e5aa6192ff7edc8c20f--85293017cd9f430791cf38bdfbd7549e
54709188ed5f4314a11941133de3213d
RX(gamma₁₀)
85293017cd9f430791cf38bdfbd7549e--54709188ed5f4314a11941133de3213d
60fd777074a14ec6964553e645e77ba2
54709188ed5f4314a11941133de3213d--60fd777074a14ec6964553e645e77ba2
1ba300ce6405434888960ac066acbc77
60fd777074a14ec6964553e645e77ba2--1ba300ce6405434888960ac066acbc77
193f7299b2614963990f89fc722ababf
RY(beta₁₃)
1ba300ce6405434888960ac066acbc77--193f7299b2614963990f89fc722ababf
29d0b78d6b4d41cabb8e99f10cd00021
RX(beta₁₀)
193f7299b2614963990f89fc722ababf--29d0b78d6b4d41cabb8e99f10cd00021
f683c812d570451b897173e01fa88312
29d0b78d6b4d41cabb8e99f10cd00021--f683c812d570451b897173e01fa88312
0fb07bc9410d4dc89d5b7a57627ecda7
4c520eace77d4ece9c337d399fe31574
RX(alpha₀₁)
f073748baf8546c99b2e35536763d0cd--4c520eace77d4ece9c337d399fe31574
93104046eded4ca08db909a993aa4366
2
3ace8a9de3f44abb98a92ef32841c641
RY(alpha₀₄)
4c520eace77d4ece9c337d399fe31574--3ace8a9de3f44abb98a92ef32841c641
b244d834f1704db5b9fbaad657b21484
X
3ace8a9de3f44abb98a92ef32841c641--b244d834f1704db5b9fbaad657b21484
b244d834f1704db5b9fbaad657b21484--114cb13514db4a2b90bde148a7c7e1f1
d985690df99e45f08d0974f4f487517a
b244d834f1704db5b9fbaad657b21484--d985690df99e45f08d0974f4f487517a
79faaf7509ae48c3ad35db8ed9b582dc
RX(gamma₀₁)
d985690df99e45f08d0974f4f487517a--79faaf7509ae48c3ad35db8ed9b582dc
9808cd367e8c42db9dee52c49bf117a4
79faaf7509ae48c3ad35db8ed9b582dc--9808cd367e8c42db9dee52c49bf117a4
a61c591054a14d4f88e2dda94ce19737
X
9808cd367e8c42db9dee52c49bf117a4--a61c591054a14d4f88e2dda94ce19737
a61c591054a14d4f88e2dda94ce19737--862b889da70345ff8206fcebe95f5b87
d8f92553a11d47348006d599e018c559
RY(beta₀₄)
a61c591054a14d4f88e2dda94ce19737--d8f92553a11d47348006d599e018c559
42ebd72429c046fbb9ef17ab891ff4a2
RX(beta₀₁)
d8f92553a11d47348006d599e018c559--42ebd72429c046fbb9ef17ab891ff4a2
4545af0635d740cbab200efa5ab57d85
RX(alpha₁₁)
42ebd72429c046fbb9ef17ab891ff4a2--4545af0635d740cbab200efa5ab57d85
3cbe2761b3b6477aba7e30522bd26545
RY(alpha₁₄)
4545af0635d740cbab200efa5ab57d85--3cbe2761b3b6477aba7e30522bd26545
a86979b3b483467bbed9b26c0442d7b9
X
3cbe2761b3b6477aba7e30522bd26545--a86979b3b483467bbed9b26c0442d7b9
a86979b3b483467bbed9b26c0442d7b9--f345303139754e5aa6192ff7edc8c20f
9ed1f0b668ee4ebd97fa6954abbd56b2
a86979b3b483467bbed9b26c0442d7b9--9ed1f0b668ee4ebd97fa6954abbd56b2
34653e484ac041dc97ffeac8ff239d76
RX(gamma₁₁)
9ed1f0b668ee4ebd97fa6954abbd56b2--34653e484ac041dc97ffeac8ff239d76
e459a3e950f045459c143d94109a0f4e
34653e484ac041dc97ffeac8ff239d76--e459a3e950f045459c143d94109a0f4e
fc75af14d67e424bae8853d51315b4a2
X
e459a3e950f045459c143d94109a0f4e--fc75af14d67e424bae8853d51315b4a2
fc75af14d67e424bae8853d51315b4a2--1ba300ce6405434888960ac066acbc77
e5154c3a3ab348d5a27d915acc9f67fc
RY(beta₁₄)
fc75af14d67e424bae8853d51315b4a2--e5154c3a3ab348d5a27d915acc9f67fc
d26e1f1d2b9a45d0a68b1c1becf19295
RX(beta₁₁)
e5154c3a3ab348d5a27d915acc9f67fc--d26e1f1d2b9a45d0a68b1c1becf19295
d26e1f1d2b9a45d0a68b1c1becf19295--0fb07bc9410d4dc89d5b7a57627ecda7
baf8c8abd9924eaeb94468ccd5c60a54
21a90f47320f4e7d89ff272a55d960f7
RX(alpha₀₂)
93104046eded4ca08db909a993aa4366--21a90f47320f4e7d89ff272a55d960f7
1ede056ab3a94088a36b4d5e0d5fe16c
RY(alpha₀₅)
21a90f47320f4e7d89ff272a55d960f7--1ede056ab3a94088a36b4d5e0d5fe16c
e1f2430057804c70a34eae0d61226a9e
1ede056ab3a94088a36b4d5e0d5fe16c--e1f2430057804c70a34eae0d61226a9e
985e23e5bea8488cb42f1a32fb030489
X
e1f2430057804c70a34eae0d61226a9e--985e23e5bea8488cb42f1a32fb030489
985e23e5bea8488cb42f1a32fb030489--d985690df99e45f08d0974f4f487517a
dcf45a64f6f04d2c8845b6f0b9183877
RX(gamma₀₂)
985e23e5bea8488cb42f1a32fb030489--dcf45a64f6f04d2c8845b6f0b9183877
71c6844dd4aa4a799d0ec4ada0ec8562
X
dcf45a64f6f04d2c8845b6f0b9183877--71c6844dd4aa4a799d0ec4ada0ec8562
71c6844dd4aa4a799d0ec4ada0ec8562--9808cd367e8c42db9dee52c49bf117a4
41546b1607d04ae7b6b99c3066e34c76
71c6844dd4aa4a799d0ec4ada0ec8562--41546b1607d04ae7b6b99c3066e34c76
63beddcb335648bc85c928f813c58eb3
RY(beta₀₅)
41546b1607d04ae7b6b99c3066e34c76--63beddcb335648bc85c928f813c58eb3
8b205d4663b74da2ba4a6c856c57e602
RX(beta₀₂)
63beddcb335648bc85c928f813c58eb3--8b205d4663b74da2ba4a6c856c57e602
ae64891ba9c847a383cbd78d46dcc4d4
RX(alpha₁₂)
8b205d4663b74da2ba4a6c856c57e602--ae64891ba9c847a383cbd78d46dcc4d4
c93d2c8006074852b4fab1a38ff42b30
RY(alpha₁₅)
ae64891ba9c847a383cbd78d46dcc4d4--c93d2c8006074852b4fab1a38ff42b30
b1362bb1b17b4abb9bf61f9ff631d532
c93d2c8006074852b4fab1a38ff42b30--b1362bb1b17b4abb9bf61f9ff631d532
e7583034930b4d23a14cd5b10f6e6d5c
X
b1362bb1b17b4abb9bf61f9ff631d532--e7583034930b4d23a14cd5b10f6e6d5c
e7583034930b4d23a14cd5b10f6e6d5c--9ed1f0b668ee4ebd97fa6954abbd56b2
762e760cb9d34f899dac895d4f1cd58b
RX(gamma₁₂)
e7583034930b4d23a14cd5b10f6e6d5c--762e760cb9d34f899dac895d4f1cd58b
1db7ef49dcef4cf99e4062f97c428dcf
X
762e760cb9d34f899dac895d4f1cd58b--1db7ef49dcef4cf99e4062f97c428dcf
1db7ef49dcef4cf99e4062f97c428dcf--e459a3e950f045459c143d94109a0f4e
7179f0357dc94fa08ceaf3efffde86c8
1db7ef49dcef4cf99e4062f97c428dcf--7179f0357dc94fa08ceaf3efffde86c8
2225eadbf7d647c99c5cf0ba7edf38b4
RY(beta₁₅)
7179f0357dc94fa08ceaf3efffde86c8--2225eadbf7d647c99c5cf0ba7edf38b4
969314f958a3496fad044cae702a6ece
RX(beta₁₂)
2225eadbf7d647c99c5cf0ba7edf38b4--969314f958a3496fad044cae702a6ece
969314f958a3496fad044cae702a6ece--baf8c8abd9924eaeb94468ccd5c60a54