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_ac96b1d60ef44266a6fe55e7026c7fba
Constant Chebyshev FM
cluster_ba7a2936b9f74e57bdd0783c3d1677bb
Constant Fourier FM
7250427fe28d4729bb28184574f98f7f
0
30ab1ded0af54483b7e52aef8f4b59c4
RX(phi)
7250427fe28d4729bb28184574f98f7f--30ab1ded0af54483b7e52aef8f4b59c4
ceec74450c7b42f78ec424de06d39bf0
1
052e143e50d049be9a24ce107574a4f8
RX(acos(phi))
30ab1ded0af54483b7e52aef8f4b59c4--052e143e50d049be9a24ce107574a4f8
66064808b17f45508f04eb0a4ecc7750
052e143e50d049be9a24ce107574a4f8--66064808b17f45508f04eb0a4ecc7750
fef4f4d705c7474f931f1c0fb9be2076
5ec8eb3ecf1843c3bcff075d353c8d16
RX(phi)
ceec74450c7b42f78ec424de06d39bf0--5ec8eb3ecf1843c3bcff075d353c8d16
c2dd3adcae5a4febb9fd97fe7024a654
2
78ee50f60e1a4b919b7a6a3d00bc0bdc
RX(acos(phi))
5ec8eb3ecf1843c3bcff075d353c8d16--78ee50f60e1a4b919b7a6a3d00bc0bdc
78ee50f60e1a4b919b7a6a3d00bc0bdc--fef4f4d705c7474f931f1c0fb9be2076
b17a6091a5234971a3da781b52b188d0
33a8829a253740c6b8825bf1ff151b4b
RX(phi)
c2dd3adcae5a4febb9fd97fe7024a654--33a8829a253740c6b8825bf1ff151b4b
8e4fd48d989f444ca5f2419778c27d2d
RX(acos(phi))
33a8829a253740c6b8825bf1ff151b4b--8e4fd48d989f444ca5f2419778c27d2d
8e4fd48d989f444ca5f2419778c27d2d--b17a6091a5234971a3da781b52b188d0
A custom encoding function can also be passed with sympy
from sympy import asin , Function
n_qubits = 3
# Using a pre-defined sympy Function
custom_fm_0 = feature_map ( n_qubits , fm_type = asin )
# Creating a custom function
def custom_fn ( x ):
return asin ( x ) + x ** 2
custom_fm_1 = feature_map ( n_qubits , fm_type = custom_fn )
block = chain ( custom_fm_0 , custom_fm_1 )
%3
cluster_7001f98a88e449d0ad213afb2088335b
Constant <function custom_fn at 0x7fdcb5bd3f40> FM
cluster_b7736247b10140948563d55d0cd85a69
Constant asin FM
9bf741cba8624d228357354b85a373d4
0
5ca08f3d20ed45d9816f6de41b2aedbf
RX(asin(phi))
9bf741cba8624d228357354b85a373d4--5ca08f3d20ed45d9816f6de41b2aedbf
dd3fa117565d49eba31f57c986269191
1
0c95ebd4646547ea856d59f341db5628
RX(phi**2 + asin(phi))
5ca08f3d20ed45d9816f6de41b2aedbf--0c95ebd4646547ea856d59f341db5628
b5b2e701448349b0868329932b212e6a
0c95ebd4646547ea856d59f341db5628--b5b2e701448349b0868329932b212e6a
51cfc443aef74c359e54add7d72a5c8d
08b5425c257b4cb79a6d908c9792761d
RX(asin(phi))
dd3fa117565d49eba31f57c986269191--08b5425c257b4cb79a6d908c9792761d
0da1706cb6144a82b298d4c23282c479
2
0dde7e08d8ab4a8e992403de11352bda
RX(phi**2 + asin(phi))
08b5425c257b4cb79a6d908c9792761d--0dde7e08d8ab4a8e992403de11352bda
0dde7e08d8ab4a8e992403de11352bda--51cfc443aef74c359e54add7d72a5c8d
b93f4d63b9694a63a7ab1a0f16d939ff
6d696c0afc7a4dedbb563f03f3a0e5a8
RX(asin(phi))
0da1706cb6144a82b298d4c23282c479--6d696c0afc7a4dedbb563f03f3a0e5a8
dd517d7f054b439e8111de9518488607
RX(phi**2 + asin(phi))
6d696c0afc7a4dedbb563f03f3a0e5a8--dd517d7f054b439e8111de9518488607
dd517d7f054b439e8111de9518488607--b93f4d63b9694a63a7ab1a0f16d939ff
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_aba30249367748edab0b946c61fa8356
Exponential Fourier FM
cluster_54d7456089ad4319ba6accdfac63f229
Constant Fourier FM
cluster_34d9a96498874af8bba8f6fd13d84f08
Tower Fourier FM
7ce75a4fb5c742b6a502aa60660dfab2
0
3ba0655ea39e4e829af79ce20bd60de3
RX(phi)
7ce75a4fb5c742b6a502aa60660dfab2--3ba0655ea39e4e829af79ce20bd60de3
eba0c8111b4c4a648aa2aa981efd7b8c
1
a03fd65a96544fcb9e0c32d4f6dc08b0
RX(1.0*phi)
3ba0655ea39e4e829af79ce20bd60de3--a03fd65a96544fcb9e0c32d4f6dc08b0
840a291ffdba4b25a8b32f01b1707a29
RX(1.0*phi)
a03fd65a96544fcb9e0c32d4f6dc08b0--840a291ffdba4b25a8b32f01b1707a29
1b07bf19dbeb44f49abf021aa60a6e5f
840a291ffdba4b25a8b32f01b1707a29--1b07bf19dbeb44f49abf021aa60a6e5f
08129244b8b0413d8eaa62d8bcf1e785
9b61a93faaf94221948381e1f8bf6ea8
RX(phi)
eba0c8111b4c4a648aa2aa981efd7b8c--9b61a93faaf94221948381e1f8bf6ea8
287fe322306c41a6b7bb9d7eea3794e1
2
8d0db309adb54946b2f6fd0d89f4b601
RX(2.0*phi)
9b61a93faaf94221948381e1f8bf6ea8--8d0db309adb54946b2f6fd0d89f4b601
39b7c655bb6e49e5a705a36144c328ab
RX(2.0*phi)
8d0db309adb54946b2f6fd0d89f4b601--39b7c655bb6e49e5a705a36144c328ab
39b7c655bb6e49e5a705a36144c328ab--08129244b8b0413d8eaa62d8bcf1e785
3f3d582e961d44f88cdd368591727bf7
2bf64ba6a12b4c54a06357aee8b52a0d
RX(phi)
287fe322306c41a6b7bb9d7eea3794e1--2bf64ba6a12b4c54a06357aee8b52a0d
59392e0aec49412980c18db88c600034
3
9bcafdf79d5f4befa4556057f7065cbb
RX(3.0*phi)
2bf64ba6a12b4c54a06357aee8b52a0d--9bcafdf79d5f4befa4556057f7065cbb
5edc84a66a984d65a3bf6ee333a1db1f
RX(4.0*phi)
9bcafdf79d5f4befa4556057f7065cbb--5edc84a66a984d65a3bf6ee333a1db1f
5edc84a66a984d65a3bf6ee333a1db1f--3f3d582e961d44f88cdd368591727bf7
3d9e83ac436b481e8edace06929ea66a
5f44773331da4e41aa5c9d5b172548d7
RX(phi)
59392e0aec49412980c18db88c600034--5f44773331da4e41aa5c9d5b172548d7
33dcdb96f37c4d16b532ac3f68d7260f
4
7239fe43a6624a1888c2083f0539efc2
RX(4.0*phi)
5f44773331da4e41aa5c9d5b172548d7--7239fe43a6624a1888c2083f0539efc2
8b368ecfb7754838b86d84705af0f42f
RX(8.0*phi)
7239fe43a6624a1888c2083f0539efc2--8b368ecfb7754838b86d84705af0f42f
8b368ecfb7754838b86d84705af0f42f--3d9e83ac436b481e8edace06929ea66a
bcea98eef2964acdaf41629d9a2e36ae
10967f52d82a4115af6ff47fe0b23b43
RX(phi)
33dcdb96f37c4d16b532ac3f68d7260f--10967f52d82a4115af6ff47fe0b23b43
2a6983920b7442d08f2f91d7f5be0bad
RX(5.0*phi)
10967f52d82a4115af6ff47fe0b23b43--2a6983920b7442d08f2f91d7f5be0bad
995edaefa37c4032a641a1454535bc47
RX(16.0*phi)
2a6983920b7442d08f2f91d7f5be0bad--995edaefa37c4032a641a1454535bc47
995edaefa37c4032a641a1454535bc47--bcea98eef2964acdaf41629d9a2e36ae
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
5d66aceda86e42388aa86e281fb77898
0
4e471ed1d6284f57b93f2f2c6435743c
RX(1.0*acos(phi))
5d66aceda86e42388aa86e281fb77898--4e471ed1d6284f57b93f2f2c6435743c
f9be27a97290415db06753640730ee72
1
ec7a4b22c6c44576b70961c971833c3b
4e471ed1d6284f57b93f2f2c6435743c--ec7a4b22c6c44576b70961c971833c3b
f5ecaf8a9f5347909624cf84138a2879
91105f84bc8d4a04abd51923e7f46fcc
RX(1.414*acos(phi))
f9be27a97290415db06753640730ee72--91105f84bc8d4a04abd51923e7f46fcc
0dbdd90cc7f543218486853400649b06
2
91105f84bc8d4a04abd51923e7f46fcc--f5ecaf8a9f5347909624cf84138a2879
f7363a58bd7f437ea5af035be695d4f9
900971d2b5c24d6eb52c33dc1eb61414
RX(1.732*acos(phi))
0dbdd90cc7f543218486853400649b06--900971d2b5c24d6eb52c33dc1eb61414
694ac89ecfe14c818c06c74484fd819b
3
900971d2b5c24d6eb52c33dc1eb61414--f7363a58bd7f437ea5af035be695d4f9
5697003bd7d0497ca28bd6baffa6e83a
7d1b8781a7b142bead8dae5f5bc6bd9c
RX(2.0*acos(phi))
694ac89ecfe14c818c06c74484fd819b--7d1b8781a7b142bead8dae5f5bc6bd9c
00f01cac6f294b5f80512459323f22d7
4
7d1b8781a7b142bead8dae5f5bc6bd9c--5697003bd7d0497ca28bd6baffa6e83a
3b1417a33be4437faabbb5dc660a19d6
0ee3458f25414d42a5f8fb182780395a
RX(2.236*acos(phi))
00f01cac6f294b5f80512459323f22d7--0ee3458f25414d42a5f8fb182780395a
0ee3458f25414d42a5f8fb182780395a--3b1417a33be4437faabbb5dc660a19d6
To add a trainable parameter that multiplies the feature parameter inside the encoding function,
simply pass a param_prefix
string:
n_qubits = 5
fm_trainable = feature_map (
n_qubits ,
fm_type = BasisSet . FOURIER ,
reupload_scaling = ReuploadScaling . EXP ,
param_prefix = "w" ,
)
%3
3b43899a2ee24b2d8e9c3104bff3ad80
0
c7dedc16f413451fb1f955524c702f3d
RX(1.0*phi*w₀)
3b43899a2ee24b2d8e9c3104bff3ad80--c7dedc16f413451fb1f955524c702f3d
3f7b7beefe854226a094310192c36e5f
1
e86ac844daf3494aa3b25dae5bea3b4f
c7dedc16f413451fb1f955524c702f3d--e86ac844daf3494aa3b25dae5bea3b4f
02011011d7c04c4e8ec80ba684e04b50
97ad9a284764486fb995adee2ba1e970
RX(2.0*phi*w₁)
3f7b7beefe854226a094310192c36e5f--97ad9a284764486fb995adee2ba1e970
620aba153c9e4621a11e1981baa6ec00
2
97ad9a284764486fb995adee2ba1e970--02011011d7c04c4e8ec80ba684e04b50
1d436739c9f94f12a09aa51c7c379bb2
871b9ad00cf740cbad1671f089805ecb
RX(4.0*phi*w₂)
620aba153c9e4621a11e1981baa6ec00--871b9ad00cf740cbad1671f089805ecb
28a062ef5a71439ba54c50b9d38b09ef
3
871b9ad00cf740cbad1671f089805ecb--1d436739c9f94f12a09aa51c7c379bb2
b4c180032fb64662b040053b22279f4f
7e4f714b16ff45768c1bf1526fcb3542
RX(8.0*phi*w₃)
28a062ef5a71439ba54c50b9d38b09ef--7e4f714b16ff45768c1bf1526fcb3542
0883a553f83c4d9a88849df89ebc4897
4
7e4f714b16ff45768c1bf1526fcb3542--b4c180032fb64662b040053b22279f4f
307efeb8986147ed9f89f5d14785c7eb
bed0c6eae63743d39163b278aefb4a8b
RX(16.0*phi*w₄)
0883a553f83c4d9a88849df89ebc4897--bed0c6eae63743d39163b278aefb4a8b
bed0c6eae63743d39163b278aefb4a8b--307efeb8986147ed9f89f5d14785c7eb
Note that for the Fourier feature map, the encoding function is simply \(f(x)=x\) . For other cases, like the Chebyshev acos()
encoding,
the trainable parameter may cause the feature value to be outside the domain of the encoding function. This will eventually be fixed
by adding range constraints to trainable parameters in Qadence.
A full description of the remaining arguments can be found in the feature_map
API reference . We provide an example below.
from qadence import RY
n_qubits = 5
# Custom scaling function
fm_full = feature_map (
n_qubits = n_qubits ,
support = tuple ( reversed ( range ( n_qubits ))), # Reverse the qubit support to run the scaling from bottom to top
param = "x" , # Change the name of the parameter
op = RY , # Change the rotation gate between RX, RY, RZ or PHASE
fm_type = BasisSet . CHEBYSHEV ,
reupload_scaling = ReuploadScaling . EXP ,
feature_range = ( - 1.0 , 2.0 ), # Range from which the input data comes from
target_range = ( 1.0 , 3.0 ), # Range the encoder assumes as the natural range
multiplier = 5.0 , # Extra multiplier, which can also be a Parameter
param_prefix = "w" , # Add trainable parameters
)
%3
d6346f5d57ca46dea3bddff291cf9588
0
ae3634490fe74595907ddbcdf5d317c3
RY(80.0*acos(w₄*(0.667*x + 1.667)))
d6346f5d57ca46dea3bddff291cf9588--ae3634490fe74595907ddbcdf5d317c3
854c4bc9b2424b7e91e128a37c1dbf38
1
f0a7c99d1a834eae925abba38df6ea89
ae3634490fe74595907ddbcdf5d317c3--f0a7c99d1a834eae925abba38df6ea89
56222434a68d4d738129362d757ecb8d
a20276be48a24b359c074724324e4295
RY(40.0*acos(w₃*(0.667*x + 1.667)))
854c4bc9b2424b7e91e128a37c1dbf38--a20276be48a24b359c074724324e4295
d86de4afbb364792a68e25431aead2a3
2
a20276be48a24b359c074724324e4295--56222434a68d4d738129362d757ecb8d
9321b7a01e19455ca76485462344a68a
b33f6138906744178b0d3b49ef1fbfc7
RY(20.0*acos(w₂*(0.667*x + 1.667)))
d86de4afbb364792a68e25431aead2a3--b33f6138906744178b0d3b49ef1fbfc7
aebd6e19498749249c7899eb3fdb83a2
3
b33f6138906744178b0d3b49ef1fbfc7--9321b7a01e19455ca76485462344a68a
25765255d12545629cd28cad999b3738
d6209b452f3543d684ba5ec3181c7219
RY(10.0*acos(w₁*(0.667*x + 1.667)))
aebd6e19498749249c7899eb3fdb83a2--d6209b452f3543d684ba5ec3181c7219
b88a7dc86cd5466697c8beb06badc95f
4
d6209b452f3543d684ba5ec3181c7219--25765255d12545629cd28cad999b3738
3ec401cf965d49db950841498d2c7693
88c3931248324894a80d6c4a58a63b92
RY(5.0*acos(w₀*(0.667*x + 1.667)))
b88a7dc86cd5466697c8beb06badc95f--88c3931248324894a80d6c4a58a63b92
88c3931248324894a80d6c4a58a63b92--3ec401cf965d49db950841498d2c7693
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
ecd10fb249f940e091957967a359eb59
0
1f0cf3071ba44778b8edab3f9d9eee0b
RX(theta₀)
ecd10fb249f940e091957967a359eb59--1f0cf3071ba44778b8edab3f9d9eee0b
0c433604efbb44cb8f8df81ebb5ff3d2
1
3d462874615d4df3871ca67434b40264
RY(theta₃)
1f0cf3071ba44778b8edab3f9d9eee0b--3d462874615d4df3871ca67434b40264
d211b15d4c184ceb838172a5c62c3e89
RX(theta₆)
3d462874615d4df3871ca67434b40264--d211b15d4c184ceb838172a5c62c3e89
bc22f85a6285458eb5cc81a27b2958b5
d211b15d4c184ceb838172a5c62c3e89--bc22f85a6285458eb5cc81a27b2958b5
a91034f4ac314feaa1d19f1040ebf261
bc22f85a6285458eb5cc81a27b2958b5--a91034f4ac314feaa1d19f1040ebf261
bd14bd781bd24b6d9d09e60b224fc1fc
RX(theta₉)
a91034f4ac314feaa1d19f1040ebf261--bd14bd781bd24b6d9d09e60b224fc1fc
2640df6ba536436aa7bfbdd42e78b1aa
RY(theta₁₂)
bd14bd781bd24b6d9d09e60b224fc1fc--2640df6ba536436aa7bfbdd42e78b1aa
090230a5ce864ea3820693f0682f7e44
RX(theta₁₅)
2640df6ba536436aa7bfbdd42e78b1aa--090230a5ce864ea3820693f0682f7e44
e3e2e5d1ecba4761821b217e417e5b82
090230a5ce864ea3820693f0682f7e44--e3e2e5d1ecba4761821b217e417e5b82
6c623c9ffd06416fad18a5682e06d111
e3e2e5d1ecba4761821b217e417e5b82--6c623c9ffd06416fad18a5682e06d111
81ba42b9c9174206a3a868d1c1b89d23
6c623c9ffd06416fad18a5682e06d111--81ba42b9c9174206a3a868d1c1b89d23
d7a0319e4c1146e3aa2e61a70597bf99
82b7c184d1aa47d78a713a1004313a73
RX(theta₁)
0c433604efbb44cb8f8df81ebb5ff3d2--82b7c184d1aa47d78a713a1004313a73
9fb681b955064cf4b88270d3c330cd91
2
e6a83f47d5294c1d8181b57e462dca67
RY(theta₄)
82b7c184d1aa47d78a713a1004313a73--e6a83f47d5294c1d8181b57e462dca67
e091d04a510d452da0aaafb29128d5c6
RX(theta₇)
e6a83f47d5294c1d8181b57e462dca67--e091d04a510d452da0aaafb29128d5c6
ace704ceaec24df98425697fa5b76eef
X
e091d04a510d452da0aaafb29128d5c6--ace704ceaec24df98425697fa5b76eef
ace704ceaec24df98425697fa5b76eef--bc22f85a6285458eb5cc81a27b2958b5
1e814734001641e18ed8fc3862d34850
ace704ceaec24df98425697fa5b76eef--1e814734001641e18ed8fc3862d34850
1fe3093aedb444fd9d46edf9fe0f1e1f
RX(theta₁₀)
1e814734001641e18ed8fc3862d34850--1fe3093aedb444fd9d46edf9fe0f1e1f
bba003cec3074d1d8cb1aa4c92ddf3c4
RY(theta₁₃)
1fe3093aedb444fd9d46edf9fe0f1e1f--bba003cec3074d1d8cb1aa4c92ddf3c4
03aa9484d44945ea871b0403650fae6a
RX(theta₁₆)
bba003cec3074d1d8cb1aa4c92ddf3c4--03aa9484d44945ea871b0403650fae6a
b7d55e6159e649cf8dfe4a882722f224
X
03aa9484d44945ea871b0403650fae6a--b7d55e6159e649cf8dfe4a882722f224
b7d55e6159e649cf8dfe4a882722f224--e3e2e5d1ecba4761821b217e417e5b82
bbe92c9ec1174ad0ac58d23a0df485da
b7d55e6159e649cf8dfe4a882722f224--bbe92c9ec1174ad0ac58d23a0df485da
bbe92c9ec1174ad0ac58d23a0df485da--d7a0319e4c1146e3aa2e61a70597bf99
19c60c42772b44d99b8c720ecf07df4c
695cc515f3e04e08af489b969a7385cb
RX(theta₂)
9fb681b955064cf4b88270d3c330cd91--695cc515f3e04e08af489b969a7385cb
2e018fc55fad48d280d1fe06acd032c5
RY(theta₅)
695cc515f3e04e08af489b969a7385cb--2e018fc55fad48d280d1fe06acd032c5
1254976b54c349288a13323ab793b600
RX(theta₈)
2e018fc55fad48d280d1fe06acd032c5--1254976b54c349288a13323ab793b600
f6801a1bd9db458e9a0016043f27e443
1254976b54c349288a13323ab793b600--f6801a1bd9db458e9a0016043f27e443
985b207f1c874fc49bfa3d3a29562cc1
X
f6801a1bd9db458e9a0016043f27e443--985b207f1c874fc49bfa3d3a29562cc1
985b207f1c874fc49bfa3d3a29562cc1--1e814734001641e18ed8fc3862d34850
6aa5683d05d84d408aa57fb48df64307
RX(theta₁₁)
985b207f1c874fc49bfa3d3a29562cc1--6aa5683d05d84d408aa57fb48df64307
67195139213c4d9db1c26b4a6af8d5df
RY(theta₁₄)
6aa5683d05d84d408aa57fb48df64307--67195139213c4d9db1c26b4a6af8d5df
d9ac91ea6cb245d4b5ebffe47d782ed5
RX(theta₁₇)
67195139213c4d9db1c26b4a6af8d5df--d9ac91ea6cb245d4b5ebffe47d782ed5
fb067a6036e14b5f996f25f4dfce45fa
d9ac91ea6cb245d4b5ebffe47d782ed5--fb067a6036e14b5f996f25f4dfce45fa
0ae6ae83f45f418fb6c0eac7d32d0387
X
fb067a6036e14b5f996f25f4dfce45fa--0ae6ae83f45f418fb6c0eac7d32d0387
0ae6ae83f45f418fb6c0eac7d32d0387--bbe92c9ec1174ad0ac58d23a0df485da
0ae6ae83f45f418fb6c0eac7d32d0387--19c60c42772b44d99b8c720ecf07df4c
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
adbad74dc261461a9f70945aa975e990
0
00b21e05fe2c4fe4b0752fda449edfa6
RX(phi₀)
adbad74dc261461a9f70945aa975e990--00b21e05fe2c4fe4b0752fda449edfa6
12ecefe4858a42798f1df81fbf12888d
1
80f32003f1544ed48ae313ec8ab8c2cc
RY(phi₃)
00b21e05fe2c4fe4b0752fda449edfa6--80f32003f1544ed48ae313ec8ab8c2cc
af47d30b48a34464a35fc7b6bcf2a75f
RX(phi₆)
80f32003f1544ed48ae313ec8ab8c2cc--af47d30b48a34464a35fc7b6bcf2a75f
37a9cd32b68f48c293a444644575861a
af47d30b48a34464a35fc7b6bcf2a75f--37a9cd32b68f48c293a444644575861a
86a9c57989534f4c9fb4ecd283f2ceb1
37a9cd32b68f48c293a444644575861a--86a9c57989534f4c9fb4ecd283f2ceb1
bf5841b2df0c4635b75196d19e67f04c
RX(phi₉)
86a9c57989534f4c9fb4ecd283f2ceb1--bf5841b2df0c4635b75196d19e67f04c
78b9ba61e31f4906a1c7a8eb05651a94
RY(phi₁₂)
bf5841b2df0c4635b75196d19e67f04c--78b9ba61e31f4906a1c7a8eb05651a94
c8d3d2f91bee40f5a277508366821a2a
RX(phi₁₅)
78b9ba61e31f4906a1c7a8eb05651a94--c8d3d2f91bee40f5a277508366821a2a
a589e8b11f16487e91437835d7e0d7e8
c8d3d2f91bee40f5a277508366821a2a--a589e8b11f16487e91437835d7e0d7e8
3bf4993bb5f245829006e9bbf60ff411
a589e8b11f16487e91437835d7e0d7e8--3bf4993bb5f245829006e9bbf60ff411
b180c14ceec54606b13a1779c50d8dc9
3bf4993bb5f245829006e9bbf60ff411--b180c14ceec54606b13a1779c50d8dc9
4c97906be4c64118a168e4e58981f5aa
e2b3dd9399144c3d9540555a96e927e3
RX(phi₁)
12ecefe4858a42798f1df81fbf12888d--e2b3dd9399144c3d9540555a96e927e3
4004acc0af1841e8a92b4c8b6508e18f
2
4ce805b1d0de48cb9894f635b9ce68b7
RY(phi₄)
e2b3dd9399144c3d9540555a96e927e3--4ce805b1d0de48cb9894f635b9ce68b7
90bb0c2dcff3414a919541ecccc82f17
RX(phi₇)
4ce805b1d0de48cb9894f635b9ce68b7--90bb0c2dcff3414a919541ecccc82f17
0c9ccf4707974d2191c04fb65fe8e854
PHASE(phi_ent₀)
90bb0c2dcff3414a919541ecccc82f17--0c9ccf4707974d2191c04fb65fe8e854
0c9ccf4707974d2191c04fb65fe8e854--37a9cd32b68f48c293a444644575861a
97e82278361f4a32b2b94aa495deb557
0c9ccf4707974d2191c04fb65fe8e854--97e82278361f4a32b2b94aa495deb557
3628789889a74b5181d54e0990333693
RX(phi₁₀)
97e82278361f4a32b2b94aa495deb557--3628789889a74b5181d54e0990333693
5a5f4dd5d2c1431a84bb51f2e51f1054
RY(phi₁₃)
3628789889a74b5181d54e0990333693--5a5f4dd5d2c1431a84bb51f2e51f1054
c052d71702914fb9b7e301b318d565a3
RX(phi₁₆)
5a5f4dd5d2c1431a84bb51f2e51f1054--c052d71702914fb9b7e301b318d565a3
8f10edb366ba4cd89dbe9f387858d59d
PHASE(phi_ent₂)
c052d71702914fb9b7e301b318d565a3--8f10edb366ba4cd89dbe9f387858d59d
8f10edb366ba4cd89dbe9f387858d59d--a589e8b11f16487e91437835d7e0d7e8
33cf205111094a1a9fe809e6d2c82545
8f10edb366ba4cd89dbe9f387858d59d--33cf205111094a1a9fe809e6d2c82545
33cf205111094a1a9fe809e6d2c82545--4c97906be4c64118a168e4e58981f5aa
ac78d6eea79947278add52a6799ad5b0
fe8265d20f564219a270a493d3071144
RX(phi₂)
4004acc0af1841e8a92b4c8b6508e18f--fe8265d20f564219a270a493d3071144
45131705e79d4578bf9cb987807d0a06
RY(phi₅)
fe8265d20f564219a270a493d3071144--45131705e79d4578bf9cb987807d0a06
b0ee9a55b98e4012be1c9f89efc76405
RX(phi₈)
45131705e79d4578bf9cb987807d0a06--b0ee9a55b98e4012be1c9f89efc76405
2680c67c968f4e6b9a6ba5fb1b382524
b0ee9a55b98e4012be1c9f89efc76405--2680c67c968f4e6b9a6ba5fb1b382524
7650711225db483f9c56086778df4896
PHASE(phi_ent₁)
2680c67c968f4e6b9a6ba5fb1b382524--7650711225db483f9c56086778df4896
7650711225db483f9c56086778df4896--97e82278361f4a32b2b94aa495deb557
db08ea18850b4a7590d4661cf199026b
RX(phi₁₁)
7650711225db483f9c56086778df4896--db08ea18850b4a7590d4661cf199026b
96fc19ab787a4666869dc23c8cd26aa4
RY(phi₁₄)
db08ea18850b4a7590d4661cf199026b--96fc19ab787a4666869dc23c8cd26aa4
6080567b9f6e47d8b1f24712c990c42a
RX(phi₁₇)
96fc19ab787a4666869dc23c8cd26aa4--6080567b9f6e47d8b1f24712c990c42a
0c25d65b9c1647f7ba6d97efb9094263
6080567b9f6e47d8b1f24712c990c42a--0c25d65b9c1647f7ba6d97efb9094263
1cacdb6c2d0b40e49581258635d0332c
PHASE(phi_ent₃)
0c25d65b9c1647f7ba6d97efb9094263--1cacdb6c2d0b40e49581258635d0332c
1cacdb6c2d0b40e49581258635d0332c--33cf205111094a1a9fe809e6d2c82545
1cacdb6c2d0b40e49581258635d0332c--ac78d6eea79947278add52a6799ad5b0
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_15bb349f5cc44095a7a3e78e58cc9619
cluster_7303b30413b6446fa6670664dd66c192
e573fd9b45fc4c32a05b3aeee4e7c37e
0
0147cb73756145e88b110a3c86f7a6c5
RX(theta₀)
e573fd9b45fc4c32a05b3aeee4e7c37e--0147cb73756145e88b110a3c86f7a6c5
e5dfb436558741e7b786de5740e81d1c
1
18dfaaa94871436ba6de85d2da178de8
RY(theta₃)
0147cb73756145e88b110a3c86f7a6c5--18dfaaa94871436ba6de85d2da178de8
716cead5f6c94aaca9b543495021e8b1
RX(theta₆)
18dfaaa94871436ba6de85d2da178de8--716cead5f6c94aaca9b543495021e8b1
f7172c8e4f5d4941b3d229f3c2f36f67
HamEvo
716cead5f6c94aaca9b543495021e8b1--f7172c8e4f5d4941b3d229f3c2f36f67
88fe1fb6d8964aff8c7a19c91b4f9313
RX(theta₉)
f7172c8e4f5d4941b3d229f3c2f36f67--88fe1fb6d8964aff8c7a19c91b4f9313
3befe4ea746b40d6859ea0fa5ad1b83d
RY(theta₁₂)
88fe1fb6d8964aff8c7a19c91b4f9313--3befe4ea746b40d6859ea0fa5ad1b83d
1fa85d3ba8c24a2da9a7f2b00c922442
RX(theta₁₅)
3befe4ea746b40d6859ea0fa5ad1b83d--1fa85d3ba8c24a2da9a7f2b00c922442
64fe6548975e42da9880e799a46735e4
HamEvo
1fa85d3ba8c24a2da9a7f2b00c922442--64fe6548975e42da9880e799a46735e4
292595dbdbd54ce290ecab770c95c46b
64fe6548975e42da9880e799a46735e4--292595dbdbd54ce290ecab770c95c46b
166b6fb724694489903006216e953ebb
ccffab166ef94279b590bba11ed5e3c4
RX(theta₁)
e5dfb436558741e7b786de5740e81d1c--ccffab166ef94279b590bba11ed5e3c4
58336691f3564bab88939db689c53133
2
24dea53206614ae3af7d66474d1da42d
RY(theta₄)
ccffab166ef94279b590bba11ed5e3c4--24dea53206614ae3af7d66474d1da42d
61f41bffb0704872a3cf8a536be37486
RX(theta₇)
24dea53206614ae3af7d66474d1da42d--61f41bffb0704872a3cf8a536be37486
ce0bd55e3e574caf9bff0e038f9f6a2f
t = theta_t₀
61f41bffb0704872a3cf8a536be37486--ce0bd55e3e574caf9bff0e038f9f6a2f
3736fe0247174e5f9244087b0b42ada5
RX(theta₁₀)
ce0bd55e3e574caf9bff0e038f9f6a2f--3736fe0247174e5f9244087b0b42ada5
819cc265a5884b819dd12b7890a17c44
RY(theta₁₃)
3736fe0247174e5f9244087b0b42ada5--819cc265a5884b819dd12b7890a17c44
2d58b8c32a414ab18c110549b86a2e08
RX(theta₁₆)
819cc265a5884b819dd12b7890a17c44--2d58b8c32a414ab18c110549b86a2e08
cc60a5204f744094b95da7c7e6c638c7
t = theta_t₁
2d58b8c32a414ab18c110549b86a2e08--cc60a5204f744094b95da7c7e6c638c7
cc60a5204f744094b95da7c7e6c638c7--166b6fb724694489903006216e953ebb
e5c8dea642fe45ffa7b89251e77d92a7
c156c1a9fc76422fa6598e6612ca57a5
RX(theta₂)
58336691f3564bab88939db689c53133--c156c1a9fc76422fa6598e6612ca57a5
5e772488ea5442738c768a2f1345ef5a
RY(theta₅)
c156c1a9fc76422fa6598e6612ca57a5--5e772488ea5442738c768a2f1345ef5a
957a1206984240198eb23dd2d0c20c88
RX(theta₈)
5e772488ea5442738c768a2f1345ef5a--957a1206984240198eb23dd2d0c20c88
ac2266ae0422416292d912825ea55a62
957a1206984240198eb23dd2d0c20c88--ac2266ae0422416292d912825ea55a62
d8104e3c9cf34a6083b466708e0d97f0
RX(theta₁₁)
ac2266ae0422416292d912825ea55a62--d8104e3c9cf34a6083b466708e0d97f0
88f9f49b6db64734afe5af5948664ec4
RY(theta₁₄)
d8104e3c9cf34a6083b466708e0d97f0--88f9f49b6db64734afe5af5948664ec4
47123ad6e2db4154b520d7f249cf6340
RX(theta₁₇)
88f9f49b6db64734afe5af5948664ec4--47123ad6e2db4154b520d7f249cf6340
a2fe2366801c4b9bb1c9688b8c7727ea
47123ad6e2db4154b520d7f249cf6340--a2fe2366801c4b9bb1c9688b8c7727ea
a2fe2366801c4b9bb1c9688b8c7727ea--e5c8dea642fe45ffa7b89251e77d92a7
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_a86659e65b2345b38a06ddc040a5b85c
cluster_92bc43d2893b4017b857eb26f193bf3e
358636be2f53403cac88e7fb0618b109
0
090d0fa31a84414b9e937997e2d9fa1a
RX(theta₀)
358636be2f53403cac88e7fb0618b109--090d0fa31a84414b9e937997e2d9fa1a
4c641342192544b7a8b855122adf60a4
1
436d2b0126b843dfbb6281c989bb9fd4
RY(theta₆)
090d0fa31a84414b9e937997e2d9fa1a--436d2b0126b843dfbb6281c989bb9fd4
9901bee042904d329890bf703a8ade98
RX(theta₁₂)
436d2b0126b843dfbb6281c989bb9fd4--9901bee042904d329890bf703a8ade98
38ac0bccb7694c1f8b2bdba4f377f43d
9901bee042904d329890bf703a8ade98--38ac0bccb7694c1f8b2bdba4f377f43d
9ce6b5d12c0d42c391179075be9a9489
RX(theta₁₈)
38ac0bccb7694c1f8b2bdba4f377f43d--9ce6b5d12c0d42c391179075be9a9489
8cb438d4cb774e9d8bf647ae693b6767
RY(theta₂₄)
9ce6b5d12c0d42c391179075be9a9489--8cb438d4cb774e9d8bf647ae693b6767
d1a59ac3cfbd40579b19ed5f4da22ab0
RX(theta₃₀)
8cb438d4cb774e9d8bf647ae693b6767--d1a59ac3cfbd40579b19ed5f4da22ab0
294e4af3394e422ba269da272dd659cd
d1a59ac3cfbd40579b19ed5f4da22ab0--294e4af3394e422ba269da272dd659cd
4004d0c5f4524dddbee33c4b8c6a3214
294e4af3394e422ba269da272dd659cd--4004d0c5f4524dddbee33c4b8c6a3214
c1305571037045bab3161df449154c09
1547cea83ff94261beff3449d415a59c
RX(theta₁)
4c641342192544b7a8b855122adf60a4--1547cea83ff94261beff3449d415a59c
b37c2c328cc24348bb85401f64729c87
2
55effc74c483493a96436fb23ba72008
RY(theta₇)
1547cea83ff94261beff3449d415a59c--55effc74c483493a96436fb23ba72008
c164d07fec774e51a64b08540c1fae11
RX(theta₁₃)
55effc74c483493a96436fb23ba72008--c164d07fec774e51a64b08540c1fae11
c136cce710504906a77799e6b31eda0a
c164d07fec774e51a64b08540c1fae11--c136cce710504906a77799e6b31eda0a
bf8d6f5654dc475f95b29e3e40600f8d
RX(theta₁₉)
c136cce710504906a77799e6b31eda0a--bf8d6f5654dc475f95b29e3e40600f8d
f1d5c596e8154dc2b50cfa0383d1d21f
RY(theta₂₅)
bf8d6f5654dc475f95b29e3e40600f8d--f1d5c596e8154dc2b50cfa0383d1d21f
d57eedf42af14f458c617f6be5ca5a2d
RX(theta₃₁)
f1d5c596e8154dc2b50cfa0383d1d21f--d57eedf42af14f458c617f6be5ca5a2d
4df766f6a4c44ecba038fc81c5ce299c
d57eedf42af14f458c617f6be5ca5a2d--4df766f6a4c44ecba038fc81c5ce299c
4df766f6a4c44ecba038fc81c5ce299c--c1305571037045bab3161df449154c09
d299975e53d640ecaf715cb873776757
4cd6d47f62cc465685b29e2b62429ae6
RX(theta₂)
b37c2c328cc24348bb85401f64729c87--4cd6d47f62cc465685b29e2b62429ae6
b51d022a4cd549ecab29076fb5b31290
3
b57c61ef615e4905a8707dba70c07674
RY(theta₈)
4cd6d47f62cc465685b29e2b62429ae6--b57c61ef615e4905a8707dba70c07674
7f6af07fea4243b1beb4bd0a17ec36a5
RX(theta₁₄)
b57c61ef615e4905a8707dba70c07674--7f6af07fea4243b1beb4bd0a17ec36a5
d965287b1ec54c528df3b6ad9e9331a1
HamEvo
7f6af07fea4243b1beb4bd0a17ec36a5--d965287b1ec54c528df3b6ad9e9331a1
d3ef7a5aaa9046639a076fe40872fecf
RX(theta₂₀)
d965287b1ec54c528df3b6ad9e9331a1--d3ef7a5aaa9046639a076fe40872fecf
57c385c502c74e7599d550038e5f918d
RY(theta₂₆)
d3ef7a5aaa9046639a076fe40872fecf--57c385c502c74e7599d550038e5f918d
e10ca68cde9449f0b14458a8b4d2f7f3
RX(theta₃₂)
57c385c502c74e7599d550038e5f918d--e10ca68cde9449f0b14458a8b4d2f7f3
fa89276c15a54a3abc8d737d10ab9636
HamEvo
e10ca68cde9449f0b14458a8b4d2f7f3--fa89276c15a54a3abc8d737d10ab9636
fa89276c15a54a3abc8d737d10ab9636--d299975e53d640ecaf715cb873776757
e456c1461be44b4c8ac0532ce97db053
e4262e3a0e164a6cb163d3a80fa80c8b
RX(theta₃)
b51d022a4cd549ecab29076fb5b31290--e4262e3a0e164a6cb163d3a80fa80c8b
4d6b24f7ff0840669827c17914baf1ac
4
4159f659dde64d1a8904186932172c96
RY(theta₉)
e4262e3a0e164a6cb163d3a80fa80c8b--4159f659dde64d1a8904186932172c96
21966822c6504d4d852728d06f68e2f6
RX(theta₁₅)
4159f659dde64d1a8904186932172c96--21966822c6504d4d852728d06f68e2f6
7775fd321bbe493e8858be6f846429ce
t = theta_t₀
21966822c6504d4d852728d06f68e2f6--7775fd321bbe493e8858be6f846429ce
6c854bbacde9440f90347e380d887251
RX(theta₂₁)
7775fd321bbe493e8858be6f846429ce--6c854bbacde9440f90347e380d887251
c33268905358499cb0c78ec4f9008af3
RY(theta₂₇)
6c854bbacde9440f90347e380d887251--c33268905358499cb0c78ec4f9008af3
b6276fdb4d544985918bf7a06ae0b555
RX(theta₃₃)
c33268905358499cb0c78ec4f9008af3--b6276fdb4d544985918bf7a06ae0b555
7d87937c1e764dc5a4abc71cf80b2b3a
t = theta_t₁
b6276fdb4d544985918bf7a06ae0b555--7d87937c1e764dc5a4abc71cf80b2b3a
7d87937c1e764dc5a4abc71cf80b2b3a--e456c1461be44b4c8ac0532ce97db053
c5d0a59bad50443eaaf7e2c3f39fa1de
d2d9cdf7a22f4298ad52626601d65b46
RX(theta₄)
4d6b24f7ff0840669827c17914baf1ac--d2d9cdf7a22f4298ad52626601d65b46
1415deb6683b4bf9b92797436a7765b2
5
a63c42b6f6e54c5fb208be19e6c08c85
RY(theta₁₀)
d2d9cdf7a22f4298ad52626601d65b46--a63c42b6f6e54c5fb208be19e6c08c85
715f17c5a9e84a57b7ca6939391f8d82
RX(theta₁₆)
a63c42b6f6e54c5fb208be19e6c08c85--715f17c5a9e84a57b7ca6939391f8d82
484d5157134940cc8a2a6a6c6e7ef541
715f17c5a9e84a57b7ca6939391f8d82--484d5157134940cc8a2a6a6c6e7ef541
25c69d7f50904a4fa575184303a7c70e
RX(theta₂₂)
484d5157134940cc8a2a6a6c6e7ef541--25c69d7f50904a4fa575184303a7c70e
47e3da352e9246c2a598b3d7b1952b26
RY(theta₂₈)
25c69d7f50904a4fa575184303a7c70e--47e3da352e9246c2a598b3d7b1952b26
80b15ebd96c24ff5986b0e59d8cb1976
RX(theta₃₄)
47e3da352e9246c2a598b3d7b1952b26--80b15ebd96c24ff5986b0e59d8cb1976
377866f7b47a43fd86aa905553de8511
80b15ebd96c24ff5986b0e59d8cb1976--377866f7b47a43fd86aa905553de8511
377866f7b47a43fd86aa905553de8511--c5d0a59bad50443eaaf7e2c3f39fa1de
ea0bc73c6935462a9d75737d559b93f8
2421b6591096455b980288d0797f3d4c
RX(theta₅)
1415deb6683b4bf9b92797436a7765b2--2421b6591096455b980288d0797f3d4c
ba63a2b762f94fe18438a72d0e4c2a69
RY(theta₁₁)
2421b6591096455b980288d0797f3d4c--ba63a2b762f94fe18438a72d0e4c2a69
d687a028fbc6430b9e7b1bbed47033dd
RX(theta₁₇)
ba63a2b762f94fe18438a72d0e4c2a69--d687a028fbc6430b9e7b1bbed47033dd
e824b253d9e346e09458f63d24528892
d687a028fbc6430b9e7b1bbed47033dd--e824b253d9e346e09458f63d24528892
17ae16f4695348858d27a6e335c795b6
RX(theta₂₃)
e824b253d9e346e09458f63d24528892--17ae16f4695348858d27a6e335c795b6
a942319fe4d248bb8a660ff26f1353d6
RY(theta₂₉)
17ae16f4695348858d27a6e335c795b6--a942319fe4d248bb8a660ff26f1353d6
170c56d130464e0c9be7379cb7f9316b
RX(theta₃₅)
a942319fe4d248bb8a660ff26f1353d6--170c56d130464e0c9be7379cb7f9316b
c914685e0b28403f93c934578488c567
170c56d130464e0c9be7379cb7f9316b--c914685e0b28403f93c934578488c567
c914685e0b28403f93c934578488c567--ea0bc73c6935462a9d75737d559b93f8
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_e171823f138a4a81aae3fefcbb4c3cd9
BPMA-1
cluster_8345ee4dfaaf4ed7ad42aceb6cdbbabf
BPMA-0
22d658a6126e4144ae0db373fd40ca1b
0
20d1c9d84652465187946a16f95b1900
RX(iia_α₀₀)
22d658a6126e4144ae0db373fd40ca1b--20d1c9d84652465187946a16f95b1900
c1247904454f4b4fb9a6c3e15b79f109
1
1ef4a88a27354779ab11130ef23e3507
RY(iia_α₀₃)
20d1c9d84652465187946a16f95b1900--1ef4a88a27354779ab11130ef23e3507
2732301c15fe49808cce86d86b534e3f
1ef4a88a27354779ab11130ef23e3507--2732301c15fe49808cce86d86b534e3f
e1dd175c4fa145d28c5bc346c85cfa2a
2732301c15fe49808cce86d86b534e3f--e1dd175c4fa145d28c5bc346c85cfa2a
35a30d9caa3045e8b29dd44eb36b811a
RX(iia_γ₀₀)
e1dd175c4fa145d28c5bc346c85cfa2a--35a30d9caa3045e8b29dd44eb36b811a
23055f03dd864dafa8f7d805c456e503
35a30d9caa3045e8b29dd44eb36b811a--23055f03dd864dafa8f7d805c456e503
d7c029e279844447868451e76148c6d9
23055f03dd864dafa8f7d805c456e503--d7c029e279844447868451e76148c6d9
2d5309f3f7cd4e5484943b65949f3ec2
RY(iia_β₀₃)
d7c029e279844447868451e76148c6d9--2d5309f3f7cd4e5484943b65949f3ec2
bb321e6135804966a264eeddc5f7ad4f
RX(iia_β₀₀)
2d5309f3f7cd4e5484943b65949f3ec2--bb321e6135804966a264eeddc5f7ad4f
e69b55c6a02d40bfb9ba3527028c516b
RX(iia_α₁₀)
bb321e6135804966a264eeddc5f7ad4f--e69b55c6a02d40bfb9ba3527028c516b
8bfd32518b304615a23c63362837065a
RY(iia_α₁₃)
e69b55c6a02d40bfb9ba3527028c516b--8bfd32518b304615a23c63362837065a
de6d9ab143584e3a8eb823d1e599438c
8bfd32518b304615a23c63362837065a--de6d9ab143584e3a8eb823d1e599438c
ed36b03026c14f008d735ee5cba35384
de6d9ab143584e3a8eb823d1e599438c--ed36b03026c14f008d735ee5cba35384
256e1e142ff04a3a9b48abc8ca41e4a9
RX(iia_γ₁₀)
ed36b03026c14f008d735ee5cba35384--256e1e142ff04a3a9b48abc8ca41e4a9
7696070bd36d4e90bd15cc22acb519ab
256e1e142ff04a3a9b48abc8ca41e4a9--7696070bd36d4e90bd15cc22acb519ab
81eabbd49d144436bf79e1d4d9d3ebf5
7696070bd36d4e90bd15cc22acb519ab--81eabbd49d144436bf79e1d4d9d3ebf5
cad904bfa47e4b12b38ae11a53705c43
RY(iia_β₁₃)
81eabbd49d144436bf79e1d4d9d3ebf5--cad904bfa47e4b12b38ae11a53705c43
26b4fe58c7ca4762af4df705bf63f64d
RX(iia_β₁₀)
cad904bfa47e4b12b38ae11a53705c43--26b4fe58c7ca4762af4df705bf63f64d
994e609414fd4050a05ff17dc9419b4d
26b4fe58c7ca4762af4df705bf63f64d--994e609414fd4050a05ff17dc9419b4d
2bc7a5bcf5a44cac9a3ee8ba6712c4aa
1f00e83933d6497aa84f4b413c5eb966
RX(iia_α₀₁)
c1247904454f4b4fb9a6c3e15b79f109--1f00e83933d6497aa84f4b413c5eb966
79892bccbf244e41bff2376d07c6516e
2
e6f215a307ad42768b401c034c47fc1f
RY(iia_α₀₄)
1f00e83933d6497aa84f4b413c5eb966--e6f215a307ad42768b401c034c47fc1f
f3d504d6f2b94ddda50b052322014e7b
X
e6f215a307ad42768b401c034c47fc1f--f3d504d6f2b94ddda50b052322014e7b
f3d504d6f2b94ddda50b052322014e7b--2732301c15fe49808cce86d86b534e3f
9f87d5e0daf24283a86fa5a87a112412
f3d504d6f2b94ddda50b052322014e7b--9f87d5e0daf24283a86fa5a87a112412
31dea5fb964c4ad68106584bac30e693
RX(iia_γ₀₁)
9f87d5e0daf24283a86fa5a87a112412--31dea5fb964c4ad68106584bac30e693
28eee8d5bcb34ba1bc842b88c4cea981
31dea5fb964c4ad68106584bac30e693--28eee8d5bcb34ba1bc842b88c4cea981
c0275621a74d448e84c0fc81f31a902a
X
28eee8d5bcb34ba1bc842b88c4cea981--c0275621a74d448e84c0fc81f31a902a
c0275621a74d448e84c0fc81f31a902a--d7c029e279844447868451e76148c6d9
6da41e4fd4b24277bc7c2213c6e7010d
RY(iia_β₀₄)
c0275621a74d448e84c0fc81f31a902a--6da41e4fd4b24277bc7c2213c6e7010d
984ba9521b0a4ea5ade8095a00063315
RX(iia_β₀₁)
6da41e4fd4b24277bc7c2213c6e7010d--984ba9521b0a4ea5ade8095a00063315
f03016978ee8451599c4210fe9099b32
RX(iia_α₁₁)
984ba9521b0a4ea5ade8095a00063315--f03016978ee8451599c4210fe9099b32
cdee63ea983f4846b0b598bfcd486c67
RY(iia_α₁₄)
f03016978ee8451599c4210fe9099b32--cdee63ea983f4846b0b598bfcd486c67
5895bf3fe9e64363a3979dd16176be17
X
cdee63ea983f4846b0b598bfcd486c67--5895bf3fe9e64363a3979dd16176be17
5895bf3fe9e64363a3979dd16176be17--de6d9ab143584e3a8eb823d1e599438c
cd53717cf3eb479baa37942fee610393
5895bf3fe9e64363a3979dd16176be17--cd53717cf3eb479baa37942fee610393
a5ec41df37c84ceca0f5de2886614307
RX(iia_γ₁₁)
cd53717cf3eb479baa37942fee610393--a5ec41df37c84ceca0f5de2886614307
558f2554fd454a098c10604a8b2bd5e5
a5ec41df37c84ceca0f5de2886614307--558f2554fd454a098c10604a8b2bd5e5
e82bcb41c12041a99ff0ba9765e2e51d
X
558f2554fd454a098c10604a8b2bd5e5--e82bcb41c12041a99ff0ba9765e2e51d
e82bcb41c12041a99ff0ba9765e2e51d--81eabbd49d144436bf79e1d4d9d3ebf5
178055beeca54218a92ee7dc4d5e01f0
RY(iia_β₁₄)
e82bcb41c12041a99ff0ba9765e2e51d--178055beeca54218a92ee7dc4d5e01f0
017aadec6b9348aba5d32fc662248411
RX(iia_β₁₁)
178055beeca54218a92ee7dc4d5e01f0--017aadec6b9348aba5d32fc662248411
017aadec6b9348aba5d32fc662248411--2bc7a5bcf5a44cac9a3ee8ba6712c4aa
31e0da3015e943bb9e4725a45a5f4e47
68bf3856d54242b39a447d226c67c8af
RX(iia_α₀₂)
79892bccbf244e41bff2376d07c6516e--68bf3856d54242b39a447d226c67c8af
375f1edcb1794194be5d7ea61023532d
RY(iia_α₀₅)
68bf3856d54242b39a447d226c67c8af--375f1edcb1794194be5d7ea61023532d
dfde548153ec4033a8fc7048327a2b93
375f1edcb1794194be5d7ea61023532d--dfde548153ec4033a8fc7048327a2b93
989171c930c5406083c3395f74db6002
X
dfde548153ec4033a8fc7048327a2b93--989171c930c5406083c3395f74db6002
989171c930c5406083c3395f74db6002--9f87d5e0daf24283a86fa5a87a112412
e1d19373b5cb454b9030c342fd8deb40
RX(iia_γ₀₂)
989171c930c5406083c3395f74db6002--e1d19373b5cb454b9030c342fd8deb40
49f8fc51ba6148749428275ee689218a
X
e1d19373b5cb454b9030c342fd8deb40--49f8fc51ba6148749428275ee689218a
49f8fc51ba6148749428275ee689218a--28eee8d5bcb34ba1bc842b88c4cea981
07c4c12d493749ee94dba05e007b01b4
49f8fc51ba6148749428275ee689218a--07c4c12d493749ee94dba05e007b01b4
d5b22359c1f1430dbecd589298d1ac83
RY(iia_β₀₅)
07c4c12d493749ee94dba05e007b01b4--d5b22359c1f1430dbecd589298d1ac83
6090eb0dc49c4d96a1f19d598fa431fb
RX(iia_β₀₂)
d5b22359c1f1430dbecd589298d1ac83--6090eb0dc49c4d96a1f19d598fa431fb
19e2133af4bb4254a3d37e66cf5a990e
RX(iia_α₁₂)
6090eb0dc49c4d96a1f19d598fa431fb--19e2133af4bb4254a3d37e66cf5a990e
62631f16164e4bde85122d2ee44cd2eb
RY(iia_α₁₅)
19e2133af4bb4254a3d37e66cf5a990e--62631f16164e4bde85122d2ee44cd2eb
b1a31528a4164a70aeeb53e149508914
62631f16164e4bde85122d2ee44cd2eb--b1a31528a4164a70aeeb53e149508914
2127f1d7d31a497b9e06ce9807bafd3c
X
b1a31528a4164a70aeeb53e149508914--2127f1d7d31a497b9e06ce9807bafd3c
2127f1d7d31a497b9e06ce9807bafd3c--cd53717cf3eb479baa37942fee610393
154236c0d34d4216a9b905b811cd46a1
RX(iia_γ₁₂)
2127f1d7d31a497b9e06ce9807bafd3c--154236c0d34d4216a9b905b811cd46a1
6de469a4537d4c5cae2e56bfb4bde3b0
X
154236c0d34d4216a9b905b811cd46a1--6de469a4537d4c5cae2e56bfb4bde3b0
6de469a4537d4c5cae2e56bfb4bde3b0--558f2554fd454a098c10604a8b2bd5e5
a01414595cca4e919c7167a5af634ad3
6de469a4537d4c5cae2e56bfb4bde3b0--a01414595cca4e919c7167a5af634ad3
e2bc4f2a01ce4fa1b99039af54b9d4a8
RY(iia_β₁₅)
a01414595cca4e919c7167a5af634ad3--e2bc4f2a01ce4fa1b99039af54b9d4a8
b4ff9a96a25a4e7fb923db697c5d14ad
RX(iia_β₁₂)
e2bc4f2a01ce4fa1b99039af54b9d4a8--b4ff9a96a25a4e7fb923db697c5d14ad
b4ff9a96a25a4e7fb923db697c5d14ad--31e0da3015e943bb9e4725a45a5f4e47