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_dca5b58bb3df465db61e4c46fa8647b5
Constant Chebyshev FM
cluster_592df326d9c64970837f8571f2de6a41
Constant Fourier FM
96887c7727ed4a07a13edc75af8d8200
0
c50847897ee04cd38ccd2ca2222f6ce2
RX(phi)
96887c7727ed4a07a13edc75af8d8200--c50847897ee04cd38ccd2ca2222f6ce2
cf0a73ba96b74b3696c7c53c0bcf2528
1
5802cd5f3a8d4844801e9c76555079e9
RX(acos(phi))
c50847897ee04cd38ccd2ca2222f6ce2--5802cd5f3a8d4844801e9c76555079e9
ea99e3e640f943588b7e404143443054
5802cd5f3a8d4844801e9c76555079e9--ea99e3e640f943588b7e404143443054
c00b3d0f080441b6bdf531e7c5c868ce
6c3f5aadc5f54cb39fdbf9c8717ade04
RX(phi)
cf0a73ba96b74b3696c7c53c0bcf2528--6c3f5aadc5f54cb39fdbf9c8717ade04
290cdb79365c4529933c6e514cd1bda4
2
47ddb7405b7648af95497b8e29582a54
RX(acos(phi))
6c3f5aadc5f54cb39fdbf9c8717ade04--47ddb7405b7648af95497b8e29582a54
47ddb7405b7648af95497b8e29582a54--c00b3d0f080441b6bdf531e7c5c868ce
de87b66d98294aac940458a1cc906dcf
f9c862127d784ee5ba8afccc19fc1a66
RX(phi)
290cdb79365c4529933c6e514cd1bda4--f9c862127d784ee5ba8afccc19fc1a66
b4d6f3563ed8494598cc53e09c85b6e2
RX(acos(phi))
f9c862127d784ee5ba8afccc19fc1a66--b4d6f3563ed8494598cc53e09c85b6e2
b4d6f3563ed8494598cc53e09c85b6e2--de87b66d98294aac940458a1cc906dcf
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_0eb7fc857647422a8000ea47f7b8c43a
Constant <function custom_fn at 0x7f2617de8dc0> FM
cluster_08044129d46b42a3bdfd31930c067d30
Constant asin FM
3e77fa516f074bc3871f96c554d9fe08
0
d0f5791ac38941b8a2f910df2c535d02
RX(asin(phi))
3e77fa516f074bc3871f96c554d9fe08--d0f5791ac38941b8a2f910df2c535d02
d38026d4d27e414cb1f168c7bdcee146
1
800a5080140144dc97e5938c7bb3d07d
RX(phi**2 + asin(phi))
d0f5791ac38941b8a2f910df2c535d02--800a5080140144dc97e5938c7bb3d07d
b59930487f75426a90d2ed7d31279bd3
800a5080140144dc97e5938c7bb3d07d--b59930487f75426a90d2ed7d31279bd3
0f200360e5ae4c8c9f634945d8f80f4f
97767686926f468381c275d2927464e9
RX(asin(phi))
d38026d4d27e414cb1f168c7bdcee146--97767686926f468381c275d2927464e9
e6ba8fa2a3a440a39d543f5645e1761d
2
bbbbdb7094814655a31d5d42c7eee694
RX(phi**2 + asin(phi))
97767686926f468381c275d2927464e9--bbbbdb7094814655a31d5d42c7eee694
bbbbdb7094814655a31d5d42c7eee694--0f200360e5ae4c8c9f634945d8f80f4f
713e40f78d2042a8946c1f46f173377a
db40c2d461ef48168858afde6740afcd
RX(asin(phi))
e6ba8fa2a3a440a39d543f5645e1761d--db40c2d461ef48168858afde6740afcd
cb1f799e0dcf48f5ae368053a5df8750
RX(phi**2 + asin(phi))
db40c2d461ef48168858afde6740afcd--cb1f799e0dcf48f5ae368053a5df8750
cb1f799e0dcf48f5ae368053a5df8750--713e40f78d2042a8946c1f46f173377a
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_8c66fbfe3b2d4afabc9d7e7188ae9bf1
Exponential Fourier FM
cluster_57fc5561ab4e419cbcd6421d70715a6c
Constant Fourier FM
cluster_ebc97bf9aa914f45adffdb60eddfa647
Tower Fourier FM
63ab591b4307491c9bdfc51babff1239
0
b22ddce6b7954027be50463b521083f3
RX(phi)
63ab591b4307491c9bdfc51babff1239--b22ddce6b7954027be50463b521083f3
f45e2a2cf023402993fb68a4be9ebb04
1
6132376b75704907b7377d8fe7eb5a37
RX(1.0*phi)
b22ddce6b7954027be50463b521083f3--6132376b75704907b7377d8fe7eb5a37
d8922aec38974223ab788e3b0b7bc289
RX(1.0*phi)
6132376b75704907b7377d8fe7eb5a37--d8922aec38974223ab788e3b0b7bc289
5866f9832f3042b7946ae4b85e4eeaa4
d8922aec38974223ab788e3b0b7bc289--5866f9832f3042b7946ae4b85e4eeaa4
1c4bd1a2728d421ba9386462e5f8ecf2
ffab959f4d224ee4bbb58ba80f685322
RX(phi)
f45e2a2cf023402993fb68a4be9ebb04--ffab959f4d224ee4bbb58ba80f685322
b1937339c67243179a67306e5066b291
2
ce6e3a5c73c142cfb6ce7bde54ae227f
RX(2.0*phi)
ffab959f4d224ee4bbb58ba80f685322--ce6e3a5c73c142cfb6ce7bde54ae227f
3019553ed3f74ab6b59bd3c4dc80dbef
RX(2.0*phi)
ce6e3a5c73c142cfb6ce7bde54ae227f--3019553ed3f74ab6b59bd3c4dc80dbef
3019553ed3f74ab6b59bd3c4dc80dbef--1c4bd1a2728d421ba9386462e5f8ecf2
4043e3236ce84c69bc346e290a4f6e1c
78c34e81621e4e739befa3b3680c64e3
RX(phi)
b1937339c67243179a67306e5066b291--78c34e81621e4e739befa3b3680c64e3
a94993851c94431d89308594ae719419
3
310cdc78cb8e43a2bb53c793955248b8
RX(3.0*phi)
78c34e81621e4e739befa3b3680c64e3--310cdc78cb8e43a2bb53c793955248b8
5a76c70d753145a396023d9bec078411
RX(4.0*phi)
310cdc78cb8e43a2bb53c793955248b8--5a76c70d753145a396023d9bec078411
5a76c70d753145a396023d9bec078411--4043e3236ce84c69bc346e290a4f6e1c
91acd563dc6440138ba72fa77a163a87
87b9c6459ab8465c9f580e832533cc3d
RX(phi)
a94993851c94431d89308594ae719419--87b9c6459ab8465c9f580e832533cc3d
68ec57bce57f46319513154374007459
4
5b19e157d92045f5a227d02fd9b38469
RX(4.0*phi)
87b9c6459ab8465c9f580e832533cc3d--5b19e157d92045f5a227d02fd9b38469
34b40d3af4374696a2d8f0d789bbf3c4
RX(8.0*phi)
5b19e157d92045f5a227d02fd9b38469--34b40d3af4374696a2d8f0d789bbf3c4
34b40d3af4374696a2d8f0d789bbf3c4--91acd563dc6440138ba72fa77a163a87
981b1ae3ebde4a778897f95584037977
c4cd4d1e3add469d84fd9411f514fdd5
RX(phi)
68ec57bce57f46319513154374007459--c4cd4d1e3add469d84fd9411f514fdd5
871e20c0bae0468ca881c9a9a9166d96
RX(5.0*phi)
c4cd4d1e3add469d84fd9411f514fdd5--871e20c0bae0468ca881c9a9a9166d96
4ccf766e6ec447d9a337cc47afd738dd
RX(16.0*phi)
871e20c0bae0468ca881c9a9a9166d96--4ccf766e6ec447d9a337cc47afd738dd
4ccf766e6ec447d9a337cc47afd738dd--981b1ae3ebde4a778897f95584037977
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
37b619c59cca49129522c898caf59a61
0
ac7503494a45414db9f739d2937f3aee
RX(1.0*acos(phi))
37b619c59cca49129522c898caf59a61--ac7503494a45414db9f739d2937f3aee
96b09484399347a1a89aeb46b9ebe982
1
1514c2d8dda34c66b00905ec8c060c87
ac7503494a45414db9f739d2937f3aee--1514c2d8dda34c66b00905ec8c060c87
9805a8f08ef4414584480266f6ac1d5a
a07b95de8f514383b580c4d53fb8b370
RX(1.414*acos(phi))
96b09484399347a1a89aeb46b9ebe982--a07b95de8f514383b580c4d53fb8b370
c4653215b024431fb25eb7617d209b21
2
a07b95de8f514383b580c4d53fb8b370--9805a8f08ef4414584480266f6ac1d5a
0033fb4f281247489d6b826e2e2daf79
efa71cd97e9c4ec29a21cf672b3964d2
RX(1.732*acos(phi))
c4653215b024431fb25eb7617d209b21--efa71cd97e9c4ec29a21cf672b3964d2
cd135ea0724b42879517b3bd80478695
3
efa71cd97e9c4ec29a21cf672b3964d2--0033fb4f281247489d6b826e2e2daf79
1f215669abcd46aea679decb4bb1a572
b05db4fe409d489f95b0b59d09d066df
RX(2.0*acos(phi))
cd135ea0724b42879517b3bd80478695--b05db4fe409d489f95b0b59d09d066df
fda105e3896040b297622de194043335
4
b05db4fe409d489f95b0b59d09d066df--1f215669abcd46aea679decb4bb1a572
74e9738e2d024de2879e846a6d747c45
120eeaccf77c414aaf9c64d5327cc96e
RX(2.236*acos(phi))
fda105e3896040b297622de194043335--120eeaccf77c414aaf9c64d5327cc96e
120eeaccf77c414aaf9c64d5327cc96e--74e9738e2d024de2879e846a6d747c45
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
9820be5ee77e444e962669053a88f970
0
8298320225b9418097325a156a18e21b
RX(1.0*phi*w₀)
9820be5ee77e444e962669053a88f970--8298320225b9418097325a156a18e21b
95e0434e4f7f4230afc1cb6751db7888
1
22c5c5a7073c4a71919612781e92556a
8298320225b9418097325a156a18e21b--22c5c5a7073c4a71919612781e92556a
2c89a432032a4554a22bb05cd632ca3e
56713caa8ed141478784f4c475e8ed61
RX(2.0*phi*w₁)
95e0434e4f7f4230afc1cb6751db7888--56713caa8ed141478784f4c475e8ed61
2921923bd7a041239c693255830c3697
2
56713caa8ed141478784f4c475e8ed61--2c89a432032a4554a22bb05cd632ca3e
8affb535a8034554936f95294177b1ad
7acbf092388c4b8e90881b58cc3dc8f3
RX(4.0*phi*w₂)
2921923bd7a041239c693255830c3697--7acbf092388c4b8e90881b58cc3dc8f3
f5c1a527d42042e99d9777eace5ecce4
3
7acbf092388c4b8e90881b58cc3dc8f3--8affb535a8034554936f95294177b1ad
428eb3a410c44a74874f44b6a3bc4e98
e77ae0b9ffb34a25b0cba2df66d57d74
RX(8.0*phi*w₃)
f5c1a527d42042e99d9777eace5ecce4--e77ae0b9ffb34a25b0cba2df66d57d74
c6bf722859154bee8da655fb2b7f23af
4
e77ae0b9ffb34a25b0cba2df66d57d74--428eb3a410c44a74874f44b6a3bc4e98
6c1a92896dd1449c897410986fe23ecf
abd540cca423468ca67c2ae2a7294170
RX(16.0*phi*w₄)
c6bf722859154bee8da655fb2b7f23af--abd540cca423468ca67c2ae2a7294170
abd540cca423468ca67c2ae2a7294170--6c1a92896dd1449c897410986fe23ecf
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
2a914c09a0dd47908e9239c8dcbe94b8
0
635685a3950945cb903f3607611f4cbe
RY(80.0*acos(w₄*(0.667*x + 1.667)))
2a914c09a0dd47908e9239c8dcbe94b8--635685a3950945cb903f3607611f4cbe
a8799c7f27d54a9e88904aa963ca3e62
1
345e25b67c9345fb81dc0ba7aeaba145
635685a3950945cb903f3607611f4cbe--345e25b67c9345fb81dc0ba7aeaba145
6782473e9f7648d9b4a3b02dd652a74d
0ba79073699248558315b95aa27a0a4d
RY(40.0*acos(w₃*(0.667*x + 1.667)))
a8799c7f27d54a9e88904aa963ca3e62--0ba79073699248558315b95aa27a0a4d
19eba813a8b3480da012c3060b0632ec
2
0ba79073699248558315b95aa27a0a4d--6782473e9f7648d9b4a3b02dd652a74d
bb72998d959d4ed4aea78c114742e601
b46f558aa9984366855bef71aaad8962
RY(20.0*acos(w₂*(0.667*x + 1.667)))
19eba813a8b3480da012c3060b0632ec--b46f558aa9984366855bef71aaad8962
c0805c6fae2a4d3cac0a9236ae0c90f3
3
b46f558aa9984366855bef71aaad8962--bb72998d959d4ed4aea78c114742e601
681783168e1042588eab902f95a3420a
2af2e8973cc34ec597731eee71af037a
RY(10.0*acos(w₁*(0.667*x + 1.667)))
c0805c6fae2a4d3cac0a9236ae0c90f3--2af2e8973cc34ec597731eee71af037a
5ff6d93a1b404c9fbf83c5a981778aa9
4
2af2e8973cc34ec597731eee71af037a--681783168e1042588eab902f95a3420a
77a0bde1cccd4591ab13f99afe31f0b2
5209629876bc4b419c704a9581fcaef2
RY(5.0*acos(w₀*(0.667*x + 1.667)))
5ff6d93a1b404c9fbf83c5a981778aa9--5209629876bc4b419c704a9581fcaef2
5209629876bc4b419c704a9581fcaef2--77a0bde1cccd4591ab13f99afe31f0b2
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
dd09c24e2b1f406fba5d53a5e5a906ae
0
43f7a8be234e4addaf01274e2ad66e0e
RX(theta₀)
dd09c24e2b1f406fba5d53a5e5a906ae--43f7a8be234e4addaf01274e2ad66e0e
a36a8043ec874ace801e97cdf1a620a4
1
ab3473b5dd1c470bac33aaed9916410e
RY(theta₃)
43f7a8be234e4addaf01274e2ad66e0e--ab3473b5dd1c470bac33aaed9916410e
38a7df11339743c18db85899238302b3
RX(theta₆)
ab3473b5dd1c470bac33aaed9916410e--38a7df11339743c18db85899238302b3
a15f0b5931894fafac3312e57e851b13
38a7df11339743c18db85899238302b3--a15f0b5931894fafac3312e57e851b13
25820946caca40ddaa597c2476c9f7db
a15f0b5931894fafac3312e57e851b13--25820946caca40ddaa597c2476c9f7db
d5918b539c944b8bb8e6593bb9287e00
RX(theta₉)
25820946caca40ddaa597c2476c9f7db--d5918b539c944b8bb8e6593bb9287e00
ac8f6a94cd9e44cba8987b457ed25bfb
RY(theta₁₂)
d5918b539c944b8bb8e6593bb9287e00--ac8f6a94cd9e44cba8987b457ed25bfb
b3f6cf6c71e5469fbe864b4db3e1ba16
RX(theta₁₅)
ac8f6a94cd9e44cba8987b457ed25bfb--b3f6cf6c71e5469fbe864b4db3e1ba16
7ea249178dcd4554876baede3878eb77
b3f6cf6c71e5469fbe864b4db3e1ba16--7ea249178dcd4554876baede3878eb77
72b3a57fd4174421ad857091990c38cb
7ea249178dcd4554876baede3878eb77--72b3a57fd4174421ad857091990c38cb
ba8c076803a94750b131d67eeacba0f8
72b3a57fd4174421ad857091990c38cb--ba8c076803a94750b131d67eeacba0f8
317a4d14eb994e629c3dbcd98c1d4e98
9ee416c78a844c748ee09406c3b01911
RX(theta₁)
a36a8043ec874ace801e97cdf1a620a4--9ee416c78a844c748ee09406c3b01911
b82d17c0d9fc4a3eafb8aa9e21865b23
2
9665b46000884e4ba63fef7d43d30df4
RY(theta₄)
9ee416c78a844c748ee09406c3b01911--9665b46000884e4ba63fef7d43d30df4
c85e72edeb44414d8364f6ed7f116d40
RX(theta₇)
9665b46000884e4ba63fef7d43d30df4--c85e72edeb44414d8364f6ed7f116d40
1ee1332399254d8b8615b28777bf2ff2
X
c85e72edeb44414d8364f6ed7f116d40--1ee1332399254d8b8615b28777bf2ff2
1ee1332399254d8b8615b28777bf2ff2--a15f0b5931894fafac3312e57e851b13
709559763b2349a5b56f0c6501fda282
1ee1332399254d8b8615b28777bf2ff2--709559763b2349a5b56f0c6501fda282
c55e5c57a0fd46dd8f2dfac407aedb5a
RX(theta₁₀)
709559763b2349a5b56f0c6501fda282--c55e5c57a0fd46dd8f2dfac407aedb5a
7c6b1a1f7d554562bdf57d483f24a2ba
RY(theta₁₃)
c55e5c57a0fd46dd8f2dfac407aedb5a--7c6b1a1f7d554562bdf57d483f24a2ba
7cb559ba12b44a11a38f82485299f131
RX(theta₁₆)
7c6b1a1f7d554562bdf57d483f24a2ba--7cb559ba12b44a11a38f82485299f131
b65aebe143744a738dcb1e446d3933cd
X
7cb559ba12b44a11a38f82485299f131--b65aebe143744a738dcb1e446d3933cd
b65aebe143744a738dcb1e446d3933cd--7ea249178dcd4554876baede3878eb77
536ea13fabd04a769c02f2b4d861b560
b65aebe143744a738dcb1e446d3933cd--536ea13fabd04a769c02f2b4d861b560
536ea13fabd04a769c02f2b4d861b560--317a4d14eb994e629c3dbcd98c1d4e98
f60950ac2c7944f8ae926ca81cf4ccfa
4abf197c93c04b3ba719d50bafcdcc55
RX(theta₂)
b82d17c0d9fc4a3eafb8aa9e21865b23--4abf197c93c04b3ba719d50bafcdcc55
2bf77507b94a43a5a3e5f3ca3b459185
RY(theta₅)
4abf197c93c04b3ba719d50bafcdcc55--2bf77507b94a43a5a3e5f3ca3b459185
7639df9bbe484c89ac0642e6833abecb
RX(theta₈)
2bf77507b94a43a5a3e5f3ca3b459185--7639df9bbe484c89ac0642e6833abecb
870ceb4e6f454ed5b18a223cd772583e
7639df9bbe484c89ac0642e6833abecb--870ceb4e6f454ed5b18a223cd772583e
1de39bea1eb74774b8466ffdd4d35d61
X
870ceb4e6f454ed5b18a223cd772583e--1de39bea1eb74774b8466ffdd4d35d61
1de39bea1eb74774b8466ffdd4d35d61--709559763b2349a5b56f0c6501fda282
cf6a14dfdc1043d9833005432253b8d9
RX(theta₁₁)
1de39bea1eb74774b8466ffdd4d35d61--cf6a14dfdc1043d9833005432253b8d9
2c1fe65e60ac456397997a0cc8398b50
RY(theta₁₄)
cf6a14dfdc1043d9833005432253b8d9--2c1fe65e60ac456397997a0cc8398b50
3d418b2a82f24ab0a0400902ab5cdcc2
RX(theta₁₇)
2c1fe65e60ac456397997a0cc8398b50--3d418b2a82f24ab0a0400902ab5cdcc2
4e964afbb8da433381960cd261a13db3
3d418b2a82f24ab0a0400902ab5cdcc2--4e964afbb8da433381960cd261a13db3
9807555cc0894e789300025cba7da5f5
X
4e964afbb8da433381960cd261a13db3--9807555cc0894e789300025cba7da5f5
9807555cc0894e789300025cba7da5f5--536ea13fabd04a769c02f2b4d861b560
9807555cc0894e789300025cba7da5f5--f60950ac2c7944f8ae926ca81cf4ccfa
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
59915ffa92be4095811bba986a02d8b7
0
2b353df2bb3d4c69b4b931f157470b80
RX(phi₀)
59915ffa92be4095811bba986a02d8b7--2b353df2bb3d4c69b4b931f157470b80
d80af9e1840f41d48bca5542eac3ca20
1
b6e6d2621e4444c8bb9bd5a2a7c8ab14
RY(phi₃)
2b353df2bb3d4c69b4b931f157470b80--b6e6d2621e4444c8bb9bd5a2a7c8ab14
cb1aff23909046e7af80d68a31f2977b
RX(phi₆)
b6e6d2621e4444c8bb9bd5a2a7c8ab14--cb1aff23909046e7af80d68a31f2977b
8e1d373053ef409da59f90eb968a03d6
cb1aff23909046e7af80d68a31f2977b--8e1d373053ef409da59f90eb968a03d6
536d71030de44a7fa8c5de3033e4e8ed
8e1d373053ef409da59f90eb968a03d6--536d71030de44a7fa8c5de3033e4e8ed
293d6a6c288b40ad9d155ad0c63c91b7
RX(phi₉)
536d71030de44a7fa8c5de3033e4e8ed--293d6a6c288b40ad9d155ad0c63c91b7
06701aa33eff4a8aaa133acdeb62f8dd
RY(phi₁₂)
293d6a6c288b40ad9d155ad0c63c91b7--06701aa33eff4a8aaa133acdeb62f8dd
371ec54885064d1aa841112f7b0f6571
RX(phi₁₅)
06701aa33eff4a8aaa133acdeb62f8dd--371ec54885064d1aa841112f7b0f6571
e9ade689989b4d9fb322543be348eb97
371ec54885064d1aa841112f7b0f6571--e9ade689989b4d9fb322543be348eb97
5e1059c6836a479bbc24c540eb816292
e9ade689989b4d9fb322543be348eb97--5e1059c6836a479bbc24c540eb816292
2d7bc3d1835a49a2a4f7e084b1eb8896
5e1059c6836a479bbc24c540eb816292--2d7bc3d1835a49a2a4f7e084b1eb8896
155c239e538744fd85e61c5aeed33089
deaabd2da5cb47edb39026ac89f09e07
RX(phi₁)
d80af9e1840f41d48bca5542eac3ca20--deaabd2da5cb47edb39026ac89f09e07
33e6b6c8f6bb44e5a8ca13a6bb9bb121
2
59b9d99e4c3e4e4c9a255ca4ee3f024e
RY(phi₄)
deaabd2da5cb47edb39026ac89f09e07--59b9d99e4c3e4e4c9a255ca4ee3f024e
efda0f0a8939450bbc89b866480e84d7
RX(phi₇)
59b9d99e4c3e4e4c9a255ca4ee3f024e--efda0f0a8939450bbc89b866480e84d7
a55689fc094b44e0956460e403e4e776
PHASE(phi_ent₀)
efda0f0a8939450bbc89b866480e84d7--a55689fc094b44e0956460e403e4e776
a55689fc094b44e0956460e403e4e776--8e1d373053ef409da59f90eb968a03d6
4314b6f8afab41c9839b72ff7d7679ec
a55689fc094b44e0956460e403e4e776--4314b6f8afab41c9839b72ff7d7679ec
02db444156d7455aa167775fd7981f7a
RX(phi₁₀)
4314b6f8afab41c9839b72ff7d7679ec--02db444156d7455aa167775fd7981f7a
4b9f3294fed94b7aa4442e84dca0a5ba
RY(phi₁₃)
02db444156d7455aa167775fd7981f7a--4b9f3294fed94b7aa4442e84dca0a5ba
0e73d0632fe14910b7b90e3f54795e2c
RX(phi₁₆)
4b9f3294fed94b7aa4442e84dca0a5ba--0e73d0632fe14910b7b90e3f54795e2c
ae40014323fe4d8d81ffeeddd3069561
PHASE(phi_ent₂)
0e73d0632fe14910b7b90e3f54795e2c--ae40014323fe4d8d81ffeeddd3069561
ae40014323fe4d8d81ffeeddd3069561--e9ade689989b4d9fb322543be348eb97
e40b73f27127499b9dcfdc360c513ed1
ae40014323fe4d8d81ffeeddd3069561--e40b73f27127499b9dcfdc360c513ed1
e40b73f27127499b9dcfdc360c513ed1--155c239e538744fd85e61c5aeed33089
e2474abdc0a342598372c9c289b7ac78
41e9de1356004d6a9addb13dfaf39932
RX(phi₂)
33e6b6c8f6bb44e5a8ca13a6bb9bb121--41e9de1356004d6a9addb13dfaf39932
36bbfd7ed8784bc3ad0f260acc149a0f
RY(phi₅)
41e9de1356004d6a9addb13dfaf39932--36bbfd7ed8784bc3ad0f260acc149a0f
6856f5c1f47c4f8890883b093b559b83
RX(phi₈)
36bbfd7ed8784bc3ad0f260acc149a0f--6856f5c1f47c4f8890883b093b559b83
84ae9cf1cf4a427db516a72cf77f288d
6856f5c1f47c4f8890883b093b559b83--84ae9cf1cf4a427db516a72cf77f288d
4e400a6504d24d0fa9f60b858e1c09ed
PHASE(phi_ent₁)
84ae9cf1cf4a427db516a72cf77f288d--4e400a6504d24d0fa9f60b858e1c09ed
4e400a6504d24d0fa9f60b858e1c09ed--4314b6f8afab41c9839b72ff7d7679ec
8c8c92f29dac405b8484411864ba00e1
RX(phi₁₁)
4e400a6504d24d0fa9f60b858e1c09ed--8c8c92f29dac405b8484411864ba00e1
9195e2494eba4dbf896ba07ed57e1a93
RY(phi₁₄)
8c8c92f29dac405b8484411864ba00e1--9195e2494eba4dbf896ba07ed57e1a93
970b208f18a847b88ffee3764f44e896
RX(phi₁₇)
9195e2494eba4dbf896ba07ed57e1a93--970b208f18a847b88ffee3764f44e896
f28d2032c03e4394822877c3a83b1af1
970b208f18a847b88ffee3764f44e896--f28d2032c03e4394822877c3a83b1af1
0167c1c17a914f9e89f14709a326d8c1
PHASE(phi_ent₃)
f28d2032c03e4394822877c3a83b1af1--0167c1c17a914f9e89f14709a326d8c1
0167c1c17a914f9e89f14709a326d8c1--e40b73f27127499b9dcfdc360c513ed1
0167c1c17a914f9e89f14709a326d8c1--e2474abdc0a342598372c9c289b7ac78
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_40a5742380ae48e1816084f387c7ea31
cluster_b6cbe99da8d649d59bac16e76814f8c1
d149636fc6c14239a56e3e8c833d2d87
0
68574b657cfc479ea1c8737607477b8e
RX(theta₀)
d149636fc6c14239a56e3e8c833d2d87--68574b657cfc479ea1c8737607477b8e
3b459536383d46e4a9d7de4003427949
1
502635ac8c8b41aea9cf861fd2561b10
RY(theta₃)
68574b657cfc479ea1c8737607477b8e--502635ac8c8b41aea9cf861fd2561b10
6ad95edb11844d30acf65325cb07bff9
RX(theta₆)
502635ac8c8b41aea9cf861fd2561b10--6ad95edb11844d30acf65325cb07bff9
a48b6c3c0be5479485ebc468eeef6780
HamEvo
6ad95edb11844d30acf65325cb07bff9--a48b6c3c0be5479485ebc468eeef6780
4362243ebe2b40559858ac35b93d6127
RX(theta₉)
a48b6c3c0be5479485ebc468eeef6780--4362243ebe2b40559858ac35b93d6127
f56bd2d1e2ee488394d69efbcf030a6e
RY(theta₁₂)
4362243ebe2b40559858ac35b93d6127--f56bd2d1e2ee488394d69efbcf030a6e
1d5eba09536f4e14b388ddb00c5f5426
RX(theta₁₅)
f56bd2d1e2ee488394d69efbcf030a6e--1d5eba09536f4e14b388ddb00c5f5426
9c30c1f8682c49b4967a77fbdee63165
HamEvo
1d5eba09536f4e14b388ddb00c5f5426--9c30c1f8682c49b4967a77fbdee63165
577cd818fdf54451817e8efd427e555d
9c30c1f8682c49b4967a77fbdee63165--577cd818fdf54451817e8efd427e555d
d692701b1aee497498adae698fd188e3
43ba9f1cafe64fd5a2570f274cfb0b59
RX(theta₁)
3b459536383d46e4a9d7de4003427949--43ba9f1cafe64fd5a2570f274cfb0b59
92ea584b17e5424593fb7d571ebd93f7
2
dbdff9c375924a258c3efc90f7d7595c
RY(theta₄)
43ba9f1cafe64fd5a2570f274cfb0b59--dbdff9c375924a258c3efc90f7d7595c
b5dcaa0948ef453ea0e923bafcad9e3d
RX(theta₇)
dbdff9c375924a258c3efc90f7d7595c--b5dcaa0948ef453ea0e923bafcad9e3d
7bbac905e86c467ab224d5e36584e7e5
t = theta_t₀
b5dcaa0948ef453ea0e923bafcad9e3d--7bbac905e86c467ab224d5e36584e7e5
8fb384062d964754962904d64d278a89
RX(theta₁₀)
7bbac905e86c467ab224d5e36584e7e5--8fb384062d964754962904d64d278a89
e8ceb0771b024ab6a244027b0018a276
RY(theta₁₃)
8fb384062d964754962904d64d278a89--e8ceb0771b024ab6a244027b0018a276
f890db19a3894cc8a1949268ebbc6763
RX(theta₁₆)
e8ceb0771b024ab6a244027b0018a276--f890db19a3894cc8a1949268ebbc6763
03b2607c73354c1eab59392af4e37094
t = theta_t₁
f890db19a3894cc8a1949268ebbc6763--03b2607c73354c1eab59392af4e37094
03b2607c73354c1eab59392af4e37094--d692701b1aee497498adae698fd188e3
9992812382ff4bd492f848673533a1dd
77db20e0686c4bca90346c410a9dd11f
RX(theta₂)
92ea584b17e5424593fb7d571ebd93f7--77db20e0686c4bca90346c410a9dd11f
6632401997324767918a7885468daa2a
RY(theta₅)
77db20e0686c4bca90346c410a9dd11f--6632401997324767918a7885468daa2a
a06e9647deda4be19bf5535611103d5e
RX(theta₈)
6632401997324767918a7885468daa2a--a06e9647deda4be19bf5535611103d5e
0c1fc4f143a842deba729f99a3fb8e7d
a06e9647deda4be19bf5535611103d5e--0c1fc4f143a842deba729f99a3fb8e7d
eeb2c8e6c15741b49a1dd4bba63378fb
RX(theta₁₁)
0c1fc4f143a842deba729f99a3fb8e7d--eeb2c8e6c15741b49a1dd4bba63378fb
0cf1facb54994cc185e638c95f39b0bc
RY(theta₁₄)
eeb2c8e6c15741b49a1dd4bba63378fb--0cf1facb54994cc185e638c95f39b0bc
578792fdc65c4bfc9840e7cc49d03056
RX(theta₁₇)
0cf1facb54994cc185e638c95f39b0bc--578792fdc65c4bfc9840e7cc49d03056
453d270b0d304ff68f3a70076239016f
578792fdc65c4bfc9840e7cc49d03056--453d270b0d304ff68f3a70076239016f
453d270b0d304ff68f3a70076239016f--9992812382ff4bd492f848673533a1dd
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_80bb0a5e25674ddb864b8d9854a4d6a2
cluster_8c819179782346058128e234374544ba
2e9367dbe2694f83961751f50936740e
0
d6f2615c3c8140debd37b8655dd96ab3
RX(theta₀)
2e9367dbe2694f83961751f50936740e--d6f2615c3c8140debd37b8655dd96ab3
7241b8fbc98d4f7d8d40dc60bbe252d3
1
937aa46b665d4d59b960cfbe328fffdb
RY(theta₆)
d6f2615c3c8140debd37b8655dd96ab3--937aa46b665d4d59b960cfbe328fffdb
2e859c92e8f8489fbb850ebe6bf6be11
RX(theta₁₂)
937aa46b665d4d59b960cfbe328fffdb--2e859c92e8f8489fbb850ebe6bf6be11
180762dd3b3e448dafd3ae59bbc75316
2e859c92e8f8489fbb850ebe6bf6be11--180762dd3b3e448dafd3ae59bbc75316
5b032b9f3e7f482097c7e3e43e3be4ef
RX(theta₁₈)
180762dd3b3e448dafd3ae59bbc75316--5b032b9f3e7f482097c7e3e43e3be4ef
7912c5c0f2cd477a8dc6e9d6f18bb5d9
RY(theta₂₄)
5b032b9f3e7f482097c7e3e43e3be4ef--7912c5c0f2cd477a8dc6e9d6f18bb5d9
9716daaeafe749a6958cb84fd8d3ffa7
RX(theta₃₀)
7912c5c0f2cd477a8dc6e9d6f18bb5d9--9716daaeafe749a6958cb84fd8d3ffa7
3b0c3c4260354741a90dcba4d744e4e0
9716daaeafe749a6958cb84fd8d3ffa7--3b0c3c4260354741a90dcba4d744e4e0
ee9c5ba11ff240579c2f1dc6fe0c60c1
3b0c3c4260354741a90dcba4d744e4e0--ee9c5ba11ff240579c2f1dc6fe0c60c1
5198f73390cd4c0a8c162b9eb41b35da
dda9a920562e40199a9a7ba69a90eb8e
RX(theta₁)
7241b8fbc98d4f7d8d40dc60bbe252d3--dda9a920562e40199a9a7ba69a90eb8e
95446ae2110a43db875690c403836575
2
17bc90c744d74563a59feb16e36cf7f4
RY(theta₇)
dda9a920562e40199a9a7ba69a90eb8e--17bc90c744d74563a59feb16e36cf7f4
f1a82f82a19048709fc36654fa259884
RX(theta₁₃)
17bc90c744d74563a59feb16e36cf7f4--f1a82f82a19048709fc36654fa259884
9375974f5f1142399f56ddc402d04281
f1a82f82a19048709fc36654fa259884--9375974f5f1142399f56ddc402d04281
8026fd18aad14b07a28ea09202fa8514
RX(theta₁₉)
9375974f5f1142399f56ddc402d04281--8026fd18aad14b07a28ea09202fa8514
6988a72ae056456ca6eb33b4d8620a70
RY(theta₂₅)
8026fd18aad14b07a28ea09202fa8514--6988a72ae056456ca6eb33b4d8620a70
7f150da2d922450d88a3c2529384d651
RX(theta₃₁)
6988a72ae056456ca6eb33b4d8620a70--7f150da2d922450d88a3c2529384d651
79610a3ad9be409481fef4ad581978db
7f150da2d922450d88a3c2529384d651--79610a3ad9be409481fef4ad581978db
79610a3ad9be409481fef4ad581978db--5198f73390cd4c0a8c162b9eb41b35da
c8ed03ef7fe94a78ad589bd0da4678df
f9385879b56b4de292333e4aeeb46f3d
RX(theta₂)
95446ae2110a43db875690c403836575--f9385879b56b4de292333e4aeeb46f3d
b568b83e670442b5b2337be78efc4d65
3
fbfc762fe8ec47ccab862627c437f05d
RY(theta₈)
f9385879b56b4de292333e4aeeb46f3d--fbfc762fe8ec47ccab862627c437f05d
02cbb6cd90514a95897916169f274e72
RX(theta₁₄)
fbfc762fe8ec47ccab862627c437f05d--02cbb6cd90514a95897916169f274e72
c9c831f7839f4e5eafc5dbbe3b4e7d0a
HamEvo
02cbb6cd90514a95897916169f274e72--c9c831f7839f4e5eafc5dbbe3b4e7d0a
98ec6c51d5a247b0a3f328958e5c1005
RX(theta₂₀)
c9c831f7839f4e5eafc5dbbe3b4e7d0a--98ec6c51d5a247b0a3f328958e5c1005
ea9a75568ed643409e19019d7a1453ea
RY(theta₂₆)
98ec6c51d5a247b0a3f328958e5c1005--ea9a75568ed643409e19019d7a1453ea
00e2b23e1eba449681b1681579415997
RX(theta₃₂)
ea9a75568ed643409e19019d7a1453ea--00e2b23e1eba449681b1681579415997
3fa659126feb42e9abc4c7938c324532
HamEvo
00e2b23e1eba449681b1681579415997--3fa659126feb42e9abc4c7938c324532
3fa659126feb42e9abc4c7938c324532--c8ed03ef7fe94a78ad589bd0da4678df
c40ac9f7423346458547a6911be68a41
6693c69f366b4ecdbea1e250239c264d
RX(theta₃)
b568b83e670442b5b2337be78efc4d65--6693c69f366b4ecdbea1e250239c264d
c670d64c486a48c689e0113ee4a7db7e
4
e08198a03ae34b72b5ba710c15accfad
RY(theta₉)
6693c69f366b4ecdbea1e250239c264d--e08198a03ae34b72b5ba710c15accfad
044907e7c057496a9c0bd0208c606638
RX(theta₁₅)
e08198a03ae34b72b5ba710c15accfad--044907e7c057496a9c0bd0208c606638
7cedb30f7b4541769e3916d53bab2965
t = theta_t₀
044907e7c057496a9c0bd0208c606638--7cedb30f7b4541769e3916d53bab2965
f767f032647249a5a9ad2e3d4774e7da
RX(theta₂₁)
7cedb30f7b4541769e3916d53bab2965--f767f032647249a5a9ad2e3d4774e7da
adc8dc543f7c4dbea95e64de626a886d
RY(theta₂₇)
f767f032647249a5a9ad2e3d4774e7da--adc8dc543f7c4dbea95e64de626a886d
e4f23ca152634d888133441cbc1f28c3
RX(theta₃₃)
adc8dc543f7c4dbea95e64de626a886d--e4f23ca152634d888133441cbc1f28c3
3983dfcb1fa644958d02faa8bbc8a48c
t = theta_t₁
e4f23ca152634d888133441cbc1f28c3--3983dfcb1fa644958d02faa8bbc8a48c
3983dfcb1fa644958d02faa8bbc8a48c--c40ac9f7423346458547a6911be68a41
a4afc3f094844eea93f54469f86f4d5b
84f2d5933a8d4af99ec2abde831f3ea8
RX(theta₄)
c670d64c486a48c689e0113ee4a7db7e--84f2d5933a8d4af99ec2abde831f3ea8
af3251db0f3d4d958ca4390bce0d9a1e
5
5d097bd27374441caa5fa32d95e159f5
RY(theta₁₀)
84f2d5933a8d4af99ec2abde831f3ea8--5d097bd27374441caa5fa32d95e159f5
20b50416a7e6492dba956d65ea5b9e32
RX(theta₁₆)
5d097bd27374441caa5fa32d95e159f5--20b50416a7e6492dba956d65ea5b9e32
089c3855f35440188a462416d0fb35a2
20b50416a7e6492dba956d65ea5b9e32--089c3855f35440188a462416d0fb35a2
4a1a95a478c44132bdfa9e85203fbee7
RX(theta₂₂)
089c3855f35440188a462416d0fb35a2--4a1a95a478c44132bdfa9e85203fbee7
9b4406c5cc714de68ad606c7d7fb349e
RY(theta₂₈)
4a1a95a478c44132bdfa9e85203fbee7--9b4406c5cc714de68ad606c7d7fb349e
d4d84d058c9c4d9288fcb7d8c2a77815
RX(theta₃₄)
9b4406c5cc714de68ad606c7d7fb349e--d4d84d058c9c4d9288fcb7d8c2a77815
158ab92945244f72bed7c58b8bb883ea
d4d84d058c9c4d9288fcb7d8c2a77815--158ab92945244f72bed7c58b8bb883ea
158ab92945244f72bed7c58b8bb883ea--a4afc3f094844eea93f54469f86f4d5b
1b2f2bf6582544f2a1ba31c04dea098c
781dca1a42484f7aae108703eb023942
RX(theta₅)
af3251db0f3d4d958ca4390bce0d9a1e--781dca1a42484f7aae108703eb023942
60dada34ae554c37a3463c5e4c0cf34f
RY(theta₁₁)
781dca1a42484f7aae108703eb023942--60dada34ae554c37a3463c5e4c0cf34f
ac55baeb04ea4d4cb671c2cdb898c8bd
RX(theta₁₇)
60dada34ae554c37a3463c5e4c0cf34f--ac55baeb04ea4d4cb671c2cdb898c8bd
504c50e5f49f4a7eb429037acd3babcb
ac55baeb04ea4d4cb671c2cdb898c8bd--504c50e5f49f4a7eb429037acd3babcb
e0a7d7b5bdf14997a39cbf197328a54e
RX(theta₂₃)
504c50e5f49f4a7eb429037acd3babcb--e0a7d7b5bdf14997a39cbf197328a54e
8253010128f64d3999b3d7c60eb902d8
RY(theta₂₉)
e0a7d7b5bdf14997a39cbf197328a54e--8253010128f64d3999b3d7c60eb902d8
a3a5701466414d738aab93a0ad26be50
RX(theta₃₅)
8253010128f64d3999b3d7c60eb902d8--a3a5701466414d738aab93a0ad26be50
b8bc22249c06416db653be7fc8b46d6f
a3a5701466414d738aab93a0ad26be50--b8bc22249c06416db653be7fc8b46d6f
b8bc22249c06416db653be7fc8b46d6f--1b2f2bf6582544f2a1ba31c04dea098c
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_053685ff310d4156ab755b34f677e3c1
BPMA-1
cluster_e70cf59e91da4e11ab259f33770208cf
BPMA-0
10f84d1bb1114b6cab45f082a2159f16
0
a3f2627f4b934755a7a3e0206173a083
RX(iia_α₀₀)
10f84d1bb1114b6cab45f082a2159f16--a3f2627f4b934755a7a3e0206173a083
b9003eefd81e4ac0a5c1198a6611c72e
1
4e9706100c15498a907c8c3cd1d70124
RY(iia_α₀₃)
a3f2627f4b934755a7a3e0206173a083--4e9706100c15498a907c8c3cd1d70124
1a12dbe0d1334052962d91c1598b980b
4e9706100c15498a907c8c3cd1d70124--1a12dbe0d1334052962d91c1598b980b
8631ca6e976940d390c539ab896b0697
1a12dbe0d1334052962d91c1598b980b--8631ca6e976940d390c539ab896b0697
d96a413dab024efaafacb121c99e880c
RX(iia_γ₀₀)
8631ca6e976940d390c539ab896b0697--d96a413dab024efaafacb121c99e880c
1dc23855fc7240b3a2bb1510d99b15f7
d96a413dab024efaafacb121c99e880c--1dc23855fc7240b3a2bb1510d99b15f7
eb9eb982f7ca469bad3b96f489e8194d
1dc23855fc7240b3a2bb1510d99b15f7--eb9eb982f7ca469bad3b96f489e8194d
be4d90da5b3c486e99f70bd10176a178
RY(iia_β₀₃)
eb9eb982f7ca469bad3b96f489e8194d--be4d90da5b3c486e99f70bd10176a178
aafc26eeca0644b0a27d34182e7395ad
RX(iia_β₀₀)
be4d90da5b3c486e99f70bd10176a178--aafc26eeca0644b0a27d34182e7395ad
15d2180fe30545f882e61e2aae1b7bf2
RX(iia_α₁₀)
aafc26eeca0644b0a27d34182e7395ad--15d2180fe30545f882e61e2aae1b7bf2
c037a4d531f34e7eaa8de59acc289fe6
RY(iia_α₁₃)
15d2180fe30545f882e61e2aae1b7bf2--c037a4d531f34e7eaa8de59acc289fe6
c6c80fb4e8ff42698694c58743d490ae
c037a4d531f34e7eaa8de59acc289fe6--c6c80fb4e8ff42698694c58743d490ae
c4e401f13ca0486f80582c6fa10e8558
c6c80fb4e8ff42698694c58743d490ae--c4e401f13ca0486f80582c6fa10e8558
6f9acee0a6414666905b9fcd26aed35e
RX(iia_γ₁₀)
c4e401f13ca0486f80582c6fa10e8558--6f9acee0a6414666905b9fcd26aed35e
b6c5773b613a4d99b7ff2ca274a35be5
6f9acee0a6414666905b9fcd26aed35e--b6c5773b613a4d99b7ff2ca274a35be5
1d7a2769e1204287874d8996c21706b6
b6c5773b613a4d99b7ff2ca274a35be5--1d7a2769e1204287874d8996c21706b6
08aced7ec7754d5ab4bda5a2c762bbf7
RY(iia_β₁₃)
1d7a2769e1204287874d8996c21706b6--08aced7ec7754d5ab4bda5a2c762bbf7
b85ca95a04a145de82944fb01298735d
RX(iia_β₁₀)
08aced7ec7754d5ab4bda5a2c762bbf7--b85ca95a04a145de82944fb01298735d
e8e02e4f7c6b41ab944af09580910352
b85ca95a04a145de82944fb01298735d--e8e02e4f7c6b41ab944af09580910352
bd450cfa5ffb41b1a597bba22833526b
680db51ea86d45858902ca587c2dcd45
RX(iia_α₀₁)
b9003eefd81e4ac0a5c1198a6611c72e--680db51ea86d45858902ca587c2dcd45
e91dfb0d8cda44719aafdd25005b3dcc
2
424a073d3b9240828070ad1e1b84a2fe
RY(iia_α₀₄)
680db51ea86d45858902ca587c2dcd45--424a073d3b9240828070ad1e1b84a2fe
cc9153ab531a41d0b8c3c5bd7d7e21bf
X
424a073d3b9240828070ad1e1b84a2fe--cc9153ab531a41d0b8c3c5bd7d7e21bf
cc9153ab531a41d0b8c3c5bd7d7e21bf--1a12dbe0d1334052962d91c1598b980b
33733727864442d2ae290d10159614d9
cc9153ab531a41d0b8c3c5bd7d7e21bf--33733727864442d2ae290d10159614d9
9bfd99c13a2f4f56a5da95707d0a2b57
RX(iia_γ₀₁)
33733727864442d2ae290d10159614d9--9bfd99c13a2f4f56a5da95707d0a2b57
82d0a8f8b6f34695bae73b1225c9a8f9
9bfd99c13a2f4f56a5da95707d0a2b57--82d0a8f8b6f34695bae73b1225c9a8f9
4cb5606e0f794138b1f1d9cf4b737b10
X
82d0a8f8b6f34695bae73b1225c9a8f9--4cb5606e0f794138b1f1d9cf4b737b10
4cb5606e0f794138b1f1d9cf4b737b10--eb9eb982f7ca469bad3b96f489e8194d
cfb59cf087f64a7c92879647145bff59
RY(iia_β₀₄)
4cb5606e0f794138b1f1d9cf4b737b10--cfb59cf087f64a7c92879647145bff59
6e84d558acd944dc861a4b4874da9764
RX(iia_β₀₁)
cfb59cf087f64a7c92879647145bff59--6e84d558acd944dc861a4b4874da9764
13ecb305377543d6b2c3ace141849ce0
RX(iia_α₁₁)
6e84d558acd944dc861a4b4874da9764--13ecb305377543d6b2c3ace141849ce0
3969457e62fc4c1ca4ba43ea50a1d6ac
RY(iia_α₁₄)
13ecb305377543d6b2c3ace141849ce0--3969457e62fc4c1ca4ba43ea50a1d6ac
fbb52e262a3a458299b648fbf44ae35c
X
3969457e62fc4c1ca4ba43ea50a1d6ac--fbb52e262a3a458299b648fbf44ae35c
fbb52e262a3a458299b648fbf44ae35c--c6c80fb4e8ff42698694c58743d490ae
57c980bf1d904484acc966efa3ded5d1
fbb52e262a3a458299b648fbf44ae35c--57c980bf1d904484acc966efa3ded5d1
577adbffdee54e49b41cab4725ca798c
RX(iia_γ₁₁)
57c980bf1d904484acc966efa3ded5d1--577adbffdee54e49b41cab4725ca798c
19c261ecf9fa412281eabf368d6c1f46
577adbffdee54e49b41cab4725ca798c--19c261ecf9fa412281eabf368d6c1f46
02827a77b00a45a3898649fc71c34c6a
X
19c261ecf9fa412281eabf368d6c1f46--02827a77b00a45a3898649fc71c34c6a
02827a77b00a45a3898649fc71c34c6a--1d7a2769e1204287874d8996c21706b6
cf192e334efb474aacfa99d248cc318e
RY(iia_β₁₄)
02827a77b00a45a3898649fc71c34c6a--cf192e334efb474aacfa99d248cc318e
e72568eb37df49648a1057a5304ef2f8
RX(iia_β₁₁)
cf192e334efb474aacfa99d248cc318e--e72568eb37df49648a1057a5304ef2f8
e72568eb37df49648a1057a5304ef2f8--bd450cfa5ffb41b1a597bba22833526b
ca05d4ce46b340b9925c450eb90b3b3e
39eb0119b6e54840acc50e57d3ffbb7d
RX(iia_α₀₂)
e91dfb0d8cda44719aafdd25005b3dcc--39eb0119b6e54840acc50e57d3ffbb7d
8b66e17131cc409db9a337d2305ea958
RY(iia_α₀₅)
39eb0119b6e54840acc50e57d3ffbb7d--8b66e17131cc409db9a337d2305ea958
e65f499d5699430284a4a05add67eeca
8b66e17131cc409db9a337d2305ea958--e65f499d5699430284a4a05add67eeca
5fb077cdbc8f41c281e25901fb26946b
X
e65f499d5699430284a4a05add67eeca--5fb077cdbc8f41c281e25901fb26946b
5fb077cdbc8f41c281e25901fb26946b--33733727864442d2ae290d10159614d9
e5d730e4eb20473bb7e501317b2a1a64
RX(iia_γ₀₂)
5fb077cdbc8f41c281e25901fb26946b--e5d730e4eb20473bb7e501317b2a1a64
2b19b12cf9c347e78e235eef45e6e303
X
e5d730e4eb20473bb7e501317b2a1a64--2b19b12cf9c347e78e235eef45e6e303
2b19b12cf9c347e78e235eef45e6e303--82d0a8f8b6f34695bae73b1225c9a8f9
5b29f25bd3db4960b85b2f10a30de91f
2b19b12cf9c347e78e235eef45e6e303--5b29f25bd3db4960b85b2f10a30de91f
87c2173994e44967b862aee4b6172c6d
RY(iia_β₀₅)
5b29f25bd3db4960b85b2f10a30de91f--87c2173994e44967b862aee4b6172c6d
24a56ec0bed14fb0964d5e12e0f33773
RX(iia_β₀₂)
87c2173994e44967b862aee4b6172c6d--24a56ec0bed14fb0964d5e12e0f33773
14943829f670437085540200244fc78c
RX(iia_α₁₂)
24a56ec0bed14fb0964d5e12e0f33773--14943829f670437085540200244fc78c
fa5ef3682ac54070b840231f3beab961
RY(iia_α₁₅)
14943829f670437085540200244fc78c--fa5ef3682ac54070b840231f3beab961
f08d4b04265b493f944bd8f6c08d2b6c
fa5ef3682ac54070b840231f3beab961--f08d4b04265b493f944bd8f6c08d2b6c
b5f8a490e351452ea9b8cf3f983aea4a
X
f08d4b04265b493f944bd8f6c08d2b6c--b5f8a490e351452ea9b8cf3f983aea4a
b5f8a490e351452ea9b8cf3f983aea4a--57c980bf1d904484acc966efa3ded5d1
d5015eb3383e48229cb7be4ef79babc6
RX(iia_γ₁₂)
b5f8a490e351452ea9b8cf3f983aea4a--d5015eb3383e48229cb7be4ef79babc6
09d43ce287f1485d98201dccac98eb7f
X
d5015eb3383e48229cb7be4ef79babc6--09d43ce287f1485d98201dccac98eb7f
09d43ce287f1485d98201dccac98eb7f--19c261ecf9fa412281eabf368d6c1f46
cda56956f46c4b8fbf5fcbb052816f66
09d43ce287f1485d98201dccac98eb7f--cda56956f46c4b8fbf5fcbb052816f66
f672607945904c67890db0ee2f8837e5
RY(iia_β₁₅)
cda56956f46c4b8fbf5fcbb052816f66--f672607945904c67890db0ee2f8837e5
e54ff1227b2640dea4a032b52c8f4800
RX(iia_β₁₂)
f672607945904c67890db0ee2f8837e5--e54ff1227b2640dea4a032b52c8f4800
e54ff1227b2640dea4a032b52c8f4800--ca05d4ce46b340b9925c450eb90b3b3e