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_02815e3aadc2486c8657a94aa9d99fe9
Constant Chebyshev FM
cluster_e63f249f26f442f4ae3705195b699f76
Constant Fourier FM
1c0269cddacd4c20a7340ad5b81e00e2
0
2578db71f4f143bdab77a7f558756952
RX(phi)
1c0269cddacd4c20a7340ad5b81e00e2--2578db71f4f143bdab77a7f558756952
25cd904fe43a4bd5ba1911a82e56ea24
1
a344df64292549e7b7ab950458761e94
RX(acos(phi))
2578db71f4f143bdab77a7f558756952--a344df64292549e7b7ab950458761e94
956919ffed52437c9421975dffe9f4c2
a344df64292549e7b7ab950458761e94--956919ffed52437c9421975dffe9f4c2
4f50f156ee5e4ee58c8c11350a802e6c
ebb5e9a73bca4de6beb5a67b573a6990
RX(phi)
25cd904fe43a4bd5ba1911a82e56ea24--ebb5e9a73bca4de6beb5a67b573a6990
98cb707707f747fb8384917f8d00fe2c
2
c133bcc5093c481dbffa372d9f0d662b
RX(acos(phi))
ebb5e9a73bca4de6beb5a67b573a6990--c133bcc5093c481dbffa372d9f0d662b
c133bcc5093c481dbffa372d9f0d662b--4f50f156ee5e4ee58c8c11350a802e6c
8bc2486704404237af322ba401a61cfc
627ad2949ea146d19e04d94deb7a46f9
RX(phi)
98cb707707f747fb8384917f8d00fe2c--627ad2949ea146d19e04d94deb7a46f9
e2ff0582e12e44749980ddb098da4f11
RX(acos(phi))
627ad2949ea146d19e04d94deb7a46f9--e2ff0582e12e44749980ddb098da4f11
e2ff0582e12e44749980ddb098da4f11--8bc2486704404237af322ba401a61cfc
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_872c8bd4c59740c1b645e64a406f0af4
Constant <function custom_fn at 0x7fb8cf6ef880> FM
cluster_0955591e4cfd492aba84198a158da328
Constant asin FM
6b36bd23a78843339938cbd549a0f88c
0
df92193df16a4d58bedb8fa098a421b5
RX(asin(phi))
6b36bd23a78843339938cbd549a0f88c--df92193df16a4d58bedb8fa098a421b5
04cd5de0e62a44ba876810fb22afd39c
1
57952de0c7b94d3282b958ff81cbb20f
RX(phi**2 + asin(phi))
df92193df16a4d58bedb8fa098a421b5--57952de0c7b94d3282b958ff81cbb20f
9af8d5b94d794e53a5636d6d59f95821
57952de0c7b94d3282b958ff81cbb20f--9af8d5b94d794e53a5636d6d59f95821
5f0e7cf063034f86bc0f2cd860f8b102
8ab4a278644a4989a8c5aba3c8d2c8c4
RX(asin(phi))
04cd5de0e62a44ba876810fb22afd39c--8ab4a278644a4989a8c5aba3c8d2c8c4
5a9cabb27008434b937681a4ded9a893
2
2cc01e56eb8441aa91997304d85ac1cd
RX(phi**2 + asin(phi))
8ab4a278644a4989a8c5aba3c8d2c8c4--2cc01e56eb8441aa91997304d85ac1cd
2cc01e56eb8441aa91997304d85ac1cd--5f0e7cf063034f86bc0f2cd860f8b102
7520d577611e44c0be32c49b8824813b
2924f2be424e47aaa646792ddd66e85f
RX(asin(phi))
5a9cabb27008434b937681a4ded9a893--2924f2be424e47aaa646792ddd66e85f
7f29ffaeb2004cd3b0aff66bd8a00595
RX(phi**2 + asin(phi))
2924f2be424e47aaa646792ddd66e85f--7f29ffaeb2004cd3b0aff66bd8a00595
7f29ffaeb2004cd3b0aff66bd8a00595--7520d577611e44c0be32c49b8824813b
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_e8d6cdf95060484b9a649e8bb12cc633
Exponential Fourier FM
cluster_f73d4e8c75144e6eb50bc33e6f271ef0
Constant Fourier FM
cluster_62985aaeb2d54c59a60c9c8715e9a655
Tower Fourier FM
44d831a660f942adb9b9ae0c7da8733a
0
e1a8f54c3f1646fb94dad5451b943863
RX(phi)
44d831a660f942adb9b9ae0c7da8733a--e1a8f54c3f1646fb94dad5451b943863
5360a8f6fe494109b01798589903cd2e
1
2e15f1b345664a2397c1475891bd80dc
RX(1.0*phi)
e1a8f54c3f1646fb94dad5451b943863--2e15f1b345664a2397c1475891bd80dc
cf2427d469d5465992cebdc763555b40
RX(1.0*phi)
2e15f1b345664a2397c1475891bd80dc--cf2427d469d5465992cebdc763555b40
f6e28f58130a4eb4856372a58ee48279
cf2427d469d5465992cebdc763555b40--f6e28f58130a4eb4856372a58ee48279
3285fabe022f43a0bed4016717dbd6a0
8d5fae769ee647e88f38dabf10e5a39e
RX(phi)
5360a8f6fe494109b01798589903cd2e--8d5fae769ee647e88f38dabf10e5a39e
35e2b0311be94505af44d8bf307d451b
2
a0ac717cc5904502a258042253249289
RX(2.0*phi)
8d5fae769ee647e88f38dabf10e5a39e--a0ac717cc5904502a258042253249289
857c22914737491bb98411e94915c86c
RX(2.0*phi)
a0ac717cc5904502a258042253249289--857c22914737491bb98411e94915c86c
857c22914737491bb98411e94915c86c--3285fabe022f43a0bed4016717dbd6a0
2b7a10d7af434c06812bb25b85e8d781
f47d03daec6f406087e1c39161bf2533
RX(phi)
35e2b0311be94505af44d8bf307d451b--f47d03daec6f406087e1c39161bf2533
0262be7059824fc98df15feb594ff015
3
e655d690b8f34897ae02106a8127ddb4
RX(3.0*phi)
f47d03daec6f406087e1c39161bf2533--e655d690b8f34897ae02106a8127ddb4
87e168252016428ebbfd897689a32104
RX(4.0*phi)
e655d690b8f34897ae02106a8127ddb4--87e168252016428ebbfd897689a32104
87e168252016428ebbfd897689a32104--2b7a10d7af434c06812bb25b85e8d781
fac88185cc8541f2bc8bbb789319d1f3
52fedfff2618431695a8c6efa8604696
RX(phi)
0262be7059824fc98df15feb594ff015--52fedfff2618431695a8c6efa8604696
f1e04b28ef8a433dbe00373249c04782
4
4e512b9381ef47e68b76135cbe1f4497
RX(4.0*phi)
52fedfff2618431695a8c6efa8604696--4e512b9381ef47e68b76135cbe1f4497
90fe3b90e0ae4146a6954fd7af206299
RX(8.0*phi)
4e512b9381ef47e68b76135cbe1f4497--90fe3b90e0ae4146a6954fd7af206299
90fe3b90e0ae4146a6954fd7af206299--fac88185cc8541f2bc8bbb789319d1f3
71f6d7c2073b40d8b230aa112638b64a
c6c6c94200bf468895340bbda18ea05b
RX(phi)
f1e04b28ef8a433dbe00373249c04782--c6c6c94200bf468895340bbda18ea05b
8c8c431b68ac43ab901c52fc016f2fbe
RX(5.0*phi)
c6c6c94200bf468895340bbda18ea05b--8c8c431b68ac43ab901c52fc016f2fbe
b8da3c2908364414bb037b88ac9ae001
RX(16.0*phi)
8c8c431b68ac43ab901c52fc016f2fbe--b8da3c2908364414bb037b88ac9ae001
b8da3c2908364414bb037b88ac9ae001--71f6d7c2073b40d8b230aa112638b64a
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
94df28b1a09d4a7d8cd9d6219541756c
0
16f9b6cc1ba64bd99bdae9b07de4e5c7
RX(1.0*acos(phi))
94df28b1a09d4a7d8cd9d6219541756c--16f9b6cc1ba64bd99bdae9b07de4e5c7
ec0dc35abca64e4095d968b4efa9c417
1
3d001f25dd644d288ef860e642197122
16f9b6cc1ba64bd99bdae9b07de4e5c7--3d001f25dd644d288ef860e642197122
9ec6db455a3249deb2840608f15e93d4
1fe88b259caa40d18e9e1fedcbc6b184
RX(1.414*acos(phi))
ec0dc35abca64e4095d968b4efa9c417--1fe88b259caa40d18e9e1fedcbc6b184
ee622dadb15f4863ae0e024b4e8a0b80
2
1fe88b259caa40d18e9e1fedcbc6b184--9ec6db455a3249deb2840608f15e93d4
576f80acad124780be820031626c4e57
a8304c4829864aa3a1462895764c5d66
RX(1.732*acos(phi))
ee622dadb15f4863ae0e024b4e8a0b80--a8304c4829864aa3a1462895764c5d66
68b017e098814acdb940d6777bde1048
3
a8304c4829864aa3a1462895764c5d66--576f80acad124780be820031626c4e57
148c934f0c0d4f2082698f55ecd6124b
737ce58508d347a0997530aa0c85d233
RX(2.0*acos(phi))
68b017e098814acdb940d6777bde1048--737ce58508d347a0997530aa0c85d233
841000534cb142c9a2f307bb8992778f
4
737ce58508d347a0997530aa0c85d233--148c934f0c0d4f2082698f55ecd6124b
75305fed851f4dea9f22e7a9f7dd8765
c9262f4b331e4669be1a122cdc840639
RX(2.236*acos(phi))
841000534cb142c9a2f307bb8992778f--c9262f4b331e4669be1a122cdc840639
c9262f4b331e4669be1a122cdc840639--75305fed851f4dea9f22e7a9f7dd8765
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
5ce3dc31ea3e46709dcfcc33ffc77a41
0
34bb2fd7026d4fd789bf9ecea498186e
RX(1.0*phi*w₀)
5ce3dc31ea3e46709dcfcc33ffc77a41--34bb2fd7026d4fd789bf9ecea498186e
b129a0f3948f452c8b9e5fdb6e682044
1
b9607608cfd340de8ab28a71996a71ff
34bb2fd7026d4fd789bf9ecea498186e--b9607608cfd340de8ab28a71996a71ff
ca4d78bade9b42359b149f3d1fede1f4
3c1c48cef3b947a385d21c192e0f0f1d
RX(2.0*phi*w₁)
b129a0f3948f452c8b9e5fdb6e682044--3c1c48cef3b947a385d21c192e0f0f1d
7602a077fcd3412f8182414786cf090a
2
3c1c48cef3b947a385d21c192e0f0f1d--ca4d78bade9b42359b149f3d1fede1f4
53c7c3caab774b26bce474b9c71bc8c0
e4e2c6adc5564d178098f616bdacce13
RX(4.0*phi*w₂)
7602a077fcd3412f8182414786cf090a--e4e2c6adc5564d178098f616bdacce13
ab0f83416ab44e41aa0bb151c21e01e0
3
e4e2c6adc5564d178098f616bdacce13--53c7c3caab774b26bce474b9c71bc8c0
8e1e9c2ed45248c88a3df41ff18bf30e
b15b6c8b59f3487f8fae4cb584f168b7
RX(8.0*phi*w₃)
ab0f83416ab44e41aa0bb151c21e01e0--b15b6c8b59f3487f8fae4cb584f168b7
b2806142af704dc88e09caf61919c119
4
b15b6c8b59f3487f8fae4cb584f168b7--8e1e9c2ed45248c88a3df41ff18bf30e
4ef9453cfe3042f6b525112f1edae183
df846230d1a54604ac3f1e4ec3776dc4
RX(16.0*phi*w₄)
b2806142af704dc88e09caf61919c119--df846230d1a54604ac3f1e4ec3776dc4
df846230d1a54604ac3f1e4ec3776dc4--4ef9453cfe3042f6b525112f1edae183
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
ed86a982fa9c45c385d21c498148d3a6
0
8d39559781a84f6f9fb3f607b14d57fb
RY(80.0*acos(w₄*(0.667*x + 1.667)))
ed86a982fa9c45c385d21c498148d3a6--8d39559781a84f6f9fb3f607b14d57fb
537b310cda124a16b1ff0b124b36e2b9
1
45a96088d3c84ec0a22ee10c022a0459
8d39559781a84f6f9fb3f607b14d57fb--45a96088d3c84ec0a22ee10c022a0459
101bd6386246429d824d8aa7d237868d
8b25a712f1a843d08e60a4e60cbe3152
RY(40.0*acos(w₃*(0.667*x + 1.667)))
537b310cda124a16b1ff0b124b36e2b9--8b25a712f1a843d08e60a4e60cbe3152
e5f5d197b8cc49b2a565658867b44db4
2
8b25a712f1a843d08e60a4e60cbe3152--101bd6386246429d824d8aa7d237868d
2ff79fd31e6f4e208ee8c4ff5c75984c
864bdc62f9224e728c813d095b32a306
RY(20.0*acos(w₂*(0.667*x + 1.667)))
e5f5d197b8cc49b2a565658867b44db4--864bdc62f9224e728c813d095b32a306
8171b934330a42d6b204a5aaa186ead9
3
864bdc62f9224e728c813d095b32a306--2ff79fd31e6f4e208ee8c4ff5c75984c
d4590466f41d45ce9373e65822c4879f
d85de62ce8824d9d8a63d2891ba4e361
RY(10.0*acos(w₁*(0.667*x + 1.667)))
8171b934330a42d6b204a5aaa186ead9--d85de62ce8824d9d8a63d2891ba4e361
39fa14f94a9b49b881f788ea14907fba
4
d85de62ce8824d9d8a63d2891ba4e361--d4590466f41d45ce9373e65822c4879f
08f16356e17148c9b8644fe0b97bff41
0527a67ecd5c4a4dae9f37a19ab2971a
RY(5.0*acos(w₀*(0.667*x + 1.667)))
39fa14f94a9b49b881f788ea14907fba--0527a67ecd5c4a4dae9f37a19ab2971a
0527a67ecd5c4a4dae9f37a19ab2971a--08f16356e17148c9b8644fe0b97bff41
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
6192dade065d4226b58ff6183be0a868
0
99084eaa2b3543ed9539aa9b29015bdb
RX(theta₀)
6192dade065d4226b58ff6183be0a868--99084eaa2b3543ed9539aa9b29015bdb
01dfcd8830a741bcad81ea210952b5aa
1
48657d92dfd343a8b463f9d5834bcccb
RY(theta₃)
99084eaa2b3543ed9539aa9b29015bdb--48657d92dfd343a8b463f9d5834bcccb
d81907a369e14dfe842aff24505fdbee
RX(theta₆)
48657d92dfd343a8b463f9d5834bcccb--d81907a369e14dfe842aff24505fdbee
c3cd9408ae494b61b8767af0beb1954e
d81907a369e14dfe842aff24505fdbee--c3cd9408ae494b61b8767af0beb1954e
9a6f7c51f0db4ee6844821d8677517f9
c3cd9408ae494b61b8767af0beb1954e--9a6f7c51f0db4ee6844821d8677517f9
da29877775d34da480dc615c45073423
RX(theta₉)
9a6f7c51f0db4ee6844821d8677517f9--da29877775d34da480dc615c45073423
d5edf013ed9843a8b83cd462aa18dcfc
RY(theta₁₂)
da29877775d34da480dc615c45073423--d5edf013ed9843a8b83cd462aa18dcfc
656bd2545eb542f6a22406bc844ad406
RX(theta₁₅)
d5edf013ed9843a8b83cd462aa18dcfc--656bd2545eb542f6a22406bc844ad406
46daa2222dad4d94b69c9b6488bd7aba
656bd2545eb542f6a22406bc844ad406--46daa2222dad4d94b69c9b6488bd7aba
1b1307bdb2644ad2a0793492c95d1a03
46daa2222dad4d94b69c9b6488bd7aba--1b1307bdb2644ad2a0793492c95d1a03
5f859d55951046349096131cbf3dd91a
1b1307bdb2644ad2a0793492c95d1a03--5f859d55951046349096131cbf3dd91a
e7c6567b00ec425eaaa11e12aac939b9
ae82df448d4549388ca32463f6e588f4
RX(theta₁)
01dfcd8830a741bcad81ea210952b5aa--ae82df448d4549388ca32463f6e588f4
c65b6883b16a43da9eed73a54a91c1f8
2
8af109e7eb52416ba6f8d7955fded2fe
RY(theta₄)
ae82df448d4549388ca32463f6e588f4--8af109e7eb52416ba6f8d7955fded2fe
7e412c77b6aa4fbeb2adb39cb4c7190b
RX(theta₇)
8af109e7eb52416ba6f8d7955fded2fe--7e412c77b6aa4fbeb2adb39cb4c7190b
4e6a3a705ae04a749a5383531ce46524
X
7e412c77b6aa4fbeb2adb39cb4c7190b--4e6a3a705ae04a749a5383531ce46524
4e6a3a705ae04a749a5383531ce46524--c3cd9408ae494b61b8767af0beb1954e
ea69ba547a2b4532983daec7be057e76
4e6a3a705ae04a749a5383531ce46524--ea69ba547a2b4532983daec7be057e76
e8299804f08143a1baf9f4dadcf29103
RX(theta₁₀)
ea69ba547a2b4532983daec7be057e76--e8299804f08143a1baf9f4dadcf29103
6ea35919b4ad49abbc390eaea15b9c75
RY(theta₁₃)
e8299804f08143a1baf9f4dadcf29103--6ea35919b4ad49abbc390eaea15b9c75
f7e3d656858944d7b9ca0208157a0684
RX(theta₁₆)
6ea35919b4ad49abbc390eaea15b9c75--f7e3d656858944d7b9ca0208157a0684
bf5c1b7bdf4f40b5805c3a5f60a868ea
X
f7e3d656858944d7b9ca0208157a0684--bf5c1b7bdf4f40b5805c3a5f60a868ea
bf5c1b7bdf4f40b5805c3a5f60a868ea--46daa2222dad4d94b69c9b6488bd7aba
434abd456a704f139e3709d4cd6b8123
bf5c1b7bdf4f40b5805c3a5f60a868ea--434abd456a704f139e3709d4cd6b8123
434abd456a704f139e3709d4cd6b8123--e7c6567b00ec425eaaa11e12aac939b9
b061cbc3921b49f28e1da48e135fe969
b5b5bdcf875d421d8096e6fa4d89d68a
RX(theta₂)
c65b6883b16a43da9eed73a54a91c1f8--b5b5bdcf875d421d8096e6fa4d89d68a
60e46fa888eb4d51a63f479d2f94cbc1
RY(theta₅)
b5b5bdcf875d421d8096e6fa4d89d68a--60e46fa888eb4d51a63f479d2f94cbc1
720e457e56864e11939d7694756d5be7
RX(theta₈)
60e46fa888eb4d51a63f479d2f94cbc1--720e457e56864e11939d7694756d5be7
8ad0539b3c86472295cbe8194b32f885
720e457e56864e11939d7694756d5be7--8ad0539b3c86472295cbe8194b32f885
120ae78f940949f4b3878ba8d90aa421
X
8ad0539b3c86472295cbe8194b32f885--120ae78f940949f4b3878ba8d90aa421
120ae78f940949f4b3878ba8d90aa421--ea69ba547a2b4532983daec7be057e76
3fc8cee6990b4ed6be514f494025f4cd
RX(theta₁₁)
120ae78f940949f4b3878ba8d90aa421--3fc8cee6990b4ed6be514f494025f4cd
3ffe3ce304de4aa6a3353f994bae66ea
RY(theta₁₄)
3fc8cee6990b4ed6be514f494025f4cd--3ffe3ce304de4aa6a3353f994bae66ea
9ff32a687f824a96a4d3b7fbe334748d
RX(theta₁₇)
3ffe3ce304de4aa6a3353f994bae66ea--9ff32a687f824a96a4d3b7fbe334748d
f0924baaaa2e437dbc5998d68180bf30
9ff32a687f824a96a4d3b7fbe334748d--f0924baaaa2e437dbc5998d68180bf30
6edfafe4dbc34ff0b33971a97f3309f7
X
f0924baaaa2e437dbc5998d68180bf30--6edfafe4dbc34ff0b33971a97f3309f7
6edfafe4dbc34ff0b33971a97f3309f7--434abd456a704f139e3709d4cd6b8123
6edfafe4dbc34ff0b33971a97f3309f7--b061cbc3921b49f28e1da48e135fe969
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
3aa8fd6b32fc47c9aac7e98696585a60
0
e9aa677655c049e790c80bda12e50bbc
RX(phi₀)
3aa8fd6b32fc47c9aac7e98696585a60--e9aa677655c049e790c80bda12e50bbc
4f8e7a04a5814cc7a7821ef3d5dfe0c7
1
82dbc23ad30e4c7db97817bfebf9c023
RY(phi₃)
e9aa677655c049e790c80bda12e50bbc--82dbc23ad30e4c7db97817bfebf9c023
7d83f8f319cd4284ac11e87af8d2c0bb
RX(phi₆)
82dbc23ad30e4c7db97817bfebf9c023--7d83f8f319cd4284ac11e87af8d2c0bb
aa66e34c54c54bd6a80743b207a7fd5f
7d83f8f319cd4284ac11e87af8d2c0bb--aa66e34c54c54bd6a80743b207a7fd5f
66212dcfc725459d93a509e6ff93f145
aa66e34c54c54bd6a80743b207a7fd5f--66212dcfc725459d93a509e6ff93f145
b4feb9df68854cc99804a5ab66fb704b
RX(phi₉)
66212dcfc725459d93a509e6ff93f145--b4feb9df68854cc99804a5ab66fb704b
1c7805b17f574cc1ad3a7d30ddefc43c
RY(phi₁₂)
b4feb9df68854cc99804a5ab66fb704b--1c7805b17f574cc1ad3a7d30ddefc43c
6ab3146400ce4f4eb6a1cfbbeab3ca30
RX(phi₁₅)
1c7805b17f574cc1ad3a7d30ddefc43c--6ab3146400ce4f4eb6a1cfbbeab3ca30
6cd131583f6a41a6bf697c482182f951
6ab3146400ce4f4eb6a1cfbbeab3ca30--6cd131583f6a41a6bf697c482182f951
d80617ec93fd4578ba1e1714e0396542
6cd131583f6a41a6bf697c482182f951--d80617ec93fd4578ba1e1714e0396542
57a4a2b087324934b3c3f3c30e247535
d80617ec93fd4578ba1e1714e0396542--57a4a2b087324934b3c3f3c30e247535
dff130addcc34270b8e5d1655e621d7b
a9f69c8c279b4a79818864c89d02f14c
RX(phi₁)
4f8e7a04a5814cc7a7821ef3d5dfe0c7--a9f69c8c279b4a79818864c89d02f14c
0b1df2db952c4758a777d428c3c00aa8
2
9dd93c7390e74cff9b4e4f5001df7370
RY(phi₄)
a9f69c8c279b4a79818864c89d02f14c--9dd93c7390e74cff9b4e4f5001df7370
dc895b1ea3414f128b20401c965834ba
RX(phi₇)
9dd93c7390e74cff9b4e4f5001df7370--dc895b1ea3414f128b20401c965834ba
014cce7391094e298305d2433c20f02d
PHASE(phi_ent₀)
dc895b1ea3414f128b20401c965834ba--014cce7391094e298305d2433c20f02d
014cce7391094e298305d2433c20f02d--aa66e34c54c54bd6a80743b207a7fd5f
45be7bce2b044e2e99ee60cf5af51e4b
014cce7391094e298305d2433c20f02d--45be7bce2b044e2e99ee60cf5af51e4b
a2a46fdc24d94372848cc3638a1e3d46
RX(phi₁₀)
45be7bce2b044e2e99ee60cf5af51e4b--a2a46fdc24d94372848cc3638a1e3d46
8ae508d1adf945b4ae456d12ea117ab8
RY(phi₁₃)
a2a46fdc24d94372848cc3638a1e3d46--8ae508d1adf945b4ae456d12ea117ab8
a0a1a099876b473792ad7a28d7210937
RX(phi₁₆)
8ae508d1adf945b4ae456d12ea117ab8--a0a1a099876b473792ad7a28d7210937
6394f659ea594009bf90a7e283e5f094
PHASE(phi_ent₂)
a0a1a099876b473792ad7a28d7210937--6394f659ea594009bf90a7e283e5f094
6394f659ea594009bf90a7e283e5f094--6cd131583f6a41a6bf697c482182f951
aeed86fc6b7341b392c3c747de734df2
6394f659ea594009bf90a7e283e5f094--aeed86fc6b7341b392c3c747de734df2
aeed86fc6b7341b392c3c747de734df2--dff130addcc34270b8e5d1655e621d7b
fb6d1b23c335465685b7a3a81c040da5
d263167225c242e185c929257f899ed8
RX(phi₂)
0b1df2db952c4758a777d428c3c00aa8--d263167225c242e185c929257f899ed8
f7be7954a7524740962d0938f81a097a
RY(phi₅)
d263167225c242e185c929257f899ed8--f7be7954a7524740962d0938f81a097a
7e6b804da4fa4c49b254d5029543c638
RX(phi₈)
f7be7954a7524740962d0938f81a097a--7e6b804da4fa4c49b254d5029543c638
d9a91f79762b4cedb17c623cc0fe588e
7e6b804da4fa4c49b254d5029543c638--d9a91f79762b4cedb17c623cc0fe588e
9e82ff9cbacc4c8ba135f3bf95264567
PHASE(phi_ent₁)
d9a91f79762b4cedb17c623cc0fe588e--9e82ff9cbacc4c8ba135f3bf95264567
9e82ff9cbacc4c8ba135f3bf95264567--45be7bce2b044e2e99ee60cf5af51e4b
04d2c4b436264d0cb5d225b631ddf6d1
RX(phi₁₁)
9e82ff9cbacc4c8ba135f3bf95264567--04d2c4b436264d0cb5d225b631ddf6d1
6a87ccee20a64ec790849c4596131385
RY(phi₁₄)
04d2c4b436264d0cb5d225b631ddf6d1--6a87ccee20a64ec790849c4596131385
74aaa097f199435591b7166755202b3d
RX(phi₁₇)
6a87ccee20a64ec790849c4596131385--74aaa097f199435591b7166755202b3d
c73acc9fb02a4c84919b8bd2d47de091
74aaa097f199435591b7166755202b3d--c73acc9fb02a4c84919b8bd2d47de091
a9d5a764221040c98a4858508d4399e1
PHASE(phi_ent₃)
c73acc9fb02a4c84919b8bd2d47de091--a9d5a764221040c98a4858508d4399e1
a9d5a764221040c98a4858508d4399e1--aeed86fc6b7341b392c3c747de734df2
a9d5a764221040c98a4858508d4399e1--fb6d1b23c335465685b7a3a81c040da5
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_274025c2d3e043ea881904413fbe332f
cluster_734f2f4b9f2e4ce09b9eef05be572250
2e0bf5824582474c9a3038318fd6cd40
0
28c6f28302cf44e1a641825a0c40d6fa
RX(theta₀)
2e0bf5824582474c9a3038318fd6cd40--28c6f28302cf44e1a641825a0c40d6fa
30fffb7f356b4e8fbcfed32b0d725c15
1
ed7ced9987b741e7882df8dd13e232ef
RY(theta₃)
28c6f28302cf44e1a641825a0c40d6fa--ed7ced9987b741e7882df8dd13e232ef
a87be5c3328f40f896a45693c96b9883
RX(theta₆)
ed7ced9987b741e7882df8dd13e232ef--a87be5c3328f40f896a45693c96b9883
f0d590f16e7b4f488a476f0eef11be1c
HamEvo
a87be5c3328f40f896a45693c96b9883--f0d590f16e7b4f488a476f0eef11be1c
35645d1b63494010b213dea5bfa54817
RX(theta₉)
f0d590f16e7b4f488a476f0eef11be1c--35645d1b63494010b213dea5bfa54817
c623f103310b4f6c93ff6f01b0ae6d9d
RY(theta₁₂)
35645d1b63494010b213dea5bfa54817--c623f103310b4f6c93ff6f01b0ae6d9d
856405879bd14325ad3d91611b9d67fb
RX(theta₁₅)
c623f103310b4f6c93ff6f01b0ae6d9d--856405879bd14325ad3d91611b9d67fb
1013505ba2dc4fe5b0873f2316cac761
HamEvo
856405879bd14325ad3d91611b9d67fb--1013505ba2dc4fe5b0873f2316cac761
10471d2c22204ca29b91ceada8332410
1013505ba2dc4fe5b0873f2316cac761--10471d2c22204ca29b91ceada8332410
39cfff81796e4bf9be23e3c24e38087b
e8af2ea59fc44773ac6c87803c9a8b78
RX(theta₁)
30fffb7f356b4e8fbcfed32b0d725c15--e8af2ea59fc44773ac6c87803c9a8b78
138ee9dbfede4bf5b129384683e70aee
2
e6087d26b2a0420d9dbdfa368b143c75
RY(theta₄)
e8af2ea59fc44773ac6c87803c9a8b78--e6087d26b2a0420d9dbdfa368b143c75
7dcf6c8988094a82a7fae3653798fe2f
RX(theta₇)
e6087d26b2a0420d9dbdfa368b143c75--7dcf6c8988094a82a7fae3653798fe2f
90cbeaa7a1ce4f0bb2351345686b980e
t = theta_t₀
7dcf6c8988094a82a7fae3653798fe2f--90cbeaa7a1ce4f0bb2351345686b980e
95dae1b96e9845b6ab7613d804cdc824
RX(theta₁₀)
90cbeaa7a1ce4f0bb2351345686b980e--95dae1b96e9845b6ab7613d804cdc824
ff7b5032b9794bb8a852fb60d574d2b8
RY(theta₁₃)
95dae1b96e9845b6ab7613d804cdc824--ff7b5032b9794bb8a852fb60d574d2b8
5428f8e5424b4e30a5492633e22524a0
RX(theta₁₆)
ff7b5032b9794bb8a852fb60d574d2b8--5428f8e5424b4e30a5492633e22524a0
f36b4ed8f3654e279bfa9cb06c68c600
t = theta_t₁
5428f8e5424b4e30a5492633e22524a0--f36b4ed8f3654e279bfa9cb06c68c600
f36b4ed8f3654e279bfa9cb06c68c600--39cfff81796e4bf9be23e3c24e38087b
2256c34af34a40f3b8456b6f14bcbf8c
5f1cc7fbfaaf4b7fb41c3bbe5154fb71
RX(theta₂)
138ee9dbfede4bf5b129384683e70aee--5f1cc7fbfaaf4b7fb41c3bbe5154fb71
418fb16558d34205855bc865dc6134ab
RY(theta₅)
5f1cc7fbfaaf4b7fb41c3bbe5154fb71--418fb16558d34205855bc865dc6134ab
07e84c15ce65432180b74e9e2d8e3c93
RX(theta₈)
418fb16558d34205855bc865dc6134ab--07e84c15ce65432180b74e9e2d8e3c93
4ce4fb9c3ed14c429574dd5697821de7
07e84c15ce65432180b74e9e2d8e3c93--4ce4fb9c3ed14c429574dd5697821de7
0af9f21f61284b1baa176eff76d0d48d
RX(theta₁₁)
4ce4fb9c3ed14c429574dd5697821de7--0af9f21f61284b1baa176eff76d0d48d
087341afebfd464996655361fc2241cd
RY(theta₁₄)
0af9f21f61284b1baa176eff76d0d48d--087341afebfd464996655361fc2241cd
3a033038060d4056b06404cecc90f6b9
RX(theta₁₇)
087341afebfd464996655361fc2241cd--3a033038060d4056b06404cecc90f6b9
1a4a4d95a6f4420bb6c9eced0b904999
3a033038060d4056b06404cecc90f6b9--1a4a4d95a6f4420bb6c9eced0b904999
1a4a4d95a6f4420bb6c9eced0b904999--2256c34af34a40f3b8456b6f14bcbf8c
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_d8cc8f63e8c74d2cb77e78c4055662b1
cluster_474994bb1dab446e91f1bc7fb9f93587
c628865bd0bc44a480c4416e1c8b82bf
0
eac58645fad4473691a78244511f767e
RX(theta₀)
c628865bd0bc44a480c4416e1c8b82bf--eac58645fad4473691a78244511f767e
f417f6320d3d4120b90078cab86612ac
1
c34cf96c568b49709af3800ed1e1412a
RY(theta₆)
eac58645fad4473691a78244511f767e--c34cf96c568b49709af3800ed1e1412a
f8411933dae14490b1757b83a7a73b2b
RX(theta₁₂)
c34cf96c568b49709af3800ed1e1412a--f8411933dae14490b1757b83a7a73b2b
99d3b50ef7b34d17be81633fadc722c5
f8411933dae14490b1757b83a7a73b2b--99d3b50ef7b34d17be81633fadc722c5
b5eb0517c86845b2a515adea6ccbc169
RX(theta₁₈)
99d3b50ef7b34d17be81633fadc722c5--b5eb0517c86845b2a515adea6ccbc169
51853b6b085d42d0893f81798be60ed2
RY(theta₂₄)
b5eb0517c86845b2a515adea6ccbc169--51853b6b085d42d0893f81798be60ed2
730f07c1758946fb90d16c16641f1090
RX(theta₃₀)
51853b6b085d42d0893f81798be60ed2--730f07c1758946fb90d16c16641f1090
0209b2f13f5e4bb7abbedf5a3f0d6d0a
730f07c1758946fb90d16c16641f1090--0209b2f13f5e4bb7abbedf5a3f0d6d0a
6444b5c64a73402f8479921f26c64eea
0209b2f13f5e4bb7abbedf5a3f0d6d0a--6444b5c64a73402f8479921f26c64eea
a8247aa1a3054cd9b43e9540099bc4d9
e1983fde5cce4fad9669f6f47f98c6df
RX(theta₁)
f417f6320d3d4120b90078cab86612ac--e1983fde5cce4fad9669f6f47f98c6df
6c59347984fa4f9f9847d14999a137f2
2
dbf88a86fde44d96a70740f29c0ce9b7
RY(theta₇)
e1983fde5cce4fad9669f6f47f98c6df--dbf88a86fde44d96a70740f29c0ce9b7
56cd8ec9c6cf465bbd239ea228fa51e0
RX(theta₁₃)
dbf88a86fde44d96a70740f29c0ce9b7--56cd8ec9c6cf465bbd239ea228fa51e0
c80fe8991edd41cca054570012546c76
56cd8ec9c6cf465bbd239ea228fa51e0--c80fe8991edd41cca054570012546c76
03ebec66d35745e8b9e229f6a36dd1ee
RX(theta₁₉)
c80fe8991edd41cca054570012546c76--03ebec66d35745e8b9e229f6a36dd1ee
56aaecfa816f412caf345d9091be7045
RY(theta₂₅)
03ebec66d35745e8b9e229f6a36dd1ee--56aaecfa816f412caf345d9091be7045
9ed70c7ed4fb4b18abf949ecbf48ff5c
RX(theta₃₁)
56aaecfa816f412caf345d9091be7045--9ed70c7ed4fb4b18abf949ecbf48ff5c
fc8a80ea8bdd4643b35b66e5c62b52a0
9ed70c7ed4fb4b18abf949ecbf48ff5c--fc8a80ea8bdd4643b35b66e5c62b52a0
fc8a80ea8bdd4643b35b66e5c62b52a0--a8247aa1a3054cd9b43e9540099bc4d9
9343501104234403b4c9f1a5276134de
69dbdf24e89243d796e37d29dd0311cf
RX(theta₂)
6c59347984fa4f9f9847d14999a137f2--69dbdf24e89243d796e37d29dd0311cf
9571a7f8e6784f718e09c4cf8728edf6
3
6239972086304d80a51a18f1600c3e39
RY(theta₈)
69dbdf24e89243d796e37d29dd0311cf--6239972086304d80a51a18f1600c3e39
0b940a8920a34d5c92eb0fc93050104d
RX(theta₁₄)
6239972086304d80a51a18f1600c3e39--0b940a8920a34d5c92eb0fc93050104d
79f21c392cc74953849488ef7b5076ca
HamEvo
0b940a8920a34d5c92eb0fc93050104d--79f21c392cc74953849488ef7b5076ca
4121bcb3e1fb452a83b4d17eadb939ef
RX(theta₂₀)
79f21c392cc74953849488ef7b5076ca--4121bcb3e1fb452a83b4d17eadb939ef
56e56d72b59f42c0ab953a19b0013ceb
RY(theta₂₆)
4121bcb3e1fb452a83b4d17eadb939ef--56e56d72b59f42c0ab953a19b0013ceb
a4f44ecfbebb4184bf139e66ebd4dce6
RX(theta₃₂)
56e56d72b59f42c0ab953a19b0013ceb--a4f44ecfbebb4184bf139e66ebd4dce6
fc938755db8749e99324ac2c975a1dfa
HamEvo
a4f44ecfbebb4184bf139e66ebd4dce6--fc938755db8749e99324ac2c975a1dfa
fc938755db8749e99324ac2c975a1dfa--9343501104234403b4c9f1a5276134de
821dd4814c734cb6afad4dda387f7771
987bb2f69cac4d4da2e7416ea738ba08
RX(theta₃)
9571a7f8e6784f718e09c4cf8728edf6--987bb2f69cac4d4da2e7416ea738ba08
559aa5fb4b8147d781ae9e3d82da4641
4
921c2ce37efd45658851e89c93b40f9a
RY(theta₉)
987bb2f69cac4d4da2e7416ea738ba08--921c2ce37efd45658851e89c93b40f9a
7a593a3cff304cc09975ccd96dad44a1
RX(theta₁₅)
921c2ce37efd45658851e89c93b40f9a--7a593a3cff304cc09975ccd96dad44a1
f953877fc2df4b46b5ab8e1aef4af17f
t = theta_t₀
7a593a3cff304cc09975ccd96dad44a1--f953877fc2df4b46b5ab8e1aef4af17f
c0b7e4b4b77447f8850523e7018e87c1
RX(theta₂₁)
f953877fc2df4b46b5ab8e1aef4af17f--c0b7e4b4b77447f8850523e7018e87c1
82c17ce2cc864d5c9b823f64bbe8b18e
RY(theta₂₇)
c0b7e4b4b77447f8850523e7018e87c1--82c17ce2cc864d5c9b823f64bbe8b18e
cd00b61ed32e4dc7a6fa744a4807bdb6
RX(theta₃₃)
82c17ce2cc864d5c9b823f64bbe8b18e--cd00b61ed32e4dc7a6fa744a4807bdb6
75e6e7056244483c991aec15b40bad1b
t = theta_t₁
cd00b61ed32e4dc7a6fa744a4807bdb6--75e6e7056244483c991aec15b40bad1b
75e6e7056244483c991aec15b40bad1b--821dd4814c734cb6afad4dda387f7771
9c88bde7f2084f7b82cdedfb368f7770
44b808430f1345248a698cda3cadc37e
RX(theta₄)
559aa5fb4b8147d781ae9e3d82da4641--44b808430f1345248a698cda3cadc37e
083bc3fc50ee49c886c08ea410657df4
5
26e2ab7810834fb6903a8dc7ec57d6e4
RY(theta₁₀)
44b808430f1345248a698cda3cadc37e--26e2ab7810834fb6903a8dc7ec57d6e4
af4dac695343465dacd613367b20ff94
RX(theta₁₆)
26e2ab7810834fb6903a8dc7ec57d6e4--af4dac695343465dacd613367b20ff94
43fafb7c6d8d45068c417d0c1287c3d3
af4dac695343465dacd613367b20ff94--43fafb7c6d8d45068c417d0c1287c3d3
8467107654214094afd61d76d623b358
RX(theta₂₂)
43fafb7c6d8d45068c417d0c1287c3d3--8467107654214094afd61d76d623b358
6c06c34fd7a74554882d24fc5e50f416
RY(theta₂₈)
8467107654214094afd61d76d623b358--6c06c34fd7a74554882d24fc5e50f416
06a55c21a2314f81b9b3f1bf575736dd
RX(theta₃₄)
6c06c34fd7a74554882d24fc5e50f416--06a55c21a2314f81b9b3f1bf575736dd
7a7d156786254b7fbd9241a87e4e4166
06a55c21a2314f81b9b3f1bf575736dd--7a7d156786254b7fbd9241a87e4e4166
7a7d156786254b7fbd9241a87e4e4166--9c88bde7f2084f7b82cdedfb368f7770
b25f2e8b01ac43fb9a3ad08e0b02a83b
7c8a0dd9b1ad44f389f3d71136052212
RX(theta₅)
083bc3fc50ee49c886c08ea410657df4--7c8a0dd9b1ad44f389f3d71136052212
0df08e42b4f24d2fb9dead3560535f42
RY(theta₁₁)
7c8a0dd9b1ad44f389f3d71136052212--0df08e42b4f24d2fb9dead3560535f42
817f8fbf2ac54aad9deffedb1d570938
RX(theta₁₇)
0df08e42b4f24d2fb9dead3560535f42--817f8fbf2ac54aad9deffedb1d570938
91ebe5c0b8f34f33b78f5a377a9bf097
817f8fbf2ac54aad9deffedb1d570938--91ebe5c0b8f34f33b78f5a377a9bf097
37df2806a6874f258b017fac76ec8766
RX(theta₂₃)
91ebe5c0b8f34f33b78f5a377a9bf097--37df2806a6874f258b017fac76ec8766
b91bf7bc057a4a1bb79242d89e2f93c3
RY(theta₂₉)
37df2806a6874f258b017fac76ec8766--b91bf7bc057a4a1bb79242d89e2f93c3
f87c2e1e7fc747578c4eb80e2442f89c
RX(theta₃₅)
b91bf7bc057a4a1bb79242d89e2f93c3--f87c2e1e7fc747578c4eb80e2442f89c
d33604476d6342d7917cd90892b9465b
f87c2e1e7fc747578c4eb80e2442f89c--d33604476d6342d7917cd90892b9465b
d33604476d6342d7917cd90892b9465b--b25f2e8b01ac43fb9a3ad08e0b02a83b
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_769a408a36284a598fc588d093e57abc
BPMA-1
cluster_7c20ec08d39f46f1acd887a6659e485d
BPMA-0
e707e724cc01408587620e58883af2fd
0
19b840d01f984dca9871515e6a1e9f02
RX(iia_α₀₀)
e707e724cc01408587620e58883af2fd--19b840d01f984dca9871515e6a1e9f02
63ba5b4d2c7d497c808675c8af384683
1
cac99e3f799b4c298130fc8ad926bbba
RY(iia_α₀₃)
19b840d01f984dca9871515e6a1e9f02--cac99e3f799b4c298130fc8ad926bbba
cb065d3e29fc4269b83311db4c7d8a1c
cac99e3f799b4c298130fc8ad926bbba--cb065d3e29fc4269b83311db4c7d8a1c
1a86d5d2b3d144b2b7719b35af4cb7b5
cb065d3e29fc4269b83311db4c7d8a1c--1a86d5d2b3d144b2b7719b35af4cb7b5
97afdfd7bad8400db0607dd4df082af4
RX(iia_γ₀₀)
1a86d5d2b3d144b2b7719b35af4cb7b5--97afdfd7bad8400db0607dd4df082af4
82860f6f3d714463983d3736e54235ce
97afdfd7bad8400db0607dd4df082af4--82860f6f3d714463983d3736e54235ce
b9c81e3484014f76918502d42e3d9ce9
82860f6f3d714463983d3736e54235ce--b9c81e3484014f76918502d42e3d9ce9
eb756d91c825446498986e974ed0fb53
RY(iia_β₀₃)
b9c81e3484014f76918502d42e3d9ce9--eb756d91c825446498986e974ed0fb53
413fe8de2a834927a1ba3627e82a0a12
RX(iia_β₀₀)
eb756d91c825446498986e974ed0fb53--413fe8de2a834927a1ba3627e82a0a12
5a038d1bcbc34d83b274e2fea5d8897b
RX(iia_α₁₀)
413fe8de2a834927a1ba3627e82a0a12--5a038d1bcbc34d83b274e2fea5d8897b
3082066b07244ab3a8063205e24501d3
RY(iia_α₁₃)
5a038d1bcbc34d83b274e2fea5d8897b--3082066b07244ab3a8063205e24501d3
def18baa058d422e9ac9aa5a1e570939
3082066b07244ab3a8063205e24501d3--def18baa058d422e9ac9aa5a1e570939
aa6c46487bbc4185a8fb90f44780d98f
def18baa058d422e9ac9aa5a1e570939--aa6c46487bbc4185a8fb90f44780d98f
a2994740a3b64469a4efeddba70eb059
RX(iia_γ₁₀)
aa6c46487bbc4185a8fb90f44780d98f--a2994740a3b64469a4efeddba70eb059
74c91b59e6684c219224fddd82f52442
a2994740a3b64469a4efeddba70eb059--74c91b59e6684c219224fddd82f52442
f797adfbb3e64fb88d8a6105f21a96fb
74c91b59e6684c219224fddd82f52442--f797adfbb3e64fb88d8a6105f21a96fb
38680c368be4447f816cedd361ba2feb
RY(iia_β₁₃)
f797adfbb3e64fb88d8a6105f21a96fb--38680c368be4447f816cedd361ba2feb
07befe84a7cf400196d5d7c9fb0eb6d8
RX(iia_β₁₀)
38680c368be4447f816cedd361ba2feb--07befe84a7cf400196d5d7c9fb0eb6d8
402a2c6b87424902bc33aba5392993d2
07befe84a7cf400196d5d7c9fb0eb6d8--402a2c6b87424902bc33aba5392993d2
e8d188d63a38460991fc1f3b9be52d93
ed2bf6894d70450588c7652de1b612a3
RX(iia_α₀₁)
63ba5b4d2c7d497c808675c8af384683--ed2bf6894d70450588c7652de1b612a3
4d98a00520c241b18c36af5c8f016b00
2
1f209f4cf8e74d559260449b73c440c9
RY(iia_α₀₄)
ed2bf6894d70450588c7652de1b612a3--1f209f4cf8e74d559260449b73c440c9
b85098731a1e40e88d5fd4f1fb32b37e
X
1f209f4cf8e74d559260449b73c440c9--b85098731a1e40e88d5fd4f1fb32b37e
b85098731a1e40e88d5fd4f1fb32b37e--cb065d3e29fc4269b83311db4c7d8a1c
e8b85e298b124e579620b4b4010049dc
b85098731a1e40e88d5fd4f1fb32b37e--e8b85e298b124e579620b4b4010049dc
b277a7ed3505440990567f6075601f68
RX(iia_γ₀₁)
e8b85e298b124e579620b4b4010049dc--b277a7ed3505440990567f6075601f68
5b90815b26134ccc8525a25670315d64
b277a7ed3505440990567f6075601f68--5b90815b26134ccc8525a25670315d64
fe8850e632a04af986c59aad1ba3fafd
X
5b90815b26134ccc8525a25670315d64--fe8850e632a04af986c59aad1ba3fafd
fe8850e632a04af986c59aad1ba3fafd--b9c81e3484014f76918502d42e3d9ce9
48516fb229744f7ba21913a84caeb776
RY(iia_β₀₄)
fe8850e632a04af986c59aad1ba3fafd--48516fb229744f7ba21913a84caeb776
b4a04caf4c9e40a681cd510200e838da
RX(iia_β₀₁)
48516fb229744f7ba21913a84caeb776--b4a04caf4c9e40a681cd510200e838da
57e88aea4c0c4f44be0cc85f27853e8f
RX(iia_α₁₁)
b4a04caf4c9e40a681cd510200e838da--57e88aea4c0c4f44be0cc85f27853e8f
425dd181e033401685b9434166363e5f
RY(iia_α₁₄)
57e88aea4c0c4f44be0cc85f27853e8f--425dd181e033401685b9434166363e5f
a7e7e760877c487aa3b75f3d36f6b786
X
425dd181e033401685b9434166363e5f--a7e7e760877c487aa3b75f3d36f6b786
a7e7e760877c487aa3b75f3d36f6b786--def18baa058d422e9ac9aa5a1e570939
5c23c49211c146a9b50e7ffd8e45029a
a7e7e760877c487aa3b75f3d36f6b786--5c23c49211c146a9b50e7ffd8e45029a
edc4b8031da544d19336d54cba943e7d
RX(iia_γ₁₁)
5c23c49211c146a9b50e7ffd8e45029a--edc4b8031da544d19336d54cba943e7d
95463356b2444a498e3218f9c3147619
edc4b8031da544d19336d54cba943e7d--95463356b2444a498e3218f9c3147619
c88752a3dd074d0599d8915e8776ceb1
X
95463356b2444a498e3218f9c3147619--c88752a3dd074d0599d8915e8776ceb1
c88752a3dd074d0599d8915e8776ceb1--f797adfbb3e64fb88d8a6105f21a96fb
aec834a3205e4a59989ccec429ea20fb
RY(iia_β₁₄)
c88752a3dd074d0599d8915e8776ceb1--aec834a3205e4a59989ccec429ea20fb
5a65d3e9abfd4aca83b5cc5c613141dc
RX(iia_β₁₁)
aec834a3205e4a59989ccec429ea20fb--5a65d3e9abfd4aca83b5cc5c613141dc
5a65d3e9abfd4aca83b5cc5c613141dc--e8d188d63a38460991fc1f3b9be52d93
6f7118189f074b0491638678262e0664
a5f36a16933642ebbe9d8e576a7f99a4
RX(iia_α₀₂)
4d98a00520c241b18c36af5c8f016b00--a5f36a16933642ebbe9d8e576a7f99a4
53a2107443b5441b932de0633a0743b2
RY(iia_α₀₅)
a5f36a16933642ebbe9d8e576a7f99a4--53a2107443b5441b932de0633a0743b2
248c5e39c2b146609a9dd424d957d33b
53a2107443b5441b932de0633a0743b2--248c5e39c2b146609a9dd424d957d33b
a1d1ad3d4dec4b27aa9597203f0e16a6
X
248c5e39c2b146609a9dd424d957d33b--a1d1ad3d4dec4b27aa9597203f0e16a6
a1d1ad3d4dec4b27aa9597203f0e16a6--e8b85e298b124e579620b4b4010049dc
62103ced9bc24f95bec30908b2bc1755
RX(iia_γ₀₂)
a1d1ad3d4dec4b27aa9597203f0e16a6--62103ced9bc24f95bec30908b2bc1755
a343daf4fb834f6eba1d0c0243454e15
X
62103ced9bc24f95bec30908b2bc1755--a343daf4fb834f6eba1d0c0243454e15
a343daf4fb834f6eba1d0c0243454e15--5b90815b26134ccc8525a25670315d64
153b1309abc24f4a84ff47c1fa13b53c
a343daf4fb834f6eba1d0c0243454e15--153b1309abc24f4a84ff47c1fa13b53c
8fd1e304c700473188bd3185c99adc5e
RY(iia_β₀₅)
153b1309abc24f4a84ff47c1fa13b53c--8fd1e304c700473188bd3185c99adc5e
3de73e0cde85443f940762bc1826bcc9
RX(iia_β₀₂)
8fd1e304c700473188bd3185c99adc5e--3de73e0cde85443f940762bc1826bcc9
c9264dd90ab94b4986434728d5b5a345
RX(iia_α₁₂)
3de73e0cde85443f940762bc1826bcc9--c9264dd90ab94b4986434728d5b5a345
544cb570a76447e7a911751a628f45b8
RY(iia_α₁₅)
c9264dd90ab94b4986434728d5b5a345--544cb570a76447e7a911751a628f45b8
7fb727a2e67f4430a1e787ec3f5a34bc
544cb570a76447e7a911751a628f45b8--7fb727a2e67f4430a1e787ec3f5a34bc
c0e83ef00a67488b89a4a5cbed5f253b
X
7fb727a2e67f4430a1e787ec3f5a34bc--c0e83ef00a67488b89a4a5cbed5f253b
c0e83ef00a67488b89a4a5cbed5f253b--5c23c49211c146a9b50e7ffd8e45029a
3e6de01ed24b4d4db08d68193f7f8ef5
RX(iia_γ₁₂)
c0e83ef00a67488b89a4a5cbed5f253b--3e6de01ed24b4d4db08d68193f7f8ef5
e945314ccb5b41c08555b8afd58c4a93
X
3e6de01ed24b4d4db08d68193f7f8ef5--e945314ccb5b41c08555b8afd58c4a93
e945314ccb5b41c08555b8afd58c4a93--95463356b2444a498e3218f9c3147619
a42c1b0aa09d479092d16ad25c40b505
e945314ccb5b41c08555b8afd58c4a93--a42c1b0aa09d479092d16ad25c40b505
6a8b2c9d5a7b4f4b98a40b80dd089e87
RY(iia_β₁₅)
a42c1b0aa09d479092d16ad25c40b505--6a8b2c9d5a7b4f4b98a40b80dd089e87
b6ba163d82ce4d6fbbb1cb6af688d90d
RX(iia_β₁₂)
6a8b2c9d5a7b4f4b98a40b80dd089e87--b6ba163d82ce4d6fbbb1cb6af688d90d
b6ba163d82ce4d6fbbb1cb6af688d90d--6f7118189f074b0491638678262e0664