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_a27798dba7104505a341d8ef03c29b81
Constant Chebyshev FM
cluster_d7957920b1d54db18ed089caf5ac0d66
Constant Fourier FM
9875f751569b466790fdbbdbe53d421f
0
1c2700c79dcc4182a4fab7c5c781ecf1
RX(phi)
9875f751569b466790fdbbdbe53d421f--1c2700c79dcc4182a4fab7c5c781ecf1
81c72f8bcf454ce1883184a84305c916
1
7a05717d7a2d43ee80f53921145958a5
RX(acos(phi))
1c2700c79dcc4182a4fab7c5c781ecf1--7a05717d7a2d43ee80f53921145958a5
9d1d72a4702c4ca2babb86f076143625
7a05717d7a2d43ee80f53921145958a5--9d1d72a4702c4ca2babb86f076143625
9848f1502fdf4727b5b39459ff7636df
11ba31855cff41fc96fe6a9f899b48be
RX(phi)
81c72f8bcf454ce1883184a84305c916--11ba31855cff41fc96fe6a9f899b48be
5c23ab225d2f48f2aa7b9a0b44e01337
2
e5f3943a28e54f889fd5ea1a25136fa4
RX(acos(phi))
11ba31855cff41fc96fe6a9f899b48be--e5f3943a28e54f889fd5ea1a25136fa4
e5f3943a28e54f889fd5ea1a25136fa4--9848f1502fdf4727b5b39459ff7636df
44cb40b9705d41cd9b068c6150bbea8c
9f74a67345aa42509fdef17fd91c4e8d
RX(phi)
5c23ab225d2f48f2aa7b9a0b44e01337--9f74a67345aa42509fdef17fd91c4e8d
ea97cd717f2943bebe9188c5561f298d
RX(acos(phi))
9f74a67345aa42509fdef17fd91c4e8d--ea97cd717f2943bebe9188c5561f298d
ea97cd717f2943bebe9188c5561f298d--44cb40b9705d41cd9b068c6150bbea8c
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_cd560fda7e784161bfafa2dfa910ff63
Constant <function custom_fn at 0x7f2769d217e0> FM
cluster_19f468f0f8654d608593b60156d7523b
Constant asin FM
93a00bd066da4875ab44abf8ef01884a
0
a6994f5371284bdf8475afbb9b6ca46f
RX(asin(phi))
93a00bd066da4875ab44abf8ef01884a--a6994f5371284bdf8475afbb9b6ca46f
b9c4e837976f451ab5c33add4683ad36
1
0e8b8ad68f484d35b0c7036cf2236965
RX(phi**2 + asin(phi))
a6994f5371284bdf8475afbb9b6ca46f--0e8b8ad68f484d35b0c7036cf2236965
060423e2b773419895bb127cf5deae1a
0e8b8ad68f484d35b0c7036cf2236965--060423e2b773419895bb127cf5deae1a
11f93c45d1f7408db1249314926b0be0
f515efe5e59d4290a1a6f3c9ef8babb0
RX(asin(phi))
b9c4e837976f451ab5c33add4683ad36--f515efe5e59d4290a1a6f3c9ef8babb0
faddade6c5e94e15adc207ea0aa62aef
2
c7f79e4672b2472a847b6de355976008
RX(phi**2 + asin(phi))
f515efe5e59d4290a1a6f3c9ef8babb0--c7f79e4672b2472a847b6de355976008
c7f79e4672b2472a847b6de355976008--11f93c45d1f7408db1249314926b0be0
9dbdc63897874129b3a626d4ff4beeac
cccb213d7bd34f318d50cfd897ceaf09
RX(asin(phi))
faddade6c5e94e15adc207ea0aa62aef--cccb213d7bd34f318d50cfd897ceaf09
2ac4697624e148fa80e75e98451b39eb
RX(phi**2 + asin(phi))
cccb213d7bd34f318d50cfd897ceaf09--2ac4697624e148fa80e75e98451b39eb
2ac4697624e148fa80e75e98451b39eb--9dbdc63897874129b3a626d4ff4beeac
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_b462c58b69d04643b5ced482d76f26ed
Exponential Fourier FM
cluster_b4c62f6494ac45688e5447f6a0931046
Constant Fourier FM
cluster_1362f26494ae43c296d09b54939619d0
Tower Fourier FM
385db09942eb45d48a0158c09c33ff0a
0
680660348acf4eaeaf1767b6fa3bdbbd
RX(phi)
385db09942eb45d48a0158c09c33ff0a--680660348acf4eaeaf1767b6fa3bdbbd
f8952bf9c71f4b03a94fa7f589437fca
1
2dd56a3e065f47cbb697d33c3ab2b16a
RX(1.0*phi)
680660348acf4eaeaf1767b6fa3bdbbd--2dd56a3e065f47cbb697d33c3ab2b16a
6c47a1e9de9f487facc838a0b9919218
RX(1.0*phi)
2dd56a3e065f47cbb697d33c3ab2b16a--6c47a1e9de9f487facc838a0b9919218
389293634e354716a7f31cd360400f0c
6c47a1e9de9f487facc838a0b9919218--389293634e354716a7f31cd360400f0c
0d962b34223743ba9ff37cce1bc116e1
977f059aec0544ab90ee6bb080cd2a1b
RX(phi)
f8952bf9c71f4b03a94fa7f589437fca--977f059aec0544ab90ee6bb080cd2a1b
5b2971a6ada04401aa96d2e7353681bb
2
6446102d4f13457aad20fdaf022d9002
RX(2.0*phi)
977f059aec0544ab90ee6bb080cd2a1b--6446102d4f13457aad20fdaf022d9002
58532a970c864cd493b077cbccec1280
RX(2.0*phi)
6446102d4f13457aad20fdaf022d9002--58532a970c864cd493b077cbccec1280
58532a970c864cd493b077cbccec1280--0d962b34223743ba9ff37cce1bc116e1
26c93f4c73484f258a5dae4e57a0e3f0
6c6c93574890414a843840fa7af0e31a
RX(phi)
5b2971a6ada04401aa96d2e7353681bb--6c6c93574890414a843840fa7af0e31a
a6db431d7d7f414b9ec55064e17c629d
3
09e82ae5ae5547a6b95ab07e6ce9e89a
RX(3.0*phi)
6c6c93574890414a843840fa7af0e31a--09e82ae5ae5547a6b95ab07e6ce9e89a
04a2bbca93bd439d8d4cb9bc517de901
RX(4.0*phi)
09e82ae5ae5547a6b95ab07e6ce9e89a--04a2bbca93bd439d8d4cb9bc517de901
04a2bbca93bd439d8d4cb9bc517de901--26c93f4c73484f258a5dae4e57a0e3f0
a8d5dbc9d4f548d4a477b6e3df6a30f3
e1a5f663a1034eee90943a70d9370385
RX(phi)
a6db431d7d7f414b9ec55064e17c629d--e1a5f663a1034eee90943a70d9370385
fc9cce24b6a94b959801eb30ae53100c
4
f1059790cc974c008f05f033aac2bc4b
RX(4.0*phi)
e1a5f663a1034eee90943a70d9370385--f1059790cc974c008f05f033aac2bc4b
4d7fa27f0c01405f9f6ca22d21df1c51
RX(8.0*phi)
f1059790cc974c008f05f033aac2bc4b--4d7fa27f0c01405f9f6ca22d21df1c51
4d7fa27f0c01405f9f6ca22d21df1c51--a8d5dbc9d4f548d4a477b6e3df6a30f3
3eb9d3beae6a4ac48b4e799169d8f5d7
8a28b34db545430c977eeade99d9c130
RX(phi)
fc9cce24b6a94b959801eb30ae53100c--8a28b34db545430c977eeade99d9c130
ad648cd8c6cd49f2b3f2a57f37dd84cd
RX(5.0*phi)
8a28b34db545430c977eeade99d9c130--ad648cd8c6cd49f2b3f2a57f37dd84cd
7002bfa225b44d97a5c1a09768c656c6
RX(16.0*phi)
ad648cd8c6cd49f2b3f2a57f37dd84cd--7002bfa225b44d97a5c1a09768c656c6
7002bfa225b44d97a5c1a09768c656c6--3eb9d3beae6a4ac48b4e799169d8f5d7
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
8f0c8e24ea7940e6b3d2cc079737324a
0
6a92b89242474f2b82598eb678f49141
RX(1.0*acos(phi))
8f0c8e24ea7940e6b3d2cc079737324a--6a92b89242474f2b82598eb678f49141
8176e304af82419db15e371034d020bf
1
53c604de32f744ef897a3091b4667574
6a92b89242474f2b82598eb678f49141--53c604de32f744ef897a3091b4667574
040bc85c12d44bd1ba78a07d7a549854
d43445bb642a4d9999d3f9de4ff69e1a
RX(1.414*acos(phi))
8176e304af82419db15e371034d020bf--d43445bb642a4d9999d3f9de4ff69e1a
fad897f57f504206a2a234cba56cd653
2
d43445bb642a4d9999d3f9de4ff69e1a--040bc85c12d44bd1ba78a07d7a549854
84857a8c691a45029ddb70ee1148b66c
c442bc65b7164b83ade5800e8bc652f8
RX(1.732*acos(phi))
fad897f57f504206a2a234cba56cd653--c442bc65b7164b83ade5800e8bc652f8
3715f574f0134efc81be5ab5494d1be6
3
c442bc65b7164b83ade5800e8bc652f8--84857a8c691a45029ddb70ee1148b66c
be80c872e3c745f4b44e4f9a0665f0a4
413392458f8a47fa9999163517240297
RX(2.0*acos(phi))
3715f574f0134efc81be5ab5494d1be6--413392458f8a47fa9999163517240297
ad78836c264641fd8a9d67fbe640f7aa
4
413392458f8a47fa9999163517240297--be80c872e3c745f4b44e4f9a0665f0a4
1ed4e947546e40a4aee07d54aa249e82
0e4c6ddfb2ba4d83949d309eb7488e84
RX(2.236*acos(phi))
ad78836c264641fd8a9d67fbe640f7aa--0e4c6ddfb2ba4d83949d309eb7488e84
0e4c6ddfb2ba4d83949d309eb7488e84--1ed4e947546e40a4aee07d54aa249e82
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
52a4b39a19a44faf9ced7780fd914628
0
c1af6e59796043dbb8896a61b4f3a45a
RX(1.0*phi*w₀)
52a4b39a19a44faf9ced7780fd914628--c1af6e59796043dbb8896a61b4f3a45a
32d88db0069d40329b2ade5c48267a3e
1
bded54e0c3d149cf8c2020c56e2141d1
c1af6e59796043dbb8896a61b4f3a45a--bded54e0c3d149cf8c2020c56e2141d1
d868f92923e1418694dca8f8839f5a83
3af831cc12b84a119b051b19d3dc34dc
RX(2.0*phi*w₁)
32d88db0069d40329b2ade5c48267a3e--3af831cc12b84a119b051b19d3dc34dc
677a780708d2455b8f6eab73768449e9
2
3af831cc12b84a119b051b19d3dc34dc--d868f92923e1418694dca8f8839f5a83
bf163e6e35ef4b05a5215aed3ad90a9b
2b71f66b8fe748a2bd30ea7afdf5b5e5
RX(4.0*phi*w₂)
677a780708d2455b8f6eab73768449e9--2b71f66b8fe748a2bd30ea7afdf5b5e5
95986be1b2e341d9819084237871f657
3
2b71f66b8fe748a2bd30ea7afdf5b5e5--bf163e6e35ef4b05a5215aed3ad90a9b
e6f87354f78f4b23a680ef61648029fb
e2aa8fb712b740ac952f9ca3acff0599
RX(8.0*phi*w₃)
95986be1b2e341d9819084237871f657--e2aa8fb712b740ac952f9ca3acff0599
30c2c057f8394c19a902b593528a2f03
4
e2aa8fb712b740ac952f9ca3acff0599--e6f87354f78f4b23a680ef61648029fb
ca384fbda11748939cd6a69b43e9a602
08e02b3067d949c8b3ad9a041cb2a413
RX(16.0*phi*w₄)
30c2c057f8394c19a902b593528a2f03--08e02b3067d949c8b3ad9a041cb2a413
08e02b3067d949c8b3ad9a041cb2a413--ca384fbda11748939cd6a69b43e9a602
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
9ead2eca855947019261bf50b6c2700e
0
0ce41046ccb248b8b19fcc146e613558
RY(80.0*acos(w₄*(0.667*x + 1.667)))
9ead2eca855947019261bf50b6c2700e--0ce41046ccb248b8b19fcc146e613558
388c750b73ef43f6b913567658a4b8e3
1
2266997e74f54d4b81cbd9013e1254e8
0ce41046ccb248b8b19fcc146e613558--2266997e74f54d4b81cbd9013e1254e8
754603a83fa345009a29c1ad11da8a45
4b3cfa493d644bcaa58b10f72e4d65c6
RY(40.0*acos(w₃*(0.667*x + 1.667)))
388c750b73ef43f6b913567658a4b8e3--4b3cfa493d644bcaa58b10f72e4d65c6
1d4137e3ba6f4f1bbe5145819bb34685
2
4b3cfa493d644bcaa58b10f72e4d65c6--754603a83fa345009a29c1ad11da8a45
9e670e12f307417c9f06033d1215c818
f1ff8d17ee21437fa0b5a62aafd6099a
RY(20.0*acos(w₂*(0.667*x + 1.667)))
1d4137e3ba6f4f1bbe5145819bb34685--f1ff8d17ee21437fa0b5a62aafd6099a
793010b8deb849cd862d86ef60b28b5b
3
f1ff8d17ee21437fa0b5a62aafd6099a--9e670e12f307417c9f06033d1215c818
60f2f69a21e841db982b7e26f42195be
613145d006d14d829635525ff438d60e
RY(10.0*acos(w₁*(0.667*x + 1.667)))
793010b8deb849cd862d86ef60b28b5b--613145d006d14d829635525ff438d60e
bf02d8f697e34a92b871ed210a737264
4
613145d006d14d829635525ff438d60e--60f2f69a21e841db982b7e26f42195be
2f39aad1a8d4416798a636912c81f93d
5c75c7e0d57d44698fbe4b8eb500113c
RY(5.0*acos(w₀*(0.667*x + 1.667)))
bf02d8f697e34a92b871ed210a737264--5c75c7e0d57d44698fbe4b8eb500113c
5c75c7e0d57d44698fbe4b8eb500113c--2f39aad1a8d4416798a636912c81f93d
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
27ef1f0c44d54286815d1b499168fff5
0
56f0f1d879a74977baf2fa4514e36331
RX(theta₀)
27ef1f0c44d54286815d1b499168fff5--56f0f1d879a74977baf2fa4514e36331
3f0848228cf14c839ce63ef1405d8639
1
981954c726db4774a3399331af8fd90f
RY(theta₃)
56f0f1d879a74977baf2fa4514e36331--981954c726db4774a3399331af8fd90f
842639d698844f0db10a4f8daadd9606
RX(theta₆)
981954c726db4774a3399331af8fd90f--842639d698844f0db10a4f8daadd9606
8127dbf931e9473dbe01edc06aa4a061
842639d698844f0db10a4f8daadd9606--8127dbf931e9473dbe01edc06aa4a061
328c0ce4ee8c42e193c8f087fcb51d97
8127dbf931e9473dbe01edc06aa4a061--328c0ce4ee8c42e193c8f087fcb51d97
3172f960160045bd85460610bbe59fbe
RX(theta₉)
328c0ce4ee8c42e193c8f087fcb51d97--3172f960160045bd85460610bbe59fbe
0973e7e475644e7c91295ca0bb636295
RY(theta₁₂)
3172f960160045bd85460610bbe59fbe--0973e7e475644e7c91295ca0bb636295
5eabc02b3ee946bf9de8a73c503453d2
RX(theta₁₅)
0973e7e475644e7c91295ca0bb636295--5eabc02b3ee946bf9de8a73c503453d2
a9524a5e54e9441e8c75fe7a64053d72
5eabc02b3ee946bf9de8a73c503453d2--a9524a5e54e9441e8c75fe7a64053d72
496b98892f4940feba6e93455ae1581f
a9524a5e54e9441e8c75fe7a64053d72--496b98892f4940feba6e93455ae1581f
e496f6051a1c452cb2bc9b6b4cb7f931
496b98892f4940feba6e93455ae1581f--e496f6051a1c452cb2bc9b6b4cb7f931
a3a176851efa49269820c5f3f26b5f73
4870229eac17434f9c19536da8bcbb46
RX(theta₁)
3f0848228cf14c839ce63ef1405d8639--4870229eac17434f9c19536da8bcbb46
4805b73100694923b04ce9dda3ccb66e
2
0a237d3fa61648a0ae55f9c31d21b6ba
RY(theta₄)
4870229eac17434f9c19536da8bcbb46--0a237d3fa61648a0ae55f9c31d21b6ba
395593bb581044a8bf3017a04dc7b417
RX(theta₇)
0a237d3fa61648a0ae55f9c31d21b6ba--395593bb581044a8bf3017a04dc7b417
3de21946bdb3435ea562f20e83d09fe6
X
395593bb581044a8bf3017a04dc7b417--3de21946bdb3435ea562f20e83d09fe6
3de21946bdb3435ea562f20e83d09fe6--8127dbf931e9473dbe01edc06aa4a061
c9c56862cbbe41e6be4ee860ca1f1fb5
3de21946bdb3435ea562f20e83d09fe6--c9c56862cbbe41e6be4ee860ca1f1fb5
015855a09d404532b9132f1978f583f3
RX(theta₁₀)
c9c56862cbbe41e6be4ee860ca1f1fb5--015855a09d404532b9132f1978f583f3
47ce484260434b8d9b7387b9c57c84e0
RY(theta₁₃)
015855a09d404532b9132f1978f583f3--47ce484260434b8d9b7387b9c57c84e0
c09928a9e3d6454d89281f1896df9da4
RX(theta₁₆)
47ce484260434b8d9b7387b9c57c84e0--c09928a9e3d6454d89281f1896df9da4
d95d10715a2148cf822369c9fd574414
X
c09928a9e3d6454d89281f1896df9da4--d95d10715a2148cf822369c9fd574414
d95d10715a2148cf822369c9fd574414--a9524a5e54e9441e8c75fe7a64053d72
8d3f1e87e6a5419ab264bd8e955b1bed
d95d10715a2148cf822369c9fd574414--8d3f1e87e6a5419ab264bd8e955b1bed
8d3f1e87e6a5419ab264bd8e955b1bed--a3a176851efa49269820c5f3f26b5f73
1f63499e53084c4fa175a6bd0c0218dc
9631c5fd7188468783456a1b07352d57
RX(theta₂)
4805b73100694923b04ce9dda3ccb66e--9631c5fd7188468783456a1b07352d57
30699d4503af4d6385e63aebdeee8133
RY(theta₅)
9631c5fd7188468783456a1b07352d57--30699d4503af4d6385e63aebdeee8133
80f9b00f400e44349ed85ed97017b93b
RX(theta₈)
30699d4503af4d6385e63aebdeee8133--80f9b00f400e44349ed85ed97017b93b
fc55807f62ea4d1fbd80dd900900d371
80f9b00f400e44349ed85ed97017b93b--fc55807f62ea4d1fbd80dd900900d371
4090e6a2fa044ed784a297625bea2bd3
X
fc55807f62ea4d1fbd80dd900900d371--4090e6a2fa044ed784a297625bea2bd3
4090e6a2fa044ed784a297625bea2bd3--c9c56862cbbe41e6be4ee860ca1f1fb5
db91e2282e954e508f46df551f871868
RX(theta₁₁)
4090e6a2fa044ed784a297625bea2bd3--db91e2282e954e508f46df551f871868
a1106b9ac9584eb5955e087ccf5a3a11
RY(theta₁₄)
db91e2282e954e508f46df551f871868--a1106b9ac9584eb5955e087ccf5a3a11
301f3af0e40c47abb713f9ad41d33a62
RX(theta₁₇)
a1106b9ac9584eb5955e087ccf5a3a11--301f3af0e40c47abb713f9ad41d33a62
da2aaa12ec114694ba838adff1af511e
301f3af0e40c47abb713f9ad41d33a62--da2aaa12ec114694ba838adff1af511e
fd7d6f09e20c4e45ae9d314176f2de0d
X
da2aaa12ec114694ba838adff1af511e--fd7d6f09e20c4e45ae9d314176f2de0d
fd7d6f09e20c4e45ae9d314176f2de0d--8d3f1e87e6a5419ab264bd8e955b1bed
fd7d6f09e20c4e45ae9d314176f2de0d--1f63499e53084c4fa175a6bd0c0218dc
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
7f8891d2c854440081dbce8f81592233
0
c31b9b5d98f848ddbd77f67d11715117
RX(phi₀)
7f8891d2c854440081dbce8f81592233--c31b9b5d98f848ddbd77f67d11715117
bb51301841e64e14a296a776b443373f
1
d1165a4bd7a14eedb726c20e253859cb
RY(phi₃)
c31b9b5d98f848ddbd77f67d11715117--d1165a4bd7a14eedb726c20e253859cb
190f481e8ad944e29e3f91497e98cd80
RX(phi₆)
d1165a4bd7a14eedb726c20e253859cb--190f481e8ad944e29e3f91497e98cd80
c9bf8daab9214dabad56eb609737b78a
190f481e8ad944e29e3f91497e98cd80--c9bf8daab9214dabad56eb609737b78a
3dd98176ac7548dcbe1ebb49970fdb9a
c9bf8daab9214dabad56eb609737b78a--3dd98176ac7548dcbe1ebb49970fdb9a
2556ddcb6cdd4aaba998b7e2174967be
RX(phi₉)
3dd98176ac7548dcbe1ebb49970fdb9a--2556ddcb6cdd4aaba998b7e2174967be
a8c52ae0f56c437f81b2870ebe86e29b
RY(phi₁₂)
2556ddcb6cdd4aaba998b7e2174967be--a8c52ae0f56c437f81b2870ebe86e29b
1a6287d5296c4743810d3bf6b2ec3090
RX(phi₁₅)
a8c52ae0f56c437f81b2870ebe86e29b--1a6287d5296c4743810d3bf6b2ec3090
d2350ad252094c4c8c147cc8155a8bf8
1a6287d5296c4743810d3bf6b2ec3090--d2350ad252094c4c8c147cc8155a8bf8
2d6f028f8e094146ae764fbde878d95d
d2350ad252094c4c8c147cc8155a8bf8--2d6f028f8e094146ae764fbde878d95d
2102654c68ae42fe9c5798bb7ea8a449
2d6f028f8e094146ae764fbde878d95d--2102654c68ae42fe9c5798bb7ea8a449
0546ce0e807d497b8f005276c0399ee5
7c4cab7b951d4bbc9be7960bf05f3c5e
RX(phi₁)
bb51301841e64e14a296a776b443373f--7c4cab7b951d4bbc9be7960bf05f3c5e
39afcf94de8044e4b57aeb71259ab00a
2
84878b73f33549df98cc1a28754eff96
RY(phi₄)
7c4cab7b951d4bbc9be7960bf05f3c5e--84878b73f33549df98cc1a28754eff96
e2255bf7acec4e3f8aee41dea5090514
RX(phi₇)
84878b73f33549df98cc1a28754eff96--e2255bf7acec4e3f8aee41dea5090514
a70c4f5dcfba450191b1da21919e579e
PHASE(phi_ent₀)
e2255bf7acec4e3f8aee41dea5090514--a70c4f5dcfba450191b1da21919e579e
a70c4f5dcfba450191b1da21919e579e--c9bf8daab9214dabad56eb609737b78a
2682610e8c234712b2277ab5de68fa2b
a70c4f5dcfba450191b1da21919e579e--2682610e8c234712b2277ab5de68fa2b
582ac989687c4949ae3f597df3432521
RX(phi₁₀)
2682610e8c234712b2277ab5de68fa2b--582ac989687c4949ae3f597df3432521
a0c36f65b30c42b59f701f563602c45b
RY(phi₁₃)
582ac989687c4949ae3f597df3432521--a0c36f65b30c42b59f701f563602c45b
fd6388e469de4dd98070b2ca9c4dc4de
RX(phi₁₆)
a0c36f65b30c42b59f701f563602c45b--fd6388e469de4dd98070b2ca9c4dc4de
e3113c6eb0bc464e9c513f26377c936d
PHASE(phi_ent₂)
fd6388e469de4dd98070b2ca9c4dc4de--e3113c6eb0bc464e9c513f26377c936d
e3113c6eb0bc464e9c513f26377c936d--d2350ad252094c4c8c147cc8155a8bf8
2ece10b65f3b4d978b754747158a618b
e3113c6eb0bc464e9c513f26377c936d--2ece10b65f3b4d978b754747158a618b
2ece10b65f3b4d978b754747158a618b--0546ce0e807d497b8f005276c0399ee5
a68577ed278749c784c3fe8a56d0752f
03ad4f3c697f4223a2c9f06365fabb8c
RX(phi₂)
39afcf94de8044e4b57aeb71259ab00a--03ad4f3c697f4223a2c9f06365fabb8c
f37875272250470a98537c952daeae97
RY(phi₅)
03ad4f3c697f4223a2c9f06365fabb8c--f37875272250470a98537c952daeae97
9cb16f9560cf48f39a4d0ed66bddbe8f
RX(phi₈)
f37875272250470a98537c952daeae97--9cb16f9560cf48f39a4d0ed66bddbe8f
33b4cac0fd984731ba926703c6aed6dd
9cb16f9560cf48f39a4d0ed66bddbe8f--33b4cac0fd984731ba926703c6aed6dd
056b1dd3988540f398b45d39cc077b29
PHASE(phi_ent₁)
33b4cac0fd984731ba926703c6aed6dd--056b1dd3988540f398b45d39cc077b29
056b1dd3988540f398b45d39cc077b29--2682610e8c234712b2277ab5de68fa2b
96a520a5d48948f1bcc07d82c1854f36
RX(phi₁₁)
056b1dd3988540f398b45d39cc077b29--96a520a5d48948f1bcc07d82c1854f36
2497ee9b325b49cab5f43e8a6f676f8a
RY(phi₁₄)
96a520a5d48948f1bcc07d82c1854f36--2497ee9b325b49cab5f43e8a6f676f8a
09aea1f2b7ca43d8a862c64d34c69b88
RX(phi₁₇)
2497ee9b325b49cab5f43e8a6f676f8a--09aea1f2b7ca43d8a862c64d34c69b88
f817b3d3d6f34479b3831b65f8653052
09aea1f2b7ca43d8a862c64d34c69b88--f817b3d3d6f34479b3831b65f8653052
3897ce5affc24e1a8d6bd8ecbc408acd
PHASE(phi_ent₃)
f817b3d3d6f34479b3831b65f8653052--3897ce5affc24e1a8d6bd8ecbc408acd
3897ce5affc24e1a8d6bd8ecbc408acd--2ece10b65f3b4d978b754747158a618b
3897ce5affc24e1a8d6bd8ecbc408acd--a68577ed278749c784c3fe8a56d0752f
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_52c13ce0296a4e6d891a777131d0f128
cluster_b22b0038d8db4d9b97ff8c9ec7664443
7abe08b517d1430aa54c7d153d0165d9
0
8050c8e6809a45bc8d7c9d76e9b8fae4
RX(theta₀)
7abe08b517d1430aa54c7d153d0165d9--8050c8e6809a45bc8d7c9d76e9b8fae4
d36495091e724272bc90c850f7113faa
1
5fe8725078954b7989c40fc17c28cd05
RY(theta₃)
8050c8e6809a45bc8d7c9d76e9b8fae4--5fe8725078954b7989c40fc17c28cd05
a249f5459cd8458d830f4dfdbc2f543d
RX(theta₆)
5fe8725078954b7989c40fc17c28cd05--a249f5459cd8458d830f4dfdbc2f543d
294b3fdd99e94dad8c4805105615d04f
HamEvo
a249f5459cd8458d830f4dfdbc2f543d--294b3fdd99e94dad8c4805105615d04f
18fecc05bc404f478bc2d67b15dec1c0
RX(theta₉)
294b3fdd99e94dad8c4805105615d04f--18fecc05bc404f478bc2d67b15dec1c0
c7f1d00aaba94247ad0050ba185aef1c
RY(theta₁₂)
18fecc05bc404f478bc2d67b15dec1c0--c7f1d00aaba94247ad0050ba185aef1c
43ed3703a5294f7d960390750cd109fb
RX(theta₁₅)
c7f1d00aaba94247ad0050ba185aef1c--43ed3703a5294f7d960390750cd109fb
1d5b7e2a51514e14876a637a9fbba32d
HamEvo
43ed3703a5294f7d960390750cd109fb--1d5b7e2a51514e14876a637a9fbba32d
0633023131e442a8bc6afd18c4b266ad
1d5b7e2a51514e14876a637a9fbba32d--0633023131e442a8bc6afd18c4b266ad
c95d97f4aad640e9a2830543c541d849
194112b4f338461e9a5a301362161da2
RX(theta₁)
d36495091e724272bc90c850f7113faa--194112b4f338461e9a5a301362161da2
09913546b1264fa1ace97d25fa1ef704
2
3dfd1ef662754a6b9eab6820e802ec0b
RY(theta₄)
194112b4f338461e9a5a301362161da2--3dfd1ef662754a6b9eab6820e802ec0b
d204ba6ea62749adad932efc49e3b862
RX(theta₇)
3dfd1ef662754a6b9eab6820e802ec0b--d204ba6ea62749adad932efc49e3b862
b9f2c9c0e79e4ec7a24cb83cfb6f7ba7
t = theta_t₀
d204ba6ea62749adad932efc49e3b862--b9f2c9c0e79e4ec7a24cb83cfb6f7ba7
f7c93f70e9574d8189c8b9530da0f587
RX(theta₁₀)
b9f2c9c0e79e4ec7a24cb83cfb6f7ba7--f7c93f70e9574d8189c8b9530da0f587
6a14667a510344859550e38b0265353f
RY(theta₁₃)
f7c93f70e9574d8189c8b9530da0f587--6a14667a510344859550e38b0265353f
91d4b8c6339b4c879ffe866642c4fbc2
RX(theta₁₆)
6a14667a510344859550e38b0265353f--91d4b8c6339b4c879ffe866642c4fbc2
e1711ade7af3446b9f880095c3ad921b
t = theta_t₁
91d4b8c6339b4c879ffe866642c4fbc2--e1711ade7af3446b9f880095c3ad921b
e1711ade7af3446b9f880095c3ad921b--c95d97f4aad640e9a2830543c541d849
1f1f8459cd7448678b8a8c27409fe51b
eb908cf246e148be825c303d4adb65ab
RX(theta₂)
09913546b1264fa1ace97d25fa1ef704--eb908cf246e148be825c303d4adb65ab
89e5d117b7e248118850656076e90dbb
RY(theta₅)
eb908cf246e148be825c303d4adb65ab--89e5d117b7e248118850656076e90dbb
25a5863c776c4fd4a572d23b68befb7a
RX(theta₈)
89e5d117b7e248118850656076e90dbb--25a5863c776c4fd4a572d23b68befb7a
20f6d776266442efb35ad1273bf9b0ff
25a5863c776c4fd4a572d23b68befb7a--20f6d776266442efb35ad1273bf9b0ff
d6b0e9d0ffcb404eb8b9748bc217e815
RX(theta₁₁)
20f6d776266442efb35ad1273bf9b0ff--d6b0e9d0ffcb404eb8b9748bc217e815
9bbae2fc37aa4f30b9ec5e21da76f896
RY(theta₁₄)
d6b0e9d0ffcb404eb8b9748bc217e815--9bbae2fc37aa4f30b9ec5e21da76f896
649c286ab5da4326a30cc27424c7c40d
RX(theta₁₇)
9bbae2fc37aa4f30b9ec5e21da76f896--649c286ab5da4326a30cc27424c7c40d
5a8672d403bb42768d3d6b47796260f0
649c286ab5da4326a30cc27424c7c40d--5a8672d403bb42768d3d6b47796260f0
5a8672d403bb42768d3d6b47796260f0--1f1f8459cd7448678b8a8c27409fe51b
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_bcd9aaa81ad94d6087bb6a665bcb86d8
cluster_95317e7e6338452aae3bc95411a8320f
a438155ce6754d83a3a76e2ec15155b0
0
ce7ad46a3de5493a9cabb8015677dab8
RX(theta₀)
a438155ce6754d83a3a76e2ec15155b0--ce7ad46a3de5493a9cabb8015677dab8
184994da88334b1eb02ece12240fbae1
1
e7520feef74d4a259f1aaf0b849101f7
RY(theta₆)
ce7ad46a3de5493a9cabb8015677dab8--e7520feef74d4a259f1aaf0b849101f7
629546eccba848dcace8b57f7d4df78f
RX(theta₁₂)
e7520feef74d4a259f1aaf0b849101f7--629546eccba848dcace8b57f7d4df78f
c0414241b7f040fa88329b6b049f35b7
629546eccba848dcace8b57f7d4df78f--c0414241b7f040fa88329b6b049f35b7
98fba424550a42bda409e3d1d219d7e7
RX(theta₁₈)
c0414241b7f040fa88329b6b049f35b7--98fba424550a42bda409e3d1d219d7e7
c3d01843c5274e1e8831f4faaea0afa0
RY(theta₂₄)
98fba424550a42bda409e3d1d219d7e7--c3d01843c5274e1e8831f4faaea0afa0
f17c0190b06f45a9899173996789b6ef
RX(theta₃₀)
c3d01843c5274e1e8831f4faaea0afa0--f17c0190b06f45a9899173996789b6ef
5805f48ecd1545a5a406dae36e9f3dce
f17c0190b06f45a9899173996789b6ef--5805f48ecd1545a5a406dae36e9f3dce
28c2af8f46844ccc8c82003d2d58d765
5805f48ecd1545a5a406dae36e9f3dce--28c2af8f46844ccc8c82003d2d58d765
3d19249e0c3c49698cd8a348d6e9810b
eb18e1a5c3154b2ba11367bb137ac72b
RX(theta₁)
184994da88334b1eb02ece12240fbae1--eb18e1a5c3154b2ba11367bb137ac72b
29910e9a93ac4a06accacef73d7dc61f
2
2d9c9a89237b49cfb7b7e4cd22ab5525
RY(theta₇)
eb18e1a5c3154b2ba11367bb137ac72b--2d9c9a89237b49cfb7b7e4cd22ab5525
b8a30400b7e14410b118597de6b3d08a
RX(theta₁₃)
2d9c9a89237b49cfb7b7e4cd22ab5525--b8a30400b7e14410b118597de6b3d08a
fa4ceb67e5784ad58c68d978c5f4bd50
b8a30400b7e14410b118597de6b3d08a--fa4ceb67e5784ad58c68d978c5f4bd50
2d540523c879451b88f2c9a55fb0d069
RX(theta₁₉)
fa4ceb67e5784ad58c68d978c5f4bd50--2d540523c879451b88f2c9a55fb0d069
6627812cffa54474a22fc30ec080344b
RY(theta₂₅)
2d540523c879451b88f2c9a55fb0d069--6627812cffa54474a22fc30ec080344b
f2311161b58b42628680a01ae37a6933
RX(theta₃₁)
6627812cffa54474a22fc30ec080344b--f2311161b58b42628680a01ae37a6933
d014bca156934746a0d501f91e654587
f2311161b58b42628680a01ae37a6933--d014bca156934746a0d501f91e654587
d014bca156934746a0d501f91e654587--3d19249e0c3c49698cd8a348d6e9810b
4e2cfc186b124bbdbcbddbca1dca0260
0414bb1430b94663b7d21c60c63dc881
RX(theta₂)
29910e9a93ac4a06accacef73d7dc61f--0414bb1430b94663b7d21c60c63dc881
77cac72d2e2b439ea0e2ff358673c7c8
3
9ef028b3aa774cee9308f1503eb8c6d3
RY(theta₈)
0414bb1430b94663b7d21c60c63dc881--9ef028b3aa774cee9308f1503eb8c6d3
322d5433c7a64a0d963c48fc47aea232
RX(theta₁₄)
9ef028b3aa774cee9308f1503eb8c6d3--322d5433c7a64a0d963c48fc47aea232
d8aa8d8181de49b6b284dff7b9298865
HamEvo
322d5433c7a64a0d963c48fc47aea232--d8aa8d8181de49b6b284dff7b9298865
0107f0effff84987a7156b59505ed208
RX(theta₂₀)
d8aa8d8181de49b6b284dff7b9298865--0107f0effff84987a7156b59505ed208
ca6a2cf390be424f8c512a08256efa2f
RY(theta₂₆)
0107f0effff84987a7156b59505ed208--ca6a2cf390be424f8c512a08256efa2f
93c3c40547d942f4ba5a0b62358edd46
RX(theta₃₂)
ca6a2cf390be424f8c512a08256efa2f--93c3c40547d942f4ba5a0b62358edd46
3a92305bf6754f81b23831a15dd50a25
HamEvo
93c3c40547d942f4ba5a0b62358edd46--3a92305bf6754f81b23831a15dd50a25
3a92305bf6754f81b23831a15dd50a25--4e2cfc186b124bbdbcbddbca1dca0260
d780a056139c468b9ad7a96574059e66
1b160629cd25449fad9e5c99ebca1d11
RX(theta₃)
77cac72d2e2b439ea0e2ff358673c7c8--1b160629cd25449fad9e5c99ebca1d11
01a3ed5a882e437dbf4609c1d4606a94
4
5bebeef078d843a99f75ff2c9ed5fcd6
RY(theta₉)
1b160629cd25449fad9e5c99ebca1d11--5bebeef078d843a99f75ff2c9ed5fcd6
1ae3645f0f7044b4bb5e519bd9604e23
RX(theta₁₅)
5bebeef078d843a99f75ff2c9ed5fcd6--1ae3645f0f7044b4bb5e519bd9604e23
0dd87e5b083c46f48ab66ea102aafa83
t = theta_t₀
1ae3645f0f7044b4bb5e519bd9604e23--0dd87e5b083c46f48ab66ea102aafa83
f15a5748150e4986903aef4ff7d5846c
RX(theta₂₁)
0dd87e5b083c46f48ab66ea102aafa83--f15a5748150e4986903aef4ff7d5846c
c09f8841390945aa97f5297f1619cc6d
RY(theta₂₇)
f15a5748150e4986903aef4ff7d5846c--c09f8841390945aa97f5297f1619cc6d
490dc3d33ae742cc8f1716843c15816e
RX(theta₃₃)
c09f8841390945aa97f5297f1619cc6d--490dc3d33ae742cc8f1716843c15816e
c30c3e5ffbec4c4ea60c1c07be426264
t = theta_t₁
490dc3d33ae742cc8f1716843c15816e--c30c3e5ffbec4c4ea60c1c07be426264
c30c3e5ffbec4c4ea60c1c07be426264--d780a056139c468b9ad7a96574059e66
f7f00b7eab2840e3916463e4795daf49
3e947553a1ba42fb8858ac335f43fcf1
RX(theta₄)
01a3ed5a882e437dbf4609c1d4606a94--3e947553a1ba42fb8858ac335f43fcf1
7e3b19db38fb4e9a87ceb722dd29e9dd
5
6c845ddcf7c44daaabed0cb77f44c8de
RY(theta₁₀)
3e947553a1ba42fb8858ac335f43fcf1--6c845ddcf7c44daaabed0cb77f44c8de
9999ce8817054f0390e7379fc150ccb8
RX(theta₁₆)
6c845ddcf7c44daaabed0cb77f44c8de--9999ce8817054f0390e7379fc150ccb8
c3627af217a347048cfa1838335d774d
9999ce8817054f0390e7379fc150ccb8--c3627af217a347048cfa1838335d774d
7d22f6dd31844a6987b29e6df35d93a1
RX(theta₂₂)
c3627af217a347048cfa1838335d774d--7d22f6dd31844a6987b29e6df35d93a1
4d9425889ad54016b802ce08e71e8c53
RY(theta₂₈)
7d22f6dd31844a6987b29e6df35d93a1--4d9425889ad54016b802ce08e71e8c53
e6312a22406a47519deec19ff0a0b2d3
RX(theta₃₄)
4d9425889ad54016b802ce08e71e8c53--e6312a22406a47519deec19ff0a0b2d3
3ca2781eaedf49558ee603c7824608d6
e6312a22406a47519deec19ff0a0b2d3--3ca2781eaedf49558ee603c7824608d6
3ca2781eaedf49558ee603c7824608d6--f7f00b7eab2840e3916463e4795daf49
a5518b95174b48f380afbda30c0cae68
e838c41e95b1462186199caecee3b0fe
RX(theta₅)
7e3b19db38fb4e9a87ceb722dd29e9dd--e838c41e95b1462186199caecee3b0fe
bed7acca9d4f42148ad238301646afd5
RY(theta₁₁)
e838c41e95b1462186199caecee3b0fe--bed7acca9d4f42148ad238301646afd5
af39e247f08b46f89df3ddc8f035f56f
RX(theta₁₇)
bed7acca9d4f42148ad238301646afd5--af39e247f08b46f89df3ddc8f035f56f
ae1dda921cc64f00bd492c75022798e8
af39e247f08b46f89df3ddc8f035f56f--ae1dda921cc64f00bd492c75022798e8
39a25dc3a73541af96d4b3a3027e174f
RX(theta₂₃)
ae1dda921cc64f00bd492c75022798e8--39a25dc3a73541af96d4b3a3027e174f
9d90c949c2454c75b849036071f7022c
RY(theta₂₉)
39a25dc3a73541af96d4b3a3027e174f--9d90c949c2454c75b849036071f7022c
c59e800719b74c1fbd2c4f36411dfdbd
RX(theta₃₅)
9d90c949c2454c75b849036071f7022c--c59e800719b74c1fbd2c4f36411dfdbd
527be0f775ca4d39b4a1d1d78d981651
c59e800719b74c1fbd2c4f36411dfdbd--527be0f775ca4d39b4a1d1d78d981651
527be0f775ca4d39b4a1d1d78d981651--a5518b95174b48f380afbda30c0cae68
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_bfee7c1b9bef4ec18b01115c43986e15
BPMA-1
cluster_48f3b96012e24996b9cfc5b59df90a74
BPMA-0
f177827ba3e24e2a9cf7b3091e8af773
0
689298ba17dd4b03a2485d67a5dcd76d
RX(iia_α₀₀)
f177827ba3e24e2a9cf7b3091e8af773--689298ba17dd4b03a2485d67a5dcd76d
290ec11becaf4bd1a7c054b83fd908e3
1
6a82ab80414f4ef392709328cb994547
RY(iia_α₀₃)
689298ba17dd4b03a2485d67a5dcd76d--6a82ab80414f4ef392709328cb994547
6c90ef34e4d04de794f31f01e8c27807
6a82ab80414f4ef392709328cb994547--6c90ef34e4d04de794f31f01e8c27807
6d09b820d2ba485da54ea61705cf1994
6c90ef34e4d04de794f31f01e8c27807--6d09b820d2ba485da54ea61705cf1994
a95a02fd781d47368b5c568e924663cc
RX(iia_γ₀₀)
6d09b820d2ba485da54ea61705cf1994--a95a02fd781d47368b5c568e924663cc
0a30e9499d7b4546b3e2c22d7aaf1c5e
a95a02fd781d47368b5c568e924663cc--0a30e9499d7b4546b3e2c22d7aaf1c5e
eb54488d72e8432eba88b0197e7453d7
0a30e9499d7b4546b3e2c22d7aaf1c5e--eb54488d72e8432eba88b0197e7453d7
aa39df1ca8e64cda9436db948c6acc53
RY(iia_β₀₃)
eb54488d72e8432eba88b0197e7453d7--aa39df1ca8e64cda9436db948c6acc53
81a8d5a5b5714111a377a31034f845b8
RX(iia_β₀₀)
aa39df1ca8e64cda9436db948c6acc53--81a8d5a5b5714111a377a31034f845b8
d45537b088e54434a97d1389dd1d979a
RX(iia_α₁₀)
81a8d5a5b5714111a377a31034f845b8--d45537b088e54434a97d1389dd1d979a
3eba2836acf1444da3abd82415d20d6b
RY(iia_α₁₃)
d45537b088e54434a97d1389dd1d979a--3eba2836acf1444da3abd82415d20d6b
8fec7fab862349d2b47c2d6e90e6025f
3eba2836acf1444da3abd82415d20d6b--8fec7fab862349d2b47c2d6e90e6025f
84e1f6af089d4d03925396fa986d68b6
8fec7fab862349d2b47c2d6e90e6025f--84e1f6af089d4d03925396fa986d68b6
730495bd14504af290f365cb6345badb
RX(iia_γ₁₀)
84e1f6af089d4d03925396fa986d68b6--730495bd14504af290f365cb6345badb
722f254d32374f23aeb0bad9da4cf6de
730495bd14504af290f365cb6345badb--722f254d32374f23aeb0bad9da4cf6de
9768436a93a04fff886c5b84929f9e2b
722f254d32374f23aeb0bad9da4cf6de--9768436a93a04fff886c5b84929f9e2b
409345db882a408ba3c20130f0d90430
RY(iia_β₁₃)
9768436a93a04fff886c5b84929f9e2b--409345db882a408ba3c20130f0d90430
eafb5db55a2143b2bf66855089c47fcc
RX(iia_β₁₀)
409345db882a408ba3c20130f0d90430--eafb5db55a2143b2bf66855089c47fcc
d588af8124ad4934a4209ba72740e9ac
eafb5db55a2143b2bf66855089c47fcc--d588af8124ad4934a4209ba72740e9ac
95092613350840cc8c23617fbc07cb56
f248f6d149174ea2ad201a0ea757cf0d
RX(iia_α₀₁)
290ec11becaf4bd1a7c054b83fd908e3--f248f6d149174ea2ad201a0ea757cf0d
1cfc1bcf0ba5440b9ff927f831d4c6ce
2
828b6a5197c84bcb95fbf5e0682382b7
RY(iia_α₀₄)
f248f6d149174ea2ad201a0ea757cf0d--828b6a5197c84bcb95fbf5e0682382b7
39e0b5512bf341a5838e26df8bfa44c0
X
828b6a5197c84bcb95fbf5e0682382b7--39e0b5512bf341a5838e26df8bfa44c0
39e0b5512bf341a5838e26df8bfa44c0--6c90ef34e4d04de794f31f01e8c27807
345edfbee8d9418cbff25c1428e4b742
39e0b5512bf341a5838e26df8bfa44c0--345edfbee8d9418cbff25c1428e4b742
5f7741a9d8e34cfe9b982895dd578ce0
RX(iia_γ₀₁)
345edfbee8d9418cbff25c1428e4b742--5f7741a9d8e34cfe9b982895dd578ce0
efa3ee03534746e592d61919304052c5
5f7741a9d8e34cfe9b982895dd578ce0--efa3ee03534746e592d61919304052c5
f9f35a6c7427483daba6dac70a8ab834
X
efa3ee03534746e592d61919304052c5--f9f35a6c7427483daba6dac70a8ab834
f9f35a6c7427483daba6dac70a8ab834--eb54488d72e8432eba88b0197e7453d7
13d722750c2e4431abcb440689db3727
RY(iia_β₀₄)
f9f35a6c7427483daba6dac70a8ab834--13d722750c2e4431abcb440689db3727
86fe268193c641a2aa6c2f9cc5014554
RX(iia_β₀₁)
13d722750c2e4431abcb440689db3727--86fe268193c641a2aa6c2f9cc5014554
078ea6402c534155a7055a67471b8224
RX(iia_α₁₁)
86fe268193c641a2aa6c2f9cc5014554--078ea6402c534155a7055a67471b8224
a52da87fff754f3cbf7ab93b49b11a3f
RY(iia_α₁₄)
078ea6402c534155a7055a67471b8224--a52da87fff754f3cbf7ab93b49b11a3f
f8b370a693304598ac3d276b1a724269
X
a52da87fff754f3cbf7ab93b49b11a3f--f8b370a693304598ac3d276b1a724269
f8b370a693304598ac3d276b1a724269--8fec7fab862349d2b47c2d6e90e6025f
47573d5b39a0491aaca408d80b3968ce
f8b370a693304598ac3d276b1a724269--47573d5b39a0491aaca408d80b3968ce
0f1b76bd33f745a2832f6fd2c9c0867f
RX(iia_γ₁₁)
47573d5b39a0491aaca408d80b3968ce--0f1b76bd33f745a2832f6fd2c9c0867f
2eb1641f85004f04a16d2b08d82d4709
0f1b76bd33f745a2832f6fd2c9c0867f--2eb1641f85004f04a16d2b08d82d4709
d4991659ec4d4e1ba5d42171a9535460
X
2eb1641f85004f04a16d2b08d82d4709--d4991659ec4d4e1ba5d42171a9535460
d4991659ec4d4e1ba5d42171a9535460--9768436a93a04fff886c5b84929f9e2b
478a108b2ded454db064db9615436f96
RY(iia_β₁₄)
d4991659ec4d4e1ba5d42171a9535460--478a108b2ded454db064db9615436f96
1b797f61ebed44528a011800f9f5f121
RX(iia_β₁₁)
478a108b2ded454db064db9615436f96--1b797f61ebed44528a011800f9f5f121
1b797f61ebed44528a011800f9f5f121--95092613350840cc8c23617fbc07cb56
fc10c1a2e91741a8a0e84cc6067c0377
546068c7c75044b3bcb645e07ef4d48f
RX(iia_α₀₂)
1cfc1bcf0ba5440b9ff927f831d4c6ce--546068c7c75044b3bcb645e07ef4d48f
e28f7d2bfbb04f6ea4ecbd70a9a02047
RY(iia_α₀₅)
546068c7c75044b3bcb645e07ef4d48f--e28f7d2bfbb04f6ea4ecbd70a9a02047
8e4451ed8b3c4855bf5a472c00e5a490
e28f7d2bfbb04f6ea4ecbd70a9a02047--8e4451ed8b3c4855bf5a472c00e5a490
7461c428dce849419241d6e96f406fac
X
8e4451ed8b3c4855bf5a472c00e5a490--7461c428dce849419241d6e96f406fac
7461c428dce849419241d6e96f406fac--345edfbee8d9418cbff25c1428e4b742
6e20c5584b4a475390692661849bb50d
RX(iia_γ₀₂)
7461c428dce849419241d6e96f406fac--6e20c5584b4a475390692661849bb50d
47d4511a14624182b8a3ac1a692bc015
X
6e20c5584b4a475390692661849bb50d--47d4511a14624182b8a3ac1a692bc015
47d4511a14624182b8a3ac1a692bc015--efa3ee03534746e592d61919304052c5
0c7003e25b224d8d849a809a3689baf3
47d4511a14624182b8a3ac1a692bc015--0c7003e25b224d8d849a809a3689baf3
7916db217e1040299e23e46e9957acc3
RY(iia_β₀₅)
0c7003e25b224d8d849a809a3689baf3--7916db217e1040299e23e46e9957acc3
ec314a51e098484fb687cc120e26706b
RX(iia_β₀₂)
7916db217e1040299e23e46e9957acc3--ec314a51e098484fb687cc120e26706b
4ebfd0e6997347f0b175054aaba3b485
RX(iia_α₁₂)
ec314a51e098484fb687cc120e26706b--4ebfd0e6997347f0b175054aaba3b485
42e4fcc6353a4389bd433c296f3036ba
RY(iia_α₁₅)
4ebfd0e6997347f0b175054aaba3b485--42e4fcc6353a4389bd433c296f3036ba
75eb80d68d71450398e9fe18068fa20a
42e4fcc6353a4389bd433c296f3036ba--75eb80d68d71450398e9fe18068fa20a
22da4c0adcd34c2299448396f29aacb2
X
75eb80d68d71450398e9fe18068fa20a--22da4c0adcd34c2299448396f29aacb2
22da4c0adcd34c2299448396f29aacb2--47573d5b39a0491aaca408d80b3968ce
7e5c0b5b3d5241f8922bb202628d893d
RX(iia_γ₁₂)
22da4c0adcd34c2299448396f29aacb2--7e5c0b5b3d5241f8922bb202628d893d
922b993de04c455f9b06cf559065e521
X
7e5c0b5b3d5241f8922bb202628d893d--922b993de04c455f9b06cf559065e521
922b993de04c455f9b06cf559065e521--2eb1641f85004f04a16d2b08d82d4709
92270b2b627b4074af3c38ee6fcdb4de
922b993de04c455f9b06cf559065e521--92270b2b627b4074af3c38ee6fcdb4de
a5e0e7c08df1439ea20933d0f61852a9
RY(iia_β₁₅)
92270b2b627b4074af3c38ee6fcdb4de--a5e0e7c08df1439ea20933d0f61852a9
8ccfb87ba75141c1ae485c25e811b3d5
RX(iia_β₁₂)
a5e0e7c08df1439ea20933d0f61852a9--8ccfb87ba75141c1ae485c25e811b3d5
8ccfb87ba75141c1ae485c25e811b3d5--fc10c1a2e91741a8a0e84cc6067c0377