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_df2f4a99531247c18a65a20b761f92e0
Constant Chebyshev FM
cluster_b8aeb4a0052b4a9b82326dde3d9c8dc8
Constant Fourier FM
3daca02a57124b188c2cf009db4bc007
0
782b7e8a3fd7484188f8cfec1daa2b7a
RX(phi)
3daca02a57124b188c2cf009db4bc007--782b7e8a3fd7484188f8cfec1daa2b7a
1739c7b9f6dd4a8d806295d79df27bab
1
46ea2d9780f549ff9c599922892baede
RX(acos(phi))
782b7e8a3fd7484188f8cfec1daa2b7a--46ea2d9780f549ff9c599922892baede
693bd15ea2114ab8b082a9c3c270c5e7
46ea2d9780f549ff9c599922892baede--693bd15ea2114ab8b082a9c3c270c5e7
9d61c9b9c9624d18bab4513e7e40a51a
de71eaa2773d448fa21d82e184d1c2ca
RX(phi)
1739c7b9f6dd4a8d806295d79df27bab--de71eaa2773d448fa21d82e184d1c2ca
5fac9104c20047719452f9ab601bdae9
2
9b0e21e3f9df4a9cbe6c4acb83ff0870
RX(acos(phi))
de71eaa2773d448fa21d82e184d1c2ca--9b0e21e3f9df4a9cbe6c4acb83ff0870
9b0e21e3f9df4a9cbe6c4acb83ff0870--9d61c9b9c9624d18bab4513e7e40a51a
f5f4449a1a4442b183b7d99c100d5353
64047b1f3ff84f1ca826faf9794e5f32
RX(phi)
5fac9104c20047719452f9ab601bdae9--64047b1f3ff84f1ca826faf9794e5f32
d7b5f02da5004795b46ea3830e008077
RX(acos(phi))
64047b1f3ff84f1ca826faf9794e5f32--d7b5f02da5004795b46ea3830e008077
d7b5f02da5004795b46ea3830e008077--f5f4449a1a4442b183b7d99c100d5353
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_81646814eb3e489fbfbc6f49e69e0ae1
Constant custom_func FM
cluster_08fa473087814e188d2bcdd19430575e
Constant asin FM
2d2bedf730c544db977094818eb8f3f1
0
257e7909033748a78c401bbb4ba29039
RX(asin(phi))
2d2bedf730c544db977094818eb8f3f1--257e7909033748a78c401bbb4ba29039
38e21bff6aa04397bef9c6d587c2873b
1
3eaafa9bbda846aeb8901ae42f542f39
RX(phi**2 + asin(phi))
257e7909033748a78c401bbb4ba29039--3eaafa9bbda846aeb8901ae42f542f39
4486cd5275f149e3825c231b1ea9550f
3eaafa9bbda846aeb8901ae42f542f39--4486cd5275f149e3825c231b1ea9550f
c1f675c574c14be9b3fabe6316c7ed1b
cf16edbefaec406db3b59bb2287b7429
RX(asin(phi))
38e21bff6aa04397bef9c6d587c2873b--cf16edbefaec406db3b59bb2287b7429
28fd9d692f204e12b1b3ef04cada80bf
2
cfd54b54f6f84cd68c2ea44f41019a73
RX(phi**2 + asin(phi))
cf16edbefaec406db3b59bb2287b7429--cfd54b54f6f84cd68c2ea44f41019a73
cfd54b54f6f84cd68c2ea44f41019a73--c1f675c574c14be9b3fabe6316c7ed1b
fa0123ef32714b7f846d4cbe295595ce
5bdc9756293d4e5fad912990503b75f4
RX(asin(phi))
28fd9d692f204e12b1b3ef04cada80bf--5bdc9756293d4e5fad912990503b75f4
302f3872ddc743618a0855acd9246d5b
RX(phi**2 + asin(phi))
5bdc9756293d4e5fad912990503b75f4--302f3872ddc743618a0855acd9246d5b
302f3872ddc743618a0855acd9246d5b--fa0123ef32714b7f846d4cbe295595ce
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_5292d16e62134521958e9ca375f8e76c
Exponential Fourier FM
cluster_29570887be714929a5b4a7f4291c59a0
Constant Fourier FM
cluster_5bf9c55496f64adc9e3c75bbb938ddb3
Tower Fourier FM
45e4bd16699e4d69bfc67d12c3ef46cf
0
0cbabea9f3504c25afe24035c4056a3e
RX(phi)
45e4bd16699e4d69bfc67d12c3ef46cf--0cbabea9f3504c25afe24035c4056a3e
39f1399000cf477c9c121a1029e8c9ed
1
72abeea1f3c643d3bf6265bd5c96fb6f
RX(1.0*phi)
0cbabea9f3504c25afe24035c4056a3e--72abeea1f3c643d3bf6265bd5c96fb6f
228d38dda1f44f439b98ad2d0ae52f6f
RX(1.0*phi)
72abeea1f3c643d3bf6265bd5c96fb6f--228d38dda1f44f439b98ad2d0ae52f6f
eab0e787df85492b99ad2e2e77f0761a
228d38dda1f44f439b98ad2d0ae52f6f--eab0e787df85492b99ad2e2e77f0761a
dec6eeb7fd3943e7ac8bce4d77f50906
7e0edbcd05af46868c48c605ac58c400
RX(phi)
39f1399000cf477c9c121a1029e8c9ed--7e0edbcd05af46868c48c605ac58c400
e3e4c074529e44baa83f2d2bebe1619c
2
e6e5fe390ad44f82826be1976ded8ba2
RX(2.0*phi)
7e0edbcd05af46868c48c605ac58c400--e6e5fe390ad44f82826be1976ded8ba2
749e4b2b71884f8d8f43493d2213788c
RX(2.0*phi)
e6e5fe390ad44f82826be1976ded8ba2--749e4b2b71884f8d8f43493d2213788c
749e4b2b71884f8d8f43493d2213788c--dec6eeb7fd3943e7ac8bce4d77f50906
526a0c35f7654238bec71456b4d0f3ff
ebd70667ff5248cb888dae58d0757bf8
RX(phi)
e3e4c074529e44baa83f2d2bebe1619c--ebd70667ff5248cb888dae58d0757bf8
102cb219b0aa4bb8b14400471d31ea1a
3
e210d481339d47dfa448f6ebfca55f06
RX(3.0*phi)
ebd70667ff5248cb888dae58d0757bf8--e210d481339d47dfa448f6ebfca55f06
282fc098c7df4daebdf98374e4f6ff8e
RX(4.0*phi)
e210d481339d47dfa448f6ebfca55f06--282fc098c7df4daebdf98374e4f6ff8e
282fc098c7df4daebdf98374e4f6ff8e--526a0c35f7654238bec71456b4d0f3ff
a57ec3d57c2e4f4fa781e9f57199a29b
dd9178db303b4e429b80004777af876f
RX(phi)
102cb219b0aa4bb8b14400471d31ea1a--dd9178db303b4e429b80004777af876f
a65be922b9d44d32b54e9ad2ad1d0026
4
121a408ab36f4b6fab04965576ff606b
RX(4.0*phi)
dd9178db303b4e429b80004777af876f--121a408ab36f4b6fab04965576ff606b
7080b096ead6498fa64295fa65929174
RX(8.0*phi)
121a408ab36f4b6fab04965576ff606b--7080b096ead6498fa64295fa65929174
7080b096ead6498fa64295fa65929174--a57ec3d57c2e4f4fa781e9f57199a29b
eaddc75175bf4ec0882a4d25641cf96d
1a690f1bbeb94ba1bc75d77db7f54ef6
RX(phi)
a65be922b9d44d32b54e9ad2ad1d0026--1a690f1bbeb94ba1bc75d77db7f54ef6
4adf7b84a94545b1b0409dc0d57dff7a
RX(5.0*phi)
1a690f1bbeb94ba1bc75d77db7f54ef6--4adf7b84a94545b1b0409dc0d57dff7a
080b1147c8014291b8f55ccaba244ce2
RX(16.0*phi)
4adf7b84a94545b1b0409dc0d57dff7a--080b1147c8014291b8f55ccaba244ce2
080b1147c8014291b8f55ccaba244ce2--eaddc75175bf4ec0882a4d25641cf96d
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
22467f27b61745e7b9f62279793e3135
0
c3d96e14ac8d44f897025ae9fcc94b4b
RX(1.0*acos(phi))
22467f27b61745e7b9f62279793e3135--c3d96e14ac8d44f897025ae9fcc94b4b
81f6d5b0f2c94f978604589d967763f5
1
d5308b74ac5a4e12870ec2a9ddbb4ffc
c3d96e14ac8d44f897025ae9fcc94b4b--d5308b74ac5a4e12870ec2a9ddbb4ffc
5270f76ddc0344f8ace3b5ded1c2dee9
fb9ec636784e413e9d7389b208e1ac1e
RX(1.414*acos(phi))
81f6d5b0f2c94f978604589d967763f5--fb9ec636784e413e9d7389b208e1ac1e
bb2af327d0874d86842268b6d53fd069
2
fb9ec636784e413e9d7389b208e1ac1e--5270f76ddc0344f8ace3b5ded1c2dee9
6fada0eebed94915932f60c51694de29
08093477d0ea45afb69ba6378b7672aa
RX(1.732*acos(phi))
bb2af327d0874d86842268b6d53fd069--08093477d0ea45afb69ba6378b7672aa
f47d50ae86474a02a697ea7c452f38ba
3
08093477d0ea45afb69ba6378b7672aa--6fada0eebed94915932f60c51694de29
eeb9f5452ffd4818907584217fa0f446
db21d73855a44a2cb0d73162a6b26372
RX(2.0*acos(phi))
f47d50ae86474a02a697ea7c452f38ba--db21d73855a44a2cb0d73162a6b26372
66311988134b46759e7a0fb240926b07
4
db21d73855a44a2cb0d73162a6b26372--eeb9f5452ffd4818907584217fa0f446
b1f88a5c53734a87a08a797c0ddf5c0c
9c63733bd361452dbfef2f220577f5e3
RX(2.236*acos(phi))
66311988134b46759e7a0fb240926b07--9c63733bd361452dbfef2f220577f5e3
9c63733bd361452dbfef2f220577f5e3--b1f88a5c53734a87a08a797c0ddf5c0c
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
e2a18187704042a4956e86fd2833c482
0
3d697a08c4794421b71ce7e0f92baed0
RY(80.0*acos(0.667*x + 1.667))
e2a18187704042a4956e86fd2833c482--3d697a08c4794421b71ce7e0f92baed0
394246b1aaee4d90b36bb5f58215322d
1
d37660320c654fe1854f2e36cda06bf3
3d697a08c4794421b71ce7e0f92baed0--d37660320c654fe1854f2e36cda06bf3
5d188d8b088140698f009a8e25bad55d
d208559b4eb84ef585d9c004df340837
RY(40.0*acos(0.667*x + 1.667))
394246b1aaee4d90b36bb5f58215322d--d208559b4eb84ef585d9c004df340837
94b174eedb9540a4a3b520f7d7baac08
2
d208559b4eb84ef585d9c004df340837--5d188d8b088140698f009a8e25bad55d
57e366c22be94b0c94957fb1aa000e2b
89d9c3bb7a1d4d52ad559fe65890e6c2
RY(20.0*acos(0.667*x + 1.667))
94b174eedb9540a4a3b520f7d7baac08--89d9c3bb7a1d4d52ad559fe65890e6c2
07bf0a9114f6414db6a18b314a0cb0f0
3
89d9c3bb7a1d4d52ad559fe65890e6c2--57e366c22be94b0c94957fb1aa000e2b
10f82573b70f4026810fc79e5f443bbf
f0c283745b8442389e33e95346ec689b
RY(10.0*acos(0.667*x + 1.667))
07bf0a9114f6414db6a18b314a0cb0f0--f0c283745b8442389e33e95346ec689b
8dce57291ca54e2a8ad5f8863cdc75c3
4
f0c283745b8442389e33e95346ec689b--10f82573b70f4026810fc79e5f443bbf
91f4a719ee464ca9af53d3263c48f635
dc69afcd586a4f1387b957a477ae038c
RY(5.0*acos(0.667*x + 1.667))
8dce57291ca54e2a8ad5f8863cdc75c3--dc69afcd586a4f1387b957a477ae038c
dc69afcd586a4f1387b957a477ae038c--91f4a719ee464ca9af53d3263c48f635
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
925467e314a845bb832e71c9fe84b26a
0
e1547389ff3a4a22b450f5b6d67c37e6
RX(theta₀)
925467e314a845bb832e71c9fe84b26a--e1547389ff3a4a22b450f5b6d67c37e6
02deb979941946f581cfe84f507c1000
1
44737c51eeb3454c9130ee82fd72f7da
RY(theta₃)
e1547389ff3a4a22b450f5b6d67c37e6--44737c51eeb3454c9130ee82fd72f7da
b8dc955c6fb746e1916651e83908c4bc
RX(theta₆)
44737c51eeb3454c9130ee82fd72f7da--b8dc955c6fb746e1916651e83908c4bc
c87e762852c8447989bf36a587d784dd
b8dc955c6fb746e1916651e83908c4bc--c87e762852c8447989bf36a587d784dd
450b34a569ed48eb998e52df4071fc8d
c87e762852c8447989bf36a587d784dd--450b34a569ed48eb998e52df4071fc8d
4c9d3e1ab49e4c018f0ba6928a8ad15a
RX(theta₉)
450b34a569ed48eb998e52df4071fc8d--4c9d3e1ab49e4c018f0ba6928a8ad15a
c3bb7d6928c549d28820fb7b49a3fdb5
RY(theta₁₂)
4c9d3e1ab49e4c018f0ba6928a8ad15a--c3bb7d6928c549d28820fb7b49a3fdb5
13ea508cccb54f4d98af4700df703c0b
RX(theta₁₅)
c3bb7d6928c549d28820fb7b49a3fdb5--13ea508cccb54f4d98af4700df703c0b
24f58e5dcc854981b490e60be2436a2a
13ea508cccb54f4d98af4700df703c0b--24f58e5dcc854981b490e60be2436a2a
1ea8aea51a714e47ba5270a131c83a40
24f58e5dcc854981b490e60be2436a2a--1ea8aea51a714e47ba5270a131c83a40
463ab688861e43629f6915595c977a94
1ea8aea51a714e47ba5270a131c83a40--463ab688861e43629f6915595c977a94
8511c3594c574e4e9c64f9c5fc11ee7c
fe35272a694a46d0ac21c5eb088c11f6
RX(theta₁)
02deb979941946f581cfe84f507c1000--fe35272a694a46d0ac21c5eb088c11f6
232fd153a3f64144b348175d4272b2fa
2
46813465d74545dfb1646bf499c74855
RY(theta₄)
fe35272a694a46d0ac21c5eb088c11f6--46813465d74545dfb1646bf499c74855
b357b48b84dd420b8a494ef58b2d9f87
RX(theta₇)
46813465d74545dfb1646bf499c74855--b357b48b84dd420b8a494ef58b2d9f87
85036c2ecfe349a3a48d0f3aff0cbfb4
X
b357b48b84dd420b8a494ef58b2d9f87--85036c2ecfe349a3a48d0f3aff0cbfb4
85036c2ecfe349a3a48d0f3aff0cbfb4--c87e762852c8447989bf36a587d784dd
d88b2a7d173041b69635888cad82caa4
85036c2ecfe349a3a48d0f3aff0cbfb4--d88b2a7d173041b69635888cad82caa4
db1a4d8f2f7a48f68e7b13e73a0ef543
RX(theta₁₀)
d88b2a7d173041b69635888cad82caa4--db1a4d8f2f7a48f68e7b13e73a0ef543
9b0f1535456b499b8997e8039cb71958
RY(theta₁₃)
db1a4d8f2f7a48f68e7b13e73a0ef543--9b0f1535456b499b8997e8039cb71958
b9c1aaa63a9640d08b7e6a821a32c919
RX(theta₁₆)
9b0f1535456b499b8997e8039cb71958--b9c1aaa63a9640d08b7e6a821a32c919
73e4690dd5d74408a859da51a08eddbf
X
b9c1aaa63a9640d08b7e6a821a32c919--73e4690dd5d74408a859da51a08eddbf
73e4690dd5d74408a859da51a08eddbf--24f58e5dcc854981b490e60be2436a2a
34c766da0fa64576b39005a4d30239bc
73e4690dd5d74408a859da51a08eddbf--34c766da0fa64576b39005a4d30239bc
34c766da0fa64576b39005a4d30239bc--8511c3594c574e4e9c64f9c5fc11ee7c
0c68b854919843379df9fd2289b334db
3b9ab9e3ed774301bbeeec69bdedf00b
RX(theta₂)
232fd153a3f64144b348175d4272b2fa--3b9ab9e3ed774301bbeeec69bdedf00b
f6ff5e0812264ecebc3e923be4c238b3
RY(theta₅)
3b9ab9e3ed774301bbeeec69bdedf00b--f6ff5e0812264ecebc3e923be4c238b3
4f7a0401b86446fe89eb8437778cc746
RX(theta₈)
f6ff5e0812264ecebc3e923be4c238b3--4f7a0401b86446fe89eb8437778cc746
a5f06483bd3e45bab73d7186c2559b04
4f7a0401b86446fe89eb8437778cc746--a5f06483bd3e45bab73d7186c2559b04
1791f85730154de484d49527aa280f6f
X
a5f06483bd3e45bab73d7186c2559b04--1791f85730154de484d49527aa280f6f
1791f85730154de484d49527aa280f6f--d88b2a7d173041b69635888cad82caa4
44a89b17cd9c4897b1d347497c9d55b5
RX(theta₁₁)
1791f85730154de484d49527aa280f6f--44a89b17cd9c4897b1d347497c9d55b5
9f783dc3e8e041fda48d98ee871fb80b
RY(theta₁₄)
44a89b17cd9c4897b1d347497c9d55b5--9f783dc3e8e041fda48d98ee871fb80b
50451603ded94748895ebf95445baf02
RX(theta₁₇)
9f783dc3e8e041fda48d98ee871fb80b--50451603ded94748895ebf95445baf02
a43f4aa69a654974a4f79534b6387e89
50451603ded94748895ebf95445baf02--a43f4aa69a654974a4f79534b6387e89
b3553d0436bb4bed86dd03e99ce16740
X
a43f4aa69a654974a4f79534b6387e89--b3553d0436bb4bed86dd03e99ce16740
b3553d0436bb4bed86dd03e99ce16740--34c766da0fa64576b39005a4d30239bc
b3553d0436bb4bed86dd03e99ce16740--0c68b854919843379df9fd2289b334db
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
a5fe966a19c34ee298f724f9651a6936
0
f8128b98e93b462cbe711e797216ecac
RX(phi₀)
a5fe966a19c34ee298f724f9651a6936--f8128b98e93b462cbe711e797216ecac
d301887e8fa84b19afc49800d48f3f15
1
afb792f840c049c096f4069c8806b730
RY(phi₃)
f8128b98e93b462cbe711e797216ecac--afb792f840c049c096f4069c8806b730
91471e29390b49ebb9d6659433b6971c
RX(phi₆)
afb792f840c049c096f4069c8806b730--91471e29390b49ebb9d6659433b6971c
0ac1748444644d91a2abc0ef9ccfe9ba
91471e29390b49ebb9d6659433b6971c--0ac1748444644d91a2abc0ef9ccfe9ba
d7554d8d638244659117da121b12b1fc
0ac1748444644d91a2abc0ef9ccfe9ba--d7554d8d638244659117da121b12b1fc
7974b65d0ae0489290215a643063d452
RX(phi₉)
d7554d8d638244659117da121b12b1fc--7974b65d0ae0489290215a643063d452
a2ad07b7c9de4d0e899c233833fabb75
RY(phi₁₂)
7974b65d0ae0489290215a643063d452--a2ad07b7c9de4d0e899c233833fabb75
e89b8adb22ba4ab7b9f7883422bad91f
RX(phi₁₅)
a2ad07b7c9de4d0e899c233833fabb75--e89b8adb22ba4ab7b9f7883422bad91f
0cf94099931245e488f20c1a6ce4ce58
e89b8adb22ba4ab7b9f7883422bad91f--0cf94099931245e488f20c1a6ce4ce58
07659cab19b144f38100ffc9d1103403
0cf94099931245e488f20c1a6ce4ce58--07659cab19b144f38100ffc9d1103403
64c81950084c4652b553d8dcdc042be3
07659cab19b144f38100ffc9d1103403--64c81950084c4652b553d8dcdc042be3
1290c25e972b457f87941219c172f770
28e7163695a54542a22e01bca869a1ea
RX(phi₁)
d301887e8fa84b19afc49800d48f3f15--28e7163695a54542a22e01bca869a1ea
af49f652167d451d8c13cd33a663454c
2
5815bc52e6fd411fbcc4da9ff76f253b
RY(phi₄)
28e7163695a54542a22e01bca869a1ea--5815bc52e6fd411fbcc4da9ff76f253b
1a2ca3ce1c2946f88b78bf3d2468155e
RX(phi₇)
5815bc52e6fd411fbcc4da9ff76f253b--1a2ca3ce1c2946f88b78bf3d2468155e
ec093298a5254f2cb3876b442e856bb1
PHASE(phi_ent₀)
1a2ca3ce1c2946f88b78bf3d2468155e--ec093298a5254f2cb3876b442e856bb1
ec093298a5254f2cb3876b442e856bb1--0ac1748444644d91a2abc0ef9ccfe9ba
74ee800d90ac4d7cb9e565c92f7a16c1
ec093298a5254f2cb3876b442e856bb1--74ee800d90ac4d7cb9e565c92f7a16c1
595e8b5eb21744bfa80287fba3944b1e
RX(phi₁₀)
74ee800d90ac4d7cb9e565c92f7a16c1--595e8b5eb21744bfa80287fba3944b1e
80577b34b7b64c159eaa8cf8d10a9483
RY(phi₁₃)
595e8b5eb21744bfa80287fba3944b1e--80577b34b7b64c159eaa8cf8d10a9483
4d0460d00f2f48eeb559be3f2042fd3b
RX(phi₁₆)
80577b34b7b64c159eaa8cf8d10a9483--4d0460d00f2f48eeb559be3f2042fd3b
98f57b8f55004bf4aedb3044da0f3cf1
PHASE(phi_ent₂)
4d0460d00f2f48eeb559be3f2042fd3b--98f57b8f55004bf4aedb3044da0f3cf1
98f57b8f55004bf4aedb3044da0f3cf1--0cf94099931245e488f20c1a6ce4ce58
9ba918aa57214390aa67cbac8f8bd4f7
98f57b8f55004bf4aedb3044da0f3cf1--9ba918aa57214390aa67cbac8f8bd4f7
9ba918aa57214390aa67cbac8f8bd4f7--1290c25e972b457f87941219c172f770
d71341abe42d43f2be1d5464032a3bf6
7a29fc58866a41738ea73a23ff4efac4
RX(phi₂)
af49f652167d451d8c13cd33a663454c--7a29fc58866a41738ea73a23ff4efac4
520ded886bab4822885c68c472c573b5
RY(phi₅)
7a29fc58866a41738ea73a23ff4efac4--520ded886bab4822885c68c472c573b5
c2736354357244ac911312c1df3d35bb
RX(phi₈)
520ded886bab4822885c68c472c573b5--c2736354357244ac911312c1df3d35bb
7cebed1129034a6cbde653313305361f
c2736354357244ac911312c1df3d35bb--7cebed1129034a6cbde653313305361f
91275ffe5aee45e1bd64eb08e92eae79
PHASE(phi_ent₁)
7cebed1129034a6cbde653313305361f--91275ffe5aee45e1bd64eb08e92eae79
91275ffe5aee45e1bd64eb08e92eae79--74ee800d90ac4d7cb9e565c92f7a16c1
f79af113b9bd496c8217f8488ec19825
RX(phi₁₁)
91275ffe5aee45e1bd64eb08e92eae79--f79af113b9bd496c8217f8488ec19825
6d4fa095101d41da84e99443f9822864
RY(phi₁₄)
f79af113b9bd496c8217f8488ec19825--6d4fa095101d41da84e99443f9822864
cf6884d65dca416ab170654026b932b5
RX(phi₁₇)
6d4fa095101d41da84e99443f9822864--cf6884d65dca416ab170654026b932b5
beca0e6ab4a246b3aa7faaeb80fea1b7
cf6884d65dca416ab170654026b932b5--beca0e6ab4a246b3aa7faaeb80fea1b7
1bad9d66ab2d4a0ca26dd82d3171123d
PHASE(phi_ent₃)
beca0e6ab4a246b3aa7faaeb80fea1b7--1bad9d66ab2d4a0ca26dd82d3171123d
1bad9d66ab2d4a0ca26dd82d3171123d--9ba918aa57214390aa67cbac8f8bd4f7
1bad9d66ab2d4a0ca26dd82d3171123d--d71341abe42d43f2be1d5464032a3bf6
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_17835b77a1474bafa275ddae30aa42c6
cluster_92d300d408334b53bb86baa217056cc6
c5ed0ee376934b75998417198017edb0
0
436b0731e5924918bff46f58ca63d20f
RX(theta₀)
c5ed0ee376934b75998417198017edb0--436b0731e5924918bff46f58ca63d20f
9dfde0d58e0e4881b1885cab16c5a3b3
1
e017d28df02d4697a18b8ce1c13d532c
RY(theta₃)
436b0731e5924918bff46f58ca63d20f--e017d28df02d4697a18b8ce1c13d532c
0f2b317d16a34f9594e2207bded5e44b
RX(theta₆)
e017d28df02d4697a18b8ce1c13d532c--0f2b317d16a34f9594e2207bded5e44b
ba19528721e84907b9b4865c1fed5f85
HamEvo
0f2b317d16a34f9594e2207bded5e44b--ba19528721e84907b9b4865c1fed5f85
e847eee02bff41dfa528e4e722cc6083
RX(theta₉)
ba19528721e84907b9b4865c1fed5f85--e847eee02bff41dfa528e4e722cc6083
624d62da4b93445497fecb1c08951334
RY(theta₁₂)
e847eee02bff41dfa528e4e722cc6083--624d62da4b93445497fecb1c08951334
14c6038dd43f491aa4018395cfb05707
RX(theta₁₅)
624d62da4b93445497fecb1c08951334--14c6038dd43f491aa4018395cfb05707
ce1a569b6eac4c4f8f1bd47661f478c2
HamEvo
14c6038dd43f491aa4018395cfb05707--ce1a569b6eac4c4f8f1bd47661f478c2
6a3f8f348e5b427e8a3b2f0568466f74
ce1a569b6eac4c4f8f1bd47661f478c2--6a3f8f348e5b427e8a3b2f0568466f74
ecefc3ca24b64381979193855b629aee
d8355d6a3ee6479a9189349b0cb11a81
RX(theta₁)
9dfde0d58e0e4881b1885cab16c5a3b3--d8355d6a3ee6479a9189349b0cb11a81
9fcac3e0ea4e456a954d3b5fb7e6c121
2
ceb5a169ed414908bda875cc039ac913
RY(theta₄)
d8355d6a3ee6479a9189349b0cb11a81--ceb5a169ed414908bda875cc039ac913
97759a9929e749a885fcfd876f03445d
RX(theta₇)
ceb5a169ed414908bda875cc039ac913--97759a9929e749a885fcfd876f03445d
1b636210586c4e6fa4d6a9b1adc0bbfd
t = theta_t₀
97759a9929e749a885fcfd876f03445d--1b636210586c4e6fa4d6a9b1adc0bbfd
ed7be39bd66947f9b19a6b5c25f614a5
RX(theta₁₀)
1b636210586c4e6fa4d6a9b1adc0bbfd--ed7be39bd66947f9b19a6b5c25f614a5
2ad18901f2134d9baab407421a1a1971
RY(theta₁₃)
ed7be39bd66947f9b19a6b5c25f614a5--2ad18901f2134d9baab407421a1a1971
9c7444ac2b6c41639ac1c5ef20981331
RX(theta₁₆)
2ad18901f2134d9baab407421a1a1971--9c7444ac2b6c41639ac1c5ef20981331
353cd9c5af13442590ff378a23c10068
t = theta_t₁
9c7444ac2b6c41639ac1c5ef20981331--353cd9c5af13442590ff378a23c10068
353cd9c5af13442590ff378a23c10068--ecefc3ca24b64381979193855b629aee
3008c6448b434a5abc375dcd43784d00
b67a2f0efc4a49d19f65132d8c5be156
RX(theta₂)
9fcac3e0ea4e456a954d3b5fb7e6c121--b67a2f0efc4a49d19f65132d8c5be156
a37f8b13395e44ac989411e6009d24e8
RY(theta₅)
b67a2f0efc4a49d19f65132d8c5be156--a37f8b13395e44ac989411e6009d24e8
70b39b5deae24ddea91ec21cb70f9552
RX(theta₈)
a37f8b13395e44ac989411e6009d24e8--70b39b5deae24ddea91ec21cb70f9552
cec756d6764144738785788326b503bf
70b39b5deae24ddea91ec21cb70f9552--cec756d6764144738785788326b503bf
f4ddc0fbbf284e7aa1d05f35c3cc4a07
RX(theta₁₁)
cec756d6764144738785788326b503bf--f4ddc0fbbf284e7aa1d05f35c3cc4a07
9f775efec38d4cf5bb76c8b84e673447
RY(theta₁₄)
f4ddc0fbbf284e7aa1d05f35c3cc4a07--9f775efec38d4cf5bb76c8b84e673447
5af9a827ea9e440bb478750d8895ab92
RX(theta₁₇)
9f775efec38d4cf5bb76c8b84e673447--5af9a827ea9e440bb478750d8895ab92
5b9aa770f20a44d7b70e7bd0b2657354
5af9a827ea9e440bb478750d8895ab92--5b9aa770f20a44d7b70e7bd0b2657354
5b9aa770f20a44d7b70e7bd0b2657354--3008c6448b434a5abc375dcd43784d00
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_addd5c55ffce42e4a7d581b326954038
cluster_824a246d8ba143aebb865096a090d12a
b480087d397946e188e8dc04e8f16183
0
8df76b79f82943058cbdb57d13ff0e1e
RX(theta₀)
b480087d397946e188e8dc04e8f16183--8df76b79f82943058cbdb57d13ff0e1e
af8cad87265b4665aaefc6a7f8e35946
1
e240bd9fbd164cecae3ad61197fda4a6
RY(theta₆)
8df76b79f82943058cbdb57d13ff0e1e--e240bd9fbd164cecae3ad61197fda4a6
a49af30fbe284786a71cc411fca62a05
RX(theta₁₂)
e240bd9fbd164cecae3ad61197fda4a6--a49af30fbe284786a71cc411fca62a05
dc14fd5f033e412486699784159d3d8f
a49af30fbe284786a71cc411fca62a05--dc14fd5f033e412486699784159d3d8f
3d927a3b5f314096a464ea9c665359cd
RX(theta₁₈)
dc14fd5f033e412486699784159d3d8f--3d927a3b5f314096a464ea9c665359cd
3c044b5747e14b7ca95cc879266016d6
RY(theta₂₄)
3d927a3b5f314096a464ea9c665359cd--3c044b5747e14b7ca95cc879266016d6
b247d98d7b214421a1485d922b669811
RX(theta₃₀)
3c044b5747e14b7ca95cc879266016d6--b247d98d7b214421a1485d922b669811
b2a4289361b34e6da9c31d4e4b174b72
b247d98d7b214421a1485d922b669811--b2a4289361b34e6da9c31d4e4b174b72
eb2da7ac751744c0b7650403595a3f56
b2a4289361b34e6da9c31d4e4b174b72--eb2da7ac751744c0b7650403595a3f56
8b9e619715fb411b9835bd7ce96ebdb2
80521fb5e6ad4e509a095d76fbb2004a
RX(theta₁)
af8cad87265b4665aaefc6a7f8e35946--80521fb5e6ad4e509a095d76fbb2004a
ad7882a7c2a6485e98f80905e446efec
2
7a5611478ce04d538ec919a8dca5eee0
RY(theta₇)
80521fb5e6ad4e509a095d76fbb2004a--7a5611478ce04d538ec919a8dca5eee0
771cb9e667414faf8b9717dfadf31fa9
RX(theta₁₃)
7a5611478ce04d538ec919a8dca5eee0--771cb9e667414faf8b9717dfadf31fa9
54a05eab98fb4290a461a0ff015f56a7
771cb9e667414faf8b9717dfadf31fa9--54a05eab98fb4290a461a0ff015f56a7
0165c356c68d49c9b07ee8908e6afdc0
RX(theta₁₉)
54a05eab98fb4290a461a0ff015f56a7--0165c356c68d49c9b07ee8908e6afdc0
e9a55a41bb924acca59b924f26fe92c5
RY(theta₂₅)
0165c356c68d49c9b07ee8908e6afdc0--e9a55a41bb924acca59b924f26fe92c5
ff6cbffe4e5841dbafa6d8a52315f487
RX(theta₃₁)
e9a55a41bb924acca59b924f26fe92c5--ff6cbffe4e5841dbafa6d8a52315f487
74d21d54d8364f84a4fa22af25588b88
ff6cbffe4e5841dbafa6d8a52315f487--74d21d54d8364f84a4fa22af25588b88
74d21d54d8364f84a4fa22af25588b88--8b9e619715fb411b9835bd7ce96ebdb2
61722aa412194979bdbde236bc7c534d
7dd9476e3f2c45d89a7e30f8b935a32c
RX(theta₂)
ad7882a7c2a6485e98f80905e446efec--7dd9476e3f2c45d89a7e30f8b935a32c
0826c1c3ad6243b8b5e99aada5518df2
3
e4e6b79e6c6f43caa1f6cc9a6c285351
RY(theta₈)
7dd9476e3f2c45d89a7e30f8b935a32c--e4e6b79e6c6f43caa1f6cc9a6c285351
8be86a19def94155932649b94a4ddeeb
RX(theta₁₄)
e4e6b79e6c6f43caa1f6cc9a6c285351--8be86a19def94155932649b94a4ddeeb
193c6d92937c4994b8f9d98924c8595b
HamEvo
8be86a19def94155932649b94a4ddeeb--193c6d92937c4994b8f9d98924c8595b
94d8e32ff6c54d70b40bbd8f78bcb717
RX(theta₂₀)
193c6d92937c4994b8f9d98924c8595b--94d8e32ff6c54d70b40bbd8f78bcb717
e8cbcf20a2ec4cb2b20e7994a2bf8711
RY(theta₂₆)
94d8e32ff6c54d70b40bbd8f78bcb717--e8cbcf20a2ec4cb2b20e7994a2bf8711
b8d2c1268c5b43bebbb084ac61f1021d
RX(theta₃₂)
e8cbcf20a2ec4cb2b20e7994a2bf8711--b8d2c1268c5b43bebbb084ac61f1021d
01a4dd680dbe41bab97ca34ff6911eb9
HamEvo
b8d2c1268c5b43bebbb084ac61f1021d--01a4dd680dbe41bab97ca34ff6911eb9
01a4dd680dbe41bab97ca34ff6911eb9--61722aa412194979bdbde236bc7c534d
fc6b179d74e94b6aa1bf7661f0a1f2e4
b4d7034a41974763b94d728d3613aae1
RX(theta₃)
0826c1c3ad6243b8b5e99aada5518df2--b4d7034a41974763b94d728d3613aae1
33f7e2f0b88749048f7e8d3e1b136a94
4
1406aa2f7da54f8b8d2710768738231c
RY(theta₉)
b4d7034a41974763b94d728d3613aae1--1406aa2f7da54f8b8d2710768738231c
72a158f0c87449d78ba7cfe2dcafa8b0
RX(theta₁₅)
1406aa2f7da54f8b8d2710768738231c--72a158f0c87449d78ba7cfe2dcafa8b0
ae04c1ab2cd940ce9236abb429422a17
t = theta_t₀
72a158f0c87449d78ba7cfe2dcafa8b0--ae04c1ab2cd940ce9236abb429422a17
7fe7aa56fa3449979fb601b3db8eb637
RX(theta₂₁)
ae04c1ab2cd940ce9236abb429422a17--7fe7aa56fa3449979fb601b3db8eb637
e88d21dd37b7481182f3acde22d38ce5
RY(theta₂₇)
7fe7aa56fa3449979fb601b3db8eb637--e88d21dd37b7481182f3acde22d38ce5
48f4b52ac7874cd79474645fe2bfda48
RX(theta₃₃)
e88d21dd37b7481182f3acde22d38ce5--48f4b52ac7874cd79474645fe2bfda48
5061f3ded36b40dc82c7f51d52f24c81
t = theta_t₁
48f4b52ac7874cd79474645fe2bfda48--5061f3ded36b40dc82c7f51d52f24c81
5061f3ded36b40dc82c7f51d52f24c81--fc6b179d74e94b6aa1bf7661f0a1f2e4
4b96bbd4b373401b842f2155ee6f2f8d
e8633e427a064efd9512811a71d3a3c5
RX(theta₄)
33f7e2f0b88749048f7e8d3e1b136a94--e8633e427a064efd9512811a71d3a3c5
4c75fb0bd3874180825b84f4b64bba37
5
250548637d874619b558c5ab9dbdf866
RY(theta₁₀)
e8633e427a064efd9512811a71d3a3c5--250548637d874619b558c5ab9dbdf866
faa8f490cec0489f8b1b900799fe8159
RX(theta₁₆)
250548637d874619b558c5ab9dbdf866--faa8f490cec0489f8b1b900799fe8159
5e130fa4228447268c29bf3b3ba57f1a
faa8f490cec0489f8b1b900799fe8159--5e130fa4228447268c29bf3b3ba57f1a
61f4b31ba6f0472893b6d1db40b140f9
RX(theta₂₂)
5e130fa4228447268c29bf3b3ba57f1a--61f4b31ba6f0472893b6d1db40b140f9
b88f1111e33442cdad69a0b24de0462a
RY(theta₂₈)
61f4b31ba6f0472893b6d1db40b140f9--b88f1111e33442cdad69a0b24de0462a
be662b5188fb4342afe9b7242a5cfd13
RX(theta₃₄)
b88f1111e33442cdad69a0b24de0462a--be662b5188fb4342afe9b7242a5cfd13
abd2ef74bd4a4fbcaf1874b30fd33843
be662b5188fb4342afe9b7242a5cfd13--abd2ef74bd4a4fbcaf1874b30fd33843
abd2ef74bd4a4fbcaf1874b30fd33843--4b96bbd4b373401b842f2155ee6f2f8d
8f015990985a472b99c1e65b310939e0
c3180c9b179f486997a4112f939b91f4
RX(theta₅)
4c75fb0bd3874180825b84f4b64bba37--c3180c9b179f486997a4112f939b91f4
843232376d354bbb8b3ab43f9b13e207
RY(theta₁₁)
c3180c9b179f486997a4112f939b91f4--843232376d354bbb8b3ab43f9b13e207
8ac329b782334dd3bed248a49516aa74
RX(theta₁₇)
843232376d354bbb8b3ab43f9b13e207--8ac329b782334dd3bed248a49516aa74
59d6ea437e2c4ce29390120529416752
8ac329b782334dd3bed248a49516aa74--59d6ea437e2c4ce29390120529416752
003b0194c2454a1581ffacb256f69bac
RX(theta₂₃)
59d6ea437e2c4ce29390120529416752--003b0194c2454a1581ffacb256f69bac
38548c0286ce4b62bbe9e053798f7163
RY(theta₂₉)
003b0194c2454a1581ffacb256f69bac--38548c0286ce4b62bbe9e053798f7163
628e188c85a545ce9a318e6faa0cbb4c
RX(theta₃₅)
38548c0286ce4b62bbe9e053798f7163--628e188c85a545ce9a318e6faa0cbb4c
5b68a22e61f24eeda1d61e0f1e60fef7
628e188c85a545ce9a318e6faa0cbb4c--5b68a22e61f24eeda1d61e0f1e60fef7
5b68a22e61f24eeda1d61e0f1e60fef7--8f015990985a472b99c1e65b310939e0
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_355e299521194e46939e71be5249fe44
BPMA-1
cluster_aa853ba6ecac4b4b9e37b798465ba6d1
BPMA-0
c5eb023b617d493aac8e7b33a1b44474
0
a8b395a3e77e4763978ec4f3bdfd0081
RX(alpha₀₀)
c5eb023b617d493aac8e7b33a1b44474--a8b395a3e77e4763978ec4f3bdfd0081
720cb4efb7cf41f381ddd2a47f05367d
1
0219481b03784829adab62357c072ae6
RY(alpha₀₃)
a8b395a3e77e4763978ec4f3bdfd0081--0219481b03784829adab62357c072ae6
3dcc0f3b71694e69b0036eaa55794a05
0219481b03784829adab62357c072ae6--3dcc0f3b71694e69b0036eaa55794a05
b138dbfd41e6491995c2c75e3b995c95
3dcc0f3b71694e69b0036eaa55794a05--b138dbfd41e6491995c2c75e3b995c95
bf3b9750a73b4ac8bbea574e14f21ebe
RX(gamma₀₀)
b138dbfd41e6491995c2c75e3b995c95--bf3b9750a73b4ac8bbea574e14f21ebe
42434b54fb4444449335472a8508cfac
bf3b9750a73b4ac8bbea574e14f21ebe--42434b54fb4444449335472a8508cfac
1dc03b0a5ef44c0b94c2bfe6016ad975
42434b54fb4444449335472a8508cfac--1dc03b0a5ef44c0b94c2bfe6016ad975
2b029a4d860648a684ed554749f70998
RY(beta₀₃)
1dc03b0a5ef44c0b94c2bfe6016ad975--2b029a4d860648a684ed554749f70998
7de0314c7ff54cbf9b54ba0a860951c6
RX(beta₀₀)
2b029a4d860648a684ed554749f70998--7de0314c7ff54cbf9b54ba0a860951c6
ea50acfec48b4a0f8b4cb705287fef9f
RX(alpha₁₀)
7de0314c7ff54cbf9b54ba0a860951c6--ea50acfec48b4a0f8b4cb705287fef9f
f6c9cc69f92d4875951c9827446ff841
RY(alpha₁₃)
ea50acfec48b4a0f8b4cb705287fef9f--f6c9cc69f92d4875951c9827446ff841
16d6f22d51bc4f59b96be41827223f65
f6c9cc69f92d4875951c9827446ff841--16d6f22d51bc4f59b96be41827223f65
dcf2209fd094488fb9598974836e5e25
16d6f22d51bc4f59b96be41827223f65--dcf2209fd094488fb9598974836e5e25
ceadd292408543029363765a1a1e1117
RX(gamma₁₀)
dcf2209fd094488fb9598974836e5e25--ceadd292408543029363765a1a1e1117
b510e97ed9d0460aa8e46a9101850daf
ceadd292408543029363765a1a1e1117--b510e97ed9d0460aa8e46a9101850daf
a1d938276d4146febca581e0e304394d
b510e97ed9d0460aa8e46a9101850daf--a1d938276d4146febca581e0e304394d
ea7d45b71a214e33afe491a41f90029c
RY(beta₁₃)
a1d938276d4146febca581e0e304394d--ea7d45b71a214e33afe491a41f90029c
5cfa42e1731f4258be2cc4aea1e30f84
RX(beta₁₀)
ea7d45b71a214e33afe491a41f90029c--5cfa42e1731f4258be2cc4aea1e30f84
01466e4dba9744f8869aa7d1dde26296
5cfa42e1731f4258be2cc4aea1e30f84--01466e4dba9744f8869aa7d1dde26296
94ed6753c9c54dee828bcaad8d75f8b5
f3157498fae44203a592b98d11ca1769
RX(alpha₀₁)
720cb4efb7cf41f381ddd2a47f05367d--f3157498fae44203a592b98d11ca1769
abb5bae7414c42839a9741d1a4192ac2
2
c576e3f7cfcc464b9accae98fc4ee371
RY(alpha₀₄)
f3157498fae44203a592b98d11ca1769--c576e3f7cfcc464b9accae98fc4ee371
7c19b0e169634fa6a6d3908d5717aeb7
X
c576e3f7cfcc464b9accae98fc4ee371--7c19b0e169634fa6a6d3908d5717aeb7
7c19b0e169634fa6a6d3908d5717aeb7--3dcc0f3b71694e69b0036eaa55794a05
d65a2121895743dba8131835be2a01b2
7c19b0e169634fa6a6d3908d5717aeb7--d65a2121895743dba8131835be2a01b2
eed7a0c1ca354cda9b5c980b6d9d8827
RX(gamma₀₁)
d65a2121895743dba8131835be2a01b2--eed7a0c1ca354cda9b5c980b6d9d8827
e5b7aced719f4b92961efc632ed702f0
eed7a0c1ca354cda9b5c980b6d9d8827--e5b7aced719f4b92961efc632ed702f0
6451c720d672428f8b592690a1ea7e8f
X
e5b7aced719f4b92961efc632ed702f0--6451c720d672428f8b592690a1ea7e8f
6451c720d672428f8b592690a1ea7e8f--1dc03b0a5ef44c0b94c2bfe6016ad975
78b4620675fa40dc9005edf5f19bcaa6
RY(beta₀₄)
6451c720d672428f8b592690a1ea7e8f--78b4620675fa40dc9005edf5f19bcaa6
bd265edc6b0049fba59ad42c146c3e87
RX(beta₀₁)
78b4620675fa40dc9005edf5f19bcaa6--bd265edc6b0049fba59ad42c146c3e87
f26d789f795744f79d2f4e206824bc22
RX(alpha₁₁)
bd265edc6b0049fba59ad42c146c3e87--f26d789f795744f79d2f4e206824bc22
b23803c9825a4638ac143459ae8115ef
RY(alpha₁₄)
f26d789f795744f79d2f4e206824bc22--b23803c9825a4638ac143459ae8115ef
9e128fcfebe9427f9ecc766e98f68a0b
X
b23803c9825a4638ac143459ae8115ef--9e128fcfebe9427f9ecc766e98f68a0b
9e128fcfebe9427f9ecc766e98f68a0b--16d6f22d51bc4f59b96be41827223f65
8c5c5a1aae974eb093456df3ae32fc1a
9e128fcfebe9427f9ecc766e98f68a0b--8c5c5a1aae974eb093456df3ae32fc1a
5f010d06db11427d9b84b2043fc9fef7
RX(gamma₁₁)
8c5c5a1aae974eb093456df3ae32fc1a--5f010d06db11427d9b84b2043fc9fef7
7d825917b89c4c1486cf4e99dbfe99c1
5f010d06db11427d9b84b2043fc9fef7--7d825917b89c4c1486cf4e99dbfe99c1
bfd484bcbfee40778f25aa89d2cdafc8
X
7d825917b89c4c1486cf4e99dbfe99c1--bfd484bcbfee40778f25aa89d2cdafc8
bfd484bcbfee40778f25aa89d2cdafc8--a1d938276d4146febca581e0e304394d
7d6ed5a87c0a48058db716605c082f83
RY(beta₁₄)
bfd484bcbfee40778f25aa89d2cdafc8--7d6ed5a87c0a48058db716605c082f83
29b8b3305bdb4a27872e5d371c47cb3f
RX(beta₁₁)
7d6ed5a87c0a48058db716605c082f83--29b8b3305bdb4a27872e5d371c47cb3f
29b8b3305bdb4a27872e5d371c47cb3f--94ed6753c9c54dee828bcaad8d75f8b5
0b7576ffb55641c6af11b57106e96f98
ff8f2864625c42df9248ab3ff0192aaf
RX(alpha₀₂)
abb5bae7414c42839a9741d1a4192ac2--ff8f2864625c42df9248ab3ff0192aaf
44130d902e6d457793525173b6f6d4b9
RY(alpha₀₅)
ff8f2864625c42df9248ab3ff0192aaf--44130d902e6d457793525173b6f6d4b9
fa45ab058bb24919938d0524e3ac66cd
44130d902e6d457793525173b6f6d4b9--fa45ab058bb24919938d0524e3ac66cd
c04023d98eb54844b9c69c7ecc53983b
X
fa45ab058bb24919938d0524e3ac66cd--c04023d98eb54844b9c69c7ecc53983b
c04023d98eb54844b9c69c7ecc53983b--d65a2121895743dba8131835be2a01b2
a8d0aee407ae40ea97631449550c413b
RX(gamma₀₂)
c04023d98eb54844b9c69c7ecc53983b--a8d0aee407ae40ea97631449550c413b
436d4c6352ab4b99b0ccfdff71135cf1
X
a8d0aee407ae40ea97631449550c413b--436d4c6352ab4b99b0ccfdff71135cf1
436d4c6352ab4b99b0ccfdff71135cf1--e5b7aced719f4b92961efc632ed702f0
976540343efa466cb5617368b1fec6b2
436d4c6352ab4b99b0ccfdff71135cf1--976540343efa466cb5617368b1fec6b2
280be3758e494ed9aad0db6c959d623f
RY(beta₀₅)
976540343efa466cb5617368b1fec6b2--280be3758e494ed9aad0db6c959d623f
846961abde214c74a5315b2edafd3964
RX(beta₀₂)
280be3758e494ed9aad0db6c959d623f--846961abde214c74a5315b2edafd3964
2161a226add04660a81ed430ddf3b188
RX(alpha₁₂)
846961abde214c74a5315b2edafd3964--2161a226add04660a81ed430ddf3b188
2ef190efd3714ec7bd6e1666d8433765
RY(alpha₁₅)
2161a226add04660a81ed430ddf3b188--2ef190efd3714ec7bd6e1666d8433765
cf68f315c9334e908ef9f7c7d022793d
2ef190efd3714ec7bd6e1666d8433765--cf68f315c9334e908ef9f7c7d022793d
532fd22f86b7465ba9a154fe2250cea7
X
cf68f315c9334e908ef9f7c7d022793d--532fd22f86b7465ba9a154fe2250cea7
532fd22f86b7465ba9a154fe2250cea7--8c5c5a1aae974eb093456df3ae32fc1a
90178ec7cd6d437ba601752cc73c7607
RX(gamma₁₂)
532fd22f86b7465ba9a154fe2250cea7--90178ec7cd6d437ba601752cc73c7607
c1c838ae3574479a9e6a382555520dbb
X
90178ec7cd6d437ba601752cc73c7607--c1c838ae3574479a9e6a382555520dbb
c1c838ae3574479a9e6a382555520dbb--7d825917b89c4c1486cf4e99dbfe99c1
cea7592d090a4975b9f4305db9f0a48c
c1c838ae3574479a9e6a382555520dbb--cea7592d090a4975b9f4305db9f0a48c
4b994d5511a44edf872e0db2cb277032
RY(beta₁₅)
cea7592d090a4975b9f4305db9f0a48c--4b994d5511a44edf872e0db2cb277032
82f7fb71850a4d7197cb98f5987757b2
RX(beta₁₂)
4b994d5511a44edf872e0db2cb277032--82f7fb71850a4d7197cb98f5987757b2
82f7fb71850a4d7197cb98f5987757b2--0b7576ffb55641c6af11b57106e96f98