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_506dd28aff0648a7b63f6a68ffc47f61
Constant Chebyshev FM
cluster_b0bf56d74c794ddda8ea88fc5ea0845e
Constant Fourier FM
8179251e20d9466290c5e9a5885f4e6c
0
ff9a9825b7ff41ae93546debdaa50575
RX(phi)
8179251e20d9466290c5e9a5885f4e6c--ff9a9825b7ff41ae93546debdaa50575
b2ce365126754eb7a543e13a1b7de398
1
99f8312b6db84a319440b77479d4d77c
RX(acos(phi))
ff9a9825b7ff41ae93546debdaa50575--99f8312b6db84a319440b77479d4d77c
019e050e436f4446b1e1ce35b4a1d1c3
99f8312b6db84a319440b77479d4d77c--019e050e436f4446b1e1ce35b4a1d1c3
8d0dd4ffd48a43d1838821cfbfac88a5
3a31a0e12c2947269e414436b3733a8e
RX(phi)
b2ce365126754eb7a543e13a1b7de398--3a31a0e12c2947269e414436b3733a8e
d2892ffa11b74ed39cbb6b64914e39c2
2
b23868b8156641a0900d0eb77445cdee
RX(acos(phi))
3a31a0e12c2947269e414436b3733a8e--b23868b8156641a0900d0eb77445cdee
b23868b8156641a0900d0eb77445cdee--8d0dd4ffd48a43d1838821cfbfac88a5
39136ca920cc4f2ba35c2b935fe86d22
411ae961b92940b09deccb97dbe552c0
RX(phi)
d2892ffa11b74ed39cbb6b64914e39c2--411ae961b92940b09deccb97dbe552c0
fd2b145f42f54690b81b899637d23505
RX(acos(phi))
411ae961b92940b09deccb97dbe552c0--fd2b145f42f54690b81b899637d23505
fd2b145f42f54690b81b899637d23505--39136ca920cc4f2ba35c2b935fe86d22
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_8deb48cca941436a819f23a4d2704d49
Constant <function custom_fn at 0x7f491c382710> FM
cluster_aa6e25379eda4597b604da1238878a8e
Constant asin FM
48e0cbc3615c4e05b988fb0ab530d213
0
f686c1140de847329dc9fd0b09701e8e
RX(asin(phi))
48e0cbc3615c4e05b988fb0ab530d213--f686c1140de847329dc9fd0b09701e8e
eefc6dce3cb049c6b74d20adec1fbfaa
1
16d91f710c7348f9bbd10d5ea39f2a1c
RX(phi**2 + asin(phi))
f686c1140de847329dc9fd0b09701e8e--16d91f710c7348f9bbd10d5ea39f2a1c
10930bcab3064070ac9f6722a214fcd7
16d91f710c7348f9bbd10d5ea39f2a1c--10930bcab3064070ac9f6722a214fcd7
d213baa9f6cf4377b16008a78357fcf9
84636920048848eaa11f94e973c734e5
RX(asin(phi))
eefc6dce3cb049c6b74d20adec1fbfaa--84636920048848eaa11f94e973c734e5
58fe9eb4ac344c78b728b8d5dec2d4f7
2
4c273883c226471b9c9e468259cbad5e
RX(phi**2 + asin(phi))
84636920048848eaa11f94e973c734e5--4c273883c226471b9c9e468259cbad5e
4c273883c226471b9c9e468259cbad5e--d213baa9f6cf4377b16008a78357fcf9
2ddd28883e6e441381714658ba513d0c
02723935031f4e549c1bc1432aa72bdb
RX(asin(phi))
58fe9eb4ac344c78b728b8d5dec2d4f7--02723935031f4e549c1bc1432aa72bdb
5512e10a97a54c2ca2c9babcce55213b
RX(phi**2 + asin(phi))
02723935031f4e549c1bc1432aa72bdb--5512e10a97a54c2ca2c9babcce55213b
5512e10a97a54c2ca2c9babcce55213b--2ddd28883e6e441381714658ba513d0c
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_96bc8f659eb2440fbf48f72878aee3f1
Exponential Fourier FM
cluster_74d6a1ebddf343e98e20fe904f04c43c
Constant Fourier FM
cluster_1cc551be80a0484ea40dcede9a39e61e
Tower Fourier FM
c0862e58e04e42f69a7edad507638808
0
e7cc834a31774aa1a0f0fe4fb2ce0e40
RX(phi)
c0862e58e04e42f69a7edad507638808--e7cc834a31774aa1a0f0fe4fb2ce0e40
1be6f2fe731045feb9b030060433bfcf
1
2c63be6809bd42aabb0a6934390dfb7b
RX(1.0*phi)
e7cc834a31774aa1a0f0fe4fb2ce0e40--2c63be6809bd42aabb0a6934390dfb7b
a1f7678d31e2415a838460483c9b0a35
RX(1.0*phi)
2c63be6809bd42aabb0a6934390dfb7b--a1f7678d31e2415a838460483c9b0a35
08d8065d7caf4b05b21e8ea7814f006e
a1f7678d31e2415a838460483c9b0a35--08d8065d7caf4b05b21e8ea7814f006e
0a6f4e5efe5440c9979671e4e15acb4b
f386f550c6fe4427bf3cc99d497ba4e5
RX(phi)
1be6f2fe731045feb9b030060433bfcf--f386f550c6fe4427bf3cc99d497ba4e5
12a3efd6ca134c279c09e650a2681eac
2
3758a9c361494c37a391b5b93832c4d4
RX(2.0*phi)
f386f550c6fe4427bf3cc99d497ba4e5--3758a9c361494c37a391b5b93832c4d4
680a174988f444a0b30a4e5d742214c7
RX(2.0*phi)
3758a9c361494c37a391b5b93832c4d4--680a174988f444a0b30a4e5d742214c7
680a174988f444a0b30a4e5d742214c7--0a6f4e5efe5440c9979671e4e15acb4b
fb69dec3865f49369599a099dbbf66f0
f8bad1fc40eb46778be08fd216dff4d7
RX(phi)
12a3efd6ca134c279c09e650a2681eac--f8bad1fc40eb46778be08fd216dff4d7
83cb5f6d60aa4a10970d9faaea8b10da
3
3f5d4c74fc3e4147bfac5f423204a4c3
RX(3.0*phi)
f8bad1fc40eb46778be08fd216dff4d7--3f5d4c74fc3e4147bfac5f423204a4c3
a9ee0da5e58149c6bc7ff91604e53417
RX(4.0*phi)
3f5d4c74fc3e4147bfac5f423204a4c3--a9ee0da5e58149c6bc7ff91604e53417
a9ee0da5e58149c6bc7ff91604e53417--fb69dec3865f49369599a099dbbf66f0
415dd89ae30e4dc6b6b1c4931db4468c
fb4078e4e30e4aa59aac134b13e3f3d4
RX(phi)
83cb5f6d60aa4a10970d9faaea8b10da--fb4078e4e30e4aa59aac134b13e3f3d4
d97aa8dddb08448582405337ea31124f
4
39ac79d6bb0e4f8bba2c649c34e12586
RX(4.0*phi)
fb4078e4e30e4aa59aac134b13e3f3d4--39ac79d6bb0e4f8bba2c649c34e12586
96203e2fde754db2b8389ae3dc3749c0
RX(8.0*phi)
39ac79d6bb0e4f8bba2c649c34e12586--96203e2fde754db2b8389ae3dc3749c0
96203e2fde754db2b8389ae3dc3749c0--415dd89ae30e4dc6b6b1c4931db4468c
84ebb2882da1438096f4941973c81bcd
fd3113e94e4b40abb5cf45bfd06ad10d
RX(phi)
d97aa8dddb08448582405337ea31124f--fd3113e94e4b40abb5cf45bfd06ad10d
c2ceb1c0e1ce4e6199dbb1f9b4555f6a
RX(5.0*phi)
fd3113e94e4b40abb5cf45bfd06ad10d--c2ceb1c0e1ce4e6199dbb1f9b4555f6a
5824c2b28e5a42b2b1e7d93111d1f255
RX(16.0*phi)
c2ceb1c0e1ce4e6199dbb1f9b4555f6a--5824c2b28e5a42b2b1e7d93111d1f255
5824c2b28e5a42b2b1e7d93111d1f255--84ebb2882da1438096f4941973c81bcd
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
9f4cf76f6cd8433c91f75f673b6294b1
0
2e0dcd7bc2e248628a1d605fc07fc279
RX(1.0*acos(phi))
9f4cf76f6cd8433c91f75f673b6294b1--2e0dcd7bc2e248628a1d605fc07fc279
c5d0b609b30c4cdab81a4eb53bca4bae
1
63afad27cb4f42d681ac261cdc2c8e77
2e0dcd7bc2e248628a1d605fc07fc279--63afad27cb4f42d681ac261cdc2c8e77
462c7ba4455e4d1a8f3ecfb8678a8e04
ae482fdcc6704f3493965ee85ec0d3df
RX(1.414*acos(phi))
c5d0b609b30c4cdab81a4eb53bca4bae--ae482fdcc6704f3493965ee85ec0d3df
3e635aec9f40403194f08540d22027d0
2
ae482fdcc6704f3493965ee85ec0d3df--462c7ba4455e4d1a8f3ecfb8678a8e04
6a08ed9b3ed4411b8984f210b52568ae
bf9cddc7213d4a78bffb4be62dda0301
RX(1.732*acos(phi))
3e635aec9f40403194f08540d22027d0--bf9cddc7213d4a78bffb4be62dda0301
14624218d95a4890bac96d5f887f7b79
3
bf9cddc7213d4a78bffb4be62dda0301--6a08ed9b3ed4411b8984f210b52568ae
9ac08ad1d1be4f53bb1c1be92f5d31d4
121a0fb0bd55427ba7f488e9b0d7dd4f
RX(2.0*acos(phi))
14624218d95a4890bac96d5f887f7b79--121a0fb0bd55427ba7f488e9b0d7dd4f
cc4d33276fd84543bfcfc29c1a9ccfad
4
121a0fb0bd55427ba7f488e9b0d7dd4f--9ac08ad1d1be4f53bb1c1be92f5d31d4
2202f5f8f9234eb284b1aa223195f4e8
765f639a1bbf4a95b63d19940034c092
RX(2.236*acos(phi))
cc4d33276fd84543bfcfc29c1a9ccfad--765f639a1bbf4a95b63d19940034c092
765f639a1bbf4a95b63d19940034c092--2202f5f8f9234eb284b1aa223195f4e8
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
6b7177b173014d06b24d888e8a457b9c
0
7077824feebf48d6a46fdefa4531f8fe
RX(1.0*phi*w₀)
6b7177b173014d06b24d888e8a457b9c--7077824feebf48d6a46fdefa4531f8fe
4ab204f2523d4461ad317799fba4771b
1
45a9114f8ea746988c8f2fa218dd995b
7077824feebf48d6a46fdefa4531f8fe--45a9114f8ea746988c8f2fa218dd995b
4ba6de14f109414b80ad9cb261bdd62f
01e3fd39e01f41b8bf33f331a374fbab
RX(2.0*phi*w₁)
4ab204f2523d4461ad317799fba4771b--01e3fd39e01f41b8bf33f331a374fbab
592f42d3f37f4c6ca9fe7ff5abbce636
2
01e3fd39e01f41b8bf33f331a374fbab--4ba6de14f109414b80ad9cb261bdd62f
04b4c9766720495d9c59b568682b5f49
57f88c018ed747dcbd31cbc808ebf1d2
RX(4.0*phi*w₂)
592f42d3f37f4c6ca9fe7ff5abbce636--57f88c018ed747dcbd31cbc808ebf1d2
8db5ae74c67b427a88c60512ef2fee9e
3
57f88c018ed747dcbd31cbc808ebf1d2--04b4c9766720495d9c59b568682b5f49
aa0a7376ab204213900a2eedd8ce3af8
155961b911434a9890b543ff7511c5a5
RX(8.0*phi*w₃)
8db5ae74c67b427a88c60512ef2fee9e--155961b911434a9890b543ff7511c5a5
aa510485340b493d880c0b082f507727
4
155961b911434a9890b543ff7511c5a5--aa0a7376ab204213900a2eedd8ce3af8
04136252126443bd8a77cef7256b776b
9031c26e197d439f818133c4566cc278
RX(16.0*phi*w₄)
aa510485340b493d880c0b082f507727--9031c26e197d439f818133c4566cc278
9031c26e197d439f818133c4566cc278--04136252126443bd8a77cef7256b776b
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
dd18a0ec74b645a89d85ce822e14c4e8
0
fad16fda73e44f09916784377eac28d7
RY(80.0*acos(w₄*(0.667*x + 1.667)))
dd18a0ec74b645a89d85ce822e14c4e8--fad16fda73e44f09916784377eac28d7
12d1b197b278492eabb3b8977712f283
1
71dfd105adc8485e914f6fbd763074e3
fad16fda73e44f09916784377eac28d7--71dfd105adc8485e914f6fbd763074e3
fd7ab06f5fda4a0b8bbe347b42a46689
dff6f54b8aba449e9bec146bd53f5ade
RY(40.0*acos(w₃*(0.667*x + 1.667)))
12d1b197b278492eabb3b8977712f283--dff6f54b8aba449e9bec146bd53f5ade
924e0514967f47b1817bd75a7481d9de
2
dff6f54b8aba449e9bec146bd53f5ade--fd7ab06f5fda4a0b8bbe347b42a46689
ddea9e04596f4c5d80ca2c3bcc002d27
403a8f307f5d4c038e362eda4bd659b0
RY(20.0*acos(w₂*(0.667*x + 1.667)))
924e0514967f47b1817bd75a7481d9de--403a8f307f5d4c038e362eda4bd659b0
16cbe17dc68947c4b203038e93daaa4f
3
403a8f307f5d4c038e362eda4bd659b0--ddea9e04596f4c5d80ca2c3bcc002d27
c21ae6454365406b91d74cc7297c2b0b
7e92a9ae7f214872b511fc263365912e
RY(10.0*acos(w₁*(0.667*x + 1.667)))
16cbe17dc68947c4b203038e93daaa4f--7e92a9ae7f214872b511fc263365912e
f3e11f0ccbc14508934c78fef08d2349
4
7e92a9ae7f214872b511fc263365912e--c21ae6454365406b91d74cc7297c2b0b
06f5879ae4a94f71a666c1990d7d5ad7
7c27c932ae064836b9b98fc10e4ae025
RY(5.0*acos(w₀*(0.667*x + 1.667)))
f3e11f0ccbc14508934c78fef08d2349--7c27c932ae064836b9b98fc10e4ae025
7c27c932ae064836b9b98fc10e4ae025--06f5879ae4a94f71a666c1990d7d5ad7
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
7e891bc99d7e4ce1b3d1a87a094d71c0
0
d54f70aa35db41e6ad484211c586b692
RX(theta₀)
7e891bc99d7e4ce1b3d1a87a094d71c0--d54f70aa35db41e6ad484211c586b692
5c25e7b00a2844abb8fdb75f821ff20b
1
f1fe1bcc303b47d8b14b75399011c896
RY(theta₃)
d54f70aa35db41e6ad484211c586b692--f1fe1bcc303b47d8b14b75399011c896
a6ace2e4892643cdac68f3e3e578d1f0
RX(theta₆)
f1fe1bcc303b47d8b14b75399011c896--a6ace2e4892643cdac68f3e3e578d1f0
732490ce160d4bb78f1a45221cb822c3
a6ace2e4892643cdac68f3e3e578d1f0--732490ce160d4bb78f1a45221cb822c3
1aa6e8de59874555a9a5c4383e6f022c
732490ce160d4bb78f1a45221cb822c3--1aa6e8de59874555a9a5c4383e6f022c
2bbec2604c7c43b2ae5f2a58a61b7d1e
RX(theta₉)
1aa6e8de59874555a9a5c4383e6f022c--2bbec2604c7c43b2ae5f2a58a61b7d1e
a3f283aca51148b58bc8c9a00ad4d645
RY(theta₁₂)
2bbec2604c7c43b2ae5f2a58a61b7d1e--a3f283aca51148b58bc8c9a00ad4d645
1cd0e3ba189f42049f28437aea847913
RX(theta₁₅)
a3f283aca51148b58bc8c9a00ad4d645--1cd0e3ba189f42049f28437aea847913
d29821270dd64fc2838713efc18ae5d9
1cd0e3ba189f42049f28437aea847913--d29821270dd64fc2838713efc18ae5d9
925bab62669342c48a5ca4eb00e94ec4
d29821270dd64fc2838713efc18ae5d9--925bab62669342c48a5ca4eb00e94ec4
fb39fa4cb13d401890ae2fa4095b1ebf
925bab62669342c48a5ca4eb00e94ec4--fb39fa4cb13d401890ae2fa4095b1ebf
8c642d09474b474b99ac36b56e8505d9
777f6245c3af43d2b11ed05ba944de32
RX(theta₁)
5c25e7b00a2844abb8fdb75f821ff20b--777f6245c3af43d2b11ed05ba944de32
5ee1b93c577142089d63b22cf6784d06
2
6443e2f55a784c69b495b63b08a97ce7
RY(theta₄)
777f6245c3af43d2b11ed05ba944de32--6443e2f55a784c69b495b63b08a97ce7
8d91824984ac47e396a58ef02ecf765f
RX(theta₇)
6443e2f55a784c69b495b63b08a97ce7--8d91824984ac47e396a58ef02ecf765f
e040b62732bc42efbe514c593e81758f
X
8d91824984ac47e396a58ef02ecf765f--e040b62732bc42efbe514c593e81758f
e040b62732bc42efbe514c593e81758f--732490ce160d4bb78f1a45221cb822c3
27827c78f5ba42fc8d6d40e060e309b6
e040b62732bc42efbe514c593e81758f--27827c78f5ba42fc8d6d40e060e309b6
ad0dff40d8af4bb2941e79f327a43c0a
RX(theta₁₀)
27827c78f5ba42fc8d6d40e060e309b6--ad0dff40d8af4bb2941e79f327a43c0a
0f899adfb2894ae1881023d2cf94f710
RY(theta₁₃)
ad0dff40d8af4bb2941e79f327a43c0a--0f899adfb2894ae1881023d2cf94f710
50df27cc3518481a92cd064867105756
RX(theta₁₆)
0f899adfb2894ae1881023d2cf94f710--50df27cc3518481a92cd064867105756
2ddc16944f1540fdbcbcd9be694f6c30
X
50df27cc3518481a92cd064867105756--2ddc16944f1540fdbcbcd9be694f6c30
2ddc16944f1540fdbcbcd9be694f6c30--d29821270dd64fc2838713efc18ae5d9
8f23215f4ac448c6b67520b387c1ab1f
2ddc16944f1540fdbcbcd9be694f6c30--8f23215f4ac448c6b67520b387c1ab1f
8f23215f4ac448c6b67520b387c1ab1f--8c642d09474b474b99ac36b56e8505d9
4ac832d37d7d40a0a90142fe5a5afd2d
ebeb8d8f622343359b6b5dc19da8654e
RX(theta₂)
5ee1b93c577142089d63b22cf6784d06--ebeb8d8f622343359b6b5dc19da8654e
0aa70047b6014ed88466448362b341ad
RY(theta₅)
ebeb8d8f622343359b6b5dc19da8654e--0aa70047b6014ed88466448362b341ad
94f2447c60bd4139b9f0d8e9409d97fd
RX(theta₈)
0aa70047b6014ed88466448362b341ad--94f2447c60bd4139b9f0d8e9409d97fd
f56f67ba92e94d4eaa09445783ba6887
94f2447c60bd4139b9f0d8e9409d97fd--f56f67ba92e94d4eaa09445783ba6887
0b1e75a5607f424ca59e189f902d8b07
X
f56f67ba92e94d4eaa09445783ba6887--0b1e75a5607f424ca59e189f902d8b07
0b1e75a5607f424ca59e189f902d8b07--27827c78f5ba42fc8d6d40e060e309b6
90daaa42d9934060994280eceabf5b7d
RX(theta₁₁)
0b1e75a5607f424ca59e189f902d8b07--90daaa42d9934060994280eceabf5b7d
6b49f12a78144c63b89f6f0c97357d80
RY(theta₁₄)
90daaa42d9934060994280eceabf5b7d--6b49f12a78144c63b89f6f0c97357d80
c556539210a343fda91b137e0b0f812b
RX(theta₁₇)
6b49f12a78144c63b89f6f0c97357d80--c556539210a343fda91b137e0b0f812b
c02139374b5d46c7ae47160e938e3425
c556539210a343fda91b137e0b0f812b--c02139374b5d46c7ae47160e938e3425
e4e6a768a6304f7ab0138e4995854e39
X
c02139374b5d46c7ae47160e938e3425--e4e6a768a6304f7ab0138e4995854e39
e4e6a768a6304f7ab0138e4995854e39--8f23215f4ac448c6b67520b387c1ab1f
e4e6a768a6304f7ab0138e4995854e39--4ac832d37d7d40a0a90142fe5a5afd2d
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
b1f616ca4fdb40208ada24d20f3e4c9b
0
f88af1f235b149e9b285f5f211d96ab7
RX(phi₀)
b1f616ca4fdb40208ada24d20f3e4c9b--f88af1f235b149e9b285f5f211d96ab7
65da93b4db72468c8873ae13d2691798
1
c93e7c28f2204e6299020ec9f0530678
RY(phi₃)
f88af1f235b149e9b285f5f211d96ab7--c93e7c28f2204e6299020ec9f0530678
69a3b26665ee4a569925c90a4d0497cd
RX(phi₆)
c93e7c28f2204e6299020ec9f0530678--69a3b26665ee4a569925c90a4d0497cd
47a84a126fa44cd6aec1a2bce1694dd2
69a3b26665ee4a569925c90a4d0497cd--47a84a126fa44cd6aec1a2bce1694dd2
15576694b7334b9190d17e9eff04bdfb
47a84a126fa44cd6aec1a2bce1694dd2--15576694b7334b9190d17e9eff04bdfb
2018c964b7574233b67df835c0c87ab2
RX(phi₉)
15576694b7334b9190d17e9eff04bdfb--2018c964b7574233b67df835c0c87ab2
91c13105d6594a839a501d956ac5d4aa
RY(phi₁₂)
2018c964b7574233b67df835c0c87ab2--91c13105d6594a839a501d956ac5d4aa
c10e1dc5f7e64675bc011e39e135a690
RX(phi₁₅)
91c13105d6594a839a501d956ac5d4aa--c10e1dc5f7e64675bc011e39e135a690
0e53241aac2542c4a37e66e45ca6dd5c
c10e1dc5f7e64675bc011e39e135a690--0e53241aac2542c4a37e66e45ca6dd5c
d3ded36e53d24d0385c3cb07024ec368
0e53241aac2542c4a37e66e45ca6dd5c--d3ded36e53d24d0385c3cb07024ec368
d7a299a19f994c6daa339399f0dac6a9
d3ded36e53d24d0385c3cb07024ec368--d7a299a19f994c6daa339399f0dac6a9
25b54e2160814b4ebce181da2ed33084
d31d2ccf22b34e6cb89e84c7bb65716c
RX(phi₁)
65da93b4db72468c8873ae13d2691798--d31d2ccf22b34e6cb89e84c7bb65716c
8af77f5df2274ac895be7bd7fd3017d1
2
124695bf3f9842d4abd8dbbfef75ed76
RY(phi₄)
d31d2ccf22b34e6cb89e84c7bb65716c--124695bf3f9842d4abd8dbbfef75ed76
084f45567c8c46108f032b343e2d3a35
RX(phi₇)
124695bf3f9842d4abd8dbbfef75ed76--084f45567c8c46108f032b343e2d3a35
b14edbcbe4154fe2ae5e2f370366b5b2
PHASE(phi_ent₀)
084f45567c8c46108f032b343e2d3a35--b14edbcbe4154fe2ae5e2f370366b5b2
b14edbcbe4154fe2ae5e2f370366b5b2--47a84a126fa44cd6aec1a2bce1694dd2
b5ffb76aed3a45d1ab700802443ddc42
b14edbcbe4154fe2ae5e2f370366b5b2--b5ffb76aed3a45d1ab700802443ddc42
80e70737127c48d78035e120f8663ed5
RX(phi₁₀)
b5ffb76aed3a45d1ab700802443ddc42--80e70737127c48d78035e120f8663ed5
b046ac196ea84c4eab02936da9c87644
RY(phi₁₃)
80e70737127c48d78035e120f8663ed5--b046ac196ea84c4eab02936da9c87644
7195df55ab0a4e658318590bcac16c1c
RX(phi₁₆)
b046ac196ea84c4eab02936da9c87644--7195df55ab0a4e658318590bcac16c1c
a4f596ce13c4469688c6ec8eddc1c6ad
PHASE(phi_ent₂)
7195df55ab0a4e658318590bcac16c1c--a4f596ce13c4469688c6ec8eddc1c6ad
a4f596ce13c4469688c6ec8eddc1c6ad--0e53241aac2542c4a37e66e45ca6dd5c
bd481f71a07341a9995b574ee807bd3c
a4f596ce13c4469688c6ec8eddc1c6ad--bd481f71a07341a9995b574ee807bd3c
bd481f71a07341a9995b574ee807bd3c--25b54e2160814b4ebce181da2ed33084
c1f7141c796a4471b465db0af7325d4a
e9a872fc916e4d7692be7a58dbef5f9a
RX(phi₂)
8af77f5df2274ac895be7bd7fd3017d1--e9a872fc916e4d7692be7a58dbef5f9a
af67bde03dab435a927814ca2e64b8d6
RY(phi₅)
e9a872fc916e4d7692be7a58dbef5f9a--af67bde03dab435a927814ca2e64b8d6
b3904681f0fe466488d3e9fd3adf153e
RX(phi₈)
af67bde03dab435a927814ca2e64b8d6--b3904681f0fe466488d3e9fd3adf153e
6819aecef2964507b0b2e1ee49f5d5b9
b3904681f0fe466488d3e9fd3adf153e--6819aecef2964507b0b2e1ee49f5d5b9
8025478be82444cf870dd7ea903c7fe7
PHASE(phi_ent₁)
6819aecef2964507b0b2e1ee49f5d5b9--8025478be82444cf870dd7ea903c7fe7
8025478be82444cf870dd7ea903c7fe7--b5ffb76aed3a45d1ab700802443ddc42
9c82205bbf294f08923a8a8b498b55bf
RX(phi₁₁)
8025478be82444cf870dd7ea903c7fe7--9c82205bbf294f08923a8a8b498b55bf
e29903675f8a4e97875ae6001652c116
RY(phi₁₄)
9c82205bbf294f08923a8a8b498b55bf--e29903675f8a4e97875ae6001652c116
233334224766446594abc8696e1fa7a0
RX(phi₁₇)
e29903675f8a4e97875ae6001652c116--233334224766446594abc8696e1fa7a0
4096209234554deca0deb3de2c0e85f0
233334224766446594abc8696e1fa7a0--4096209234554deca0deb3de2c0e85f0
0a5511d89d6c42e9a880a1e75b3fe0a5
PHASE(phi_ent₃)
4096209234554deca0deb3de2c0e85f0--0a5511d89d6c42e9a880a1e75b3fe0a5
0a5511d89d6c42e9a880a1e75b3fe0a5--bd481f71a07341a9995b574ee807bd3c
0a5511d89d6c42e9a880a1e75b3fe0a5--c1f7141c796a4471b465db0af7325d4a
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_a83973e8b7e649c99adce6ee25218c9c
cluster_51f61fbed12143b5a41e7b556464e584
3a4e2b2304f54aefa017ae24b9e60650
0
2b39a08a17b54f76b00e9ae159752b13
RX(theta₀)
3a4e2b2304f54aefa017ae24b9e60650--2b39a08a17b54f76b00e9ae159752b13
bec3012000f84912a5a0e3d1a568d61d
1
feb6db11e5da468ba9e772a7500a8317
RY(theta₃)
2b39a08a17b54f76b00e9ae159752b13--feb6db11e5da468ba9e772a7500a8317
29c7c70d3be84d57b9b5245797aff97a
RX(theta₆)
feb6db11e5da468ba9e772a7500a8317--29c7c70d3be84d57b9b5245797aff97a
501ad047f2724551840d91f894c05a92
HamEvo
29c7c70d3be84d57b9b5245797aff97a--501ad047f2724551840d91f894c05a92
a62d7725dbd84063ba2e07dff3fa1a69
RX(theta₉)
501ad047f2724551840d91f894c05a92--a62d7725dbd84063ba2e07dff3fa1a69
119a3df1f5c944ef9a65e28e0009c3ab
RY(theta₁₂)
a62d7725dbd84063ba2e07dff3fa1a69--119a3df1f5c944ef9a65e28e0009c3ab
059b841c3ea042849ebcb67330d6a62a
RX(theta₁₅)
119a3df1f5c944ef9a65e28e0009c3ab--059b841c3ea042849ebcb67330d6a62a
9fbe6c0af62649728f4a3d83dbf91506
HamEvo
059b841c3ea042849ebcb67330d6a62a--9fbe6c0af62649728f4a3d83dbf91506
b7c54132c6b344dda1a9c688ab1b1673
9fbe6c0af62649728f4a3d83dbf91506--b7c54132c6b344dda1a9c688ab1b1673
1a8ef1d4301b46769055c77cc6aeb9d9
2dfb704984474cecb0b174eba5953454
RX(theta₁)
bec3012000f84912a5a0e3d1a568d61d--2dfb704984474cecb0b174eba5953454
3ff851b2f2884247b87bd3d827493c07
2
1e2aa38de1e247feb7df62a466c2ac58
RY(theta₄)
2dfb704984474cecb0b174eba5953454--1e2aa38de1e247feb7df62a466c2ac58
c6f854ee30014331b3519e4af4c592b1
RX(theta₇)
1e2aa38de1e247feb7df62a466c2ac58--c6f854ee30014331b3519e4af4c592b1
b60491d4115f47da96a571cec1eb99b3
t = theta_t₀
c6f854ee30014331b3519e4af4c592b1--b60491d4115f47da96a571cec1eb99b3
b8d13a0d02334e0a8ad3ca1f35334c35
RX(theta₁₀)
b60491d4115f47da96a571cec1eb99b3--b8d13a0d02334e0a8ad3ca1f35334c35
caeb1feeaef449deb98cc6be120596b3
RY(theta₁₃)
b8d13a0d02334e0a8ad3ca1f35334c35--caeb1feeaef449deb98cc6be120596b3
76b1597650794530ad508755cd6694d9
RX(theta₁₆)
caeb1feeaef449deb98cc6be120596b3--76b1597650794530ad508755cd6694d9
e56f8678fc61485b80ef29dcb3a916d9
t = theta_t₁
76b1597650794530ad508755cd6694d9--e56f8678fc61485b80ef29dcb3a916d9
e56f8678fc61485b80ef29dcb3a916d9--1a8ef1d4301b46769055c77cc6aeb9d9
3d968c8c638e45be99da9aa5911eee03
320a32b818ef46558fc8623e6c16d47b
RX(theta₂)
3ff851b2f2884247b87bd3d827493c07--320a32b818ef46558fc8623e6c16d47b
da3b74f31ca54e77ac39b2b1fd6852f0
RY(theta₅)
320a32b818ef46558fc8623e6c16d47b--da3b74f31ca54e77ac39b2b1fd6852f0
adbf9949494f4ca0bac01e757fac4e24
RX(theta₈)
da3b74f31ca54e77ac39b2b1fd6852f0--adbf9949494f4ca0bac01e757fac4e24
939d40ae14c44d6d9e472d2b9a261c64
adbf9949494f4ca0bac01e757fac4e24--939d40ae14c44d6d9e472d2b9a261c64
5942dd7a4afa46a98462a825242de9d3
RX(theta₁₁)
939d40ae14c44d6d9e472d2b9a261c64--5942dd7a4afa46a98462a825242de9d3
37f437a51f5d4374840b821ce9920721
RY(theta₁₄)
5942dd7a4afa46a98462a825242de9d3--37f437a51f5d4374840b821ce9920721
1f31053e4f6548fba2f458e08227b8c4
RX(theta₁₇)
37f437a51f5d4374840b821ce9920721--1f31053e4f6548fba2f458e08227b8c4
62425793e67c4ec686f80302ff729604
1f31053e4f6548fba2f458e08227b8c4--62425793e67c4ec686f80302ff729604
62425793e67c4ec686f80302ff729604--3d968c8c638e45be99da9aa5911eee03
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_eb8cbe3ce7a0412e8caa00f9249b5fe8
cluster_a7f326aaa68f4d5e9850bea0a9f95f40
76ed5e59828c4659a40433c9c03d224c
0
7905074ab2c34153a9268d4ede218f55
RX(theta₀)
76ed5e59828c4659a40433c9c03d224c--7905074ab2c34153a9268d4ede218f55
2d0202abd97149b081134a448cde7015
1
18cbb4f49aa94c7ca6047b4f5f2ddfdb
RY(theta₆)
7905074ab2c34153a9268d4ede218f55--18cbb4f49aa94c7ca6047b4f5f2ddfdb
9084f06d63304db08f226a740b1ec172
RX(theta₁₂)
18cbb4f49aa94c7ca6047b4f5f2ddfdb--9084f06d63304db08f226a740b1ec172
e120e02873f1498986b85c25f1b30884
9084f06d63304db08f226a740b1ec172--e120e02873f1498986b85c25f1b30884
d8793cd2608a468c856b7fc6f7ea943d
RX(theta₁₈)
e120e02873f1498986b85c25f1b30884--d8793cd2608a468c856b7fc6f7ea943d
2bffba80a65d48748307e2c8acac35d9
RY(theta₂₄)
d8793cd2608a468c856b7fc6f7ea943d--2bffba80a65d48748307e2c8acac35d9
dcb84d8ce1564d3ba8e0e18076d50482
RX(theta₃₀)
2bffba80a65d48748307e2c8acac35d9--dcb84d8ce1564d3ba8e0e18076d50482
8a640e5d9c09439b812912666571c933
dcb84d8ce1564d3ba8e0e18076d50482--8a640e5d9c09439b812912666571c933
ddcd53eecb164b76b7f722e5e7351c61
8a640e5d9c09439b812912666571c933--ddcd53eecb164b76b7f722e5e7351c61
e1d51ecfcc0b406ba87492f83e9caae9
eb4547b7ae684af4937aa52dd09aaebf
RX(theta₁)
2d0202abd97149b081134a448cde7015--eb4547b7ae684af4937aa52dd09aaebf
a50051f090d247128a355f5beb200971
2
8018690130df48048b8e7753f04b61d4
RY(theta₇)
eb4547b7ae684af4937aa52dd09aaebf--8018690130df48048b8e7753f04b61d4
d2b83e13d6a9480c9cd6f685de9975fb
RX(theta₁₃)
8018690130df48048b8e7753f04b61d4--d2b83e13d6a9480c9cd6f685de9975fb
7157bee2b0a84c7cb539adae71850ca7
d2b83e13d6a9480c9cd6f685de9975fb--7157bee2b0a84c7cb539adae71850ca7
f94282408d8e437499f672095e4cef20
RX(theta₁₉)
7157bee2b0a84c7cb539adae71850ca7--f94282408d8e437499f672095e4cef20
6cd205a438d349859b2ce9782af79028
RY(theta₂₅)
f94282408d8e437499f672095e4cef20--6cd205a438d349859b2ce9782af79028
b3d22e785a70468db8415973f815abe3
RX(theta₃₁)
6cd205a438d349859b2ce9782af79028--b3d22e785a70468db8415973f815abe3
06ced0369d494b438105ba8124cda5e5
b3d22e785a70468db8415973f815abe3--06ced0369d494b438105ba8124cda5e5
06ced0369d494b438105ba8124cda5e5--e1d51ecfcc0b406ba87492f83e9caae9
442293b260cf465b8f4a342e9bdb0603
db9812c8940440fd813e10f5399d3b88
RX(theta₂)
a50051f090d247128a355f5beb200971--db9812c8940440fd813e10f5399d3b88
411cb5f49a584762b7642e2f87725bb6
3
b14c4d3558de4c52a0b8116a5bc26fa1
RY(theta₈)
db9812c8940440fd813e10f5399d3b88--b14c4d3558de4c52a0b8116a5bc26fa1
2b298bddeb174b0885b6a56a2632944c
RX(theta₁₄)
b14c4d3558de4c52a0b8116a5bc26fa1--2b298bddeb174b0885b6a56a2632944c
d6bc5e78232b4ccda3e144826e9d8731
HamEvo
2b298bddeb174b0885b6a56a2632944c--d6bc5e78232b4ccda3e144826e9d8731
a5321586226b48a8ac6437718333a27e
RX(theta₂₀)
d6bc5e78232b4ccda3e144826e9d8731--a5321586226b48a8ac6437718333a27e
25cf3b1f87494725b3a85969cc3e54bd
RY(theta₂₆)
a5321586226b48a8ac6437718333a27e--25cf3b1f87494725b3a85969cc3e54bd
c36d2e74469b41a4b0bc3d8bb63d8d30
RX(theta₃₂)
25cf3b1f87494725b3a85969cc3e54bd--c36d2e74469b41a4b0bc3d8bb63d8d30
2447ea47ef2f4caca4a8517ba890de8b
HamEvo
c36d2e74469b41a4b0bc3d8bb63d8d30--2447ea47ef2f4caca4a8517ba890de8b
2447ea47ef2f4caca4a8517ba890de8b--442293b260cf465b8f4a342e9bdb0603
75cb19b5309443fe89f3d5253f0fe508
2e72f954141d46ecaac96e20f2d5e39d
RX(theta₃)
411cb5f49a584762b7642e2f87725bb6--2e72f954141d46ecaac96e20f2d5e39d
e8c63b459ba1498ab8b08823034b38fe
4
591bdb874e834b278fbf86d0aa20e677
RY(theta₉)
2e72f954141d46ecaac96e20f2d5e39d--591bdb874e834b278fbf86d0aa20e677
9764a8933287434ca281f94e99ad71b2
RX(theta₁₅)
591bdb874e834b278fbf86d0aa20e677--9764a8933287434ca281f94e99ad71b2
bce9bfbc37c946c191b834d0097f5dad
t = theta_t₀
9764a8933287434ca281f94e99ad71b2--bce9bfbc37c946c191b834d0097f5dad
a53136c983964ce09f1dfa6a69de3afd
RX(theta₂₁)
bce9bfbc37c946c191b834d0097f5dad--a53136c983964ce09f1dfa6a69de3afd
6ed629c0126d4132b30eb74d444a75f9
RY(theta₂₇)
a53136c983964ce09f1dfa6a69de3afd--6ed629c0126d4132b30eb74d444a75f9
8b6edeb388a549749f10194c5c971ffe
RX(theta₃₃)
6ed629c0126d4132b30eb74d444a75f9--8b6edeb388a549749f10194c5c971ffe
8654af75fcb24119bf450acac825e3b4
t = theta_t₁
8b6edeb388a549749f10194c5c971ffe--8654af75fcb24119bf450acac825e3b4
8654af75fcb24119bf450acac825e3b4--75cb19b5309443fe89f3d5253f0fe508
c1f14a7b3661477ca5541e10d7635e0c
85f13c2c68164e72955b4349f137ff69
RX(theta₄)
e8c63b459ba1498ab8b08823034b38fe--85f13c2c68164e72955b4349f137ff69
b864117111af4453af250660d98de619
5
39fa6a251a18488f82e2041110e39899
RY(theta₁₀)
85f13c2c68164e72955b4349f137ff69--39fa6a251a18488f82e2041110e39899
e599b8ff24b84634b04d938099dcb7e9
RX(theta₁₆)
39fa6a251a18488f82e2041110e39899--e599b8ff24b84634b04d938099dcb7e9
8655fbfe0ab1498caba94cdaeee89909
e599b8ff24b84634b04d938099dcb7e9--8655fbfe0ab1498caba94cdaeee89909
aed5e19646f74cc6868529018b31535a
RX(theta₂₂)
8655fbfe0ab1498caba94cdaeee89909--aed5e19646f74cc6868529018b31535a
d03e0a5f769e488aa734a4664c517c25
RY(theta₂₈)
aed5e19646f74cc6868529018b31535a--d03e0a5f769e488aa734a4664c517c25
b555ccc8f9dd430c86891fa79c5ec509
RX(theta₃₄)
d03e0a5f769e488aa734a4664c517c25--b555ccc8f9dd430c86891fa79c5ec509
0976bdcc31294e188520248247ad2d50
b555ccc8f9dd430c86891fa79c5ec509--0976bdcc31294e188520248247ad2d50
0976bdcc31294e188520248247ad2d50--c1f14a7b3661477ca5541e10d7635e0c
b165cf998f09424bbc0239877296eaec
4b81bdbb778844e1bda5d298d9a26cb0
RX(theta₅)
b864117111af4453af250660d98de619--4b81bdbb778844e1bda5d298d9a26cb0
9c3de41545284f63b66468057e2187fc
RY(theta₁₁)
4b81bdbb778844e1bda5d298d9a26cb0--9c3de41545284f63b66468057e2187fc
6a9f12e0b91542449001fbba09e29d7b
RX(theta₁₇)
9c3de41545284f63b66468057e2187fc--6a9f12e0b91542449001fbba09e29d7b
e3c445e36941413a87af378eba3b2355
6a9f12e0b91542449001fbba09e29d7b--e3c445e36941413a87af378eba3b2355
f5686c7d4f424f43aad1d235f88b136f
RX(theta₂₃)
e3c445e36941413a87af378eba3b2355--f5686c7d4f424f43aad1d235f88b136f
7502480c7dc94bd0a80f4c851d62ce2e
RY(theta₂₉)
f5686c7d4f424f43aad1d235f88b136f--7502480c7dc94bd0a80f4c851d62ce2e
c9d974d2a0da4f568f9fe14022057f66
RX(theta₃₅)
7502480c7dc94bd0a80f4c851d62ce2e--c9d974d2a0da4f568f9fe14022057f66
69c28e2279714eceac493b52f6bbc583
c9d974d2a0da4f568f9fe14022057f66--69c28e2279714eceac493b52f6bbc583
69c28e2279714eceac493b52f6bbc583--b165cf998f09424bbc0239877296eaec
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_46666f91baa548aebbaf715e1b2f01e3
BPMA-1
cluster_4c53af4b531942c58e7b5289c467bb36
BPMA-0
47cfe747bdc5412997b33390bc3a4a38
0
a17cde668a35411da6537b7a898e0b0e
RX(iia_α₀₀)
47cfe747bdc5412997b33390bc3a4a38--a17cde668a35411da6537b7a898e0b0e
788f6149130d4089874c6ad6ea58c2f0
1
0154c4e7b03d4654a4ebdc750c78edcd
RY(iia_α₀₃)
a17cde668a35411da6537b7a898e0b0e--0154c4e7b03d4654a4ebdc750c78edcd
86f431a57a334f2a8831be5761d290c3
0154c4e7b03d4654a4ebdc750c78edcd--86f431a57a334f2a8831be5761d290c3
9950032fee7346099838e79bde883860
86f431a57a334f2a8831be5761d290c3--9950032fee7346099838e79bde883860
0300424ba9664ae1a69f5a9b252f6c1c
RX(iia_γ₀₀)
9950032fee7346099838e79bde883860--0300424ba9664ae1a69f5a9b252f6c1c
7cded3bec795407bae864dc3ee79e194
0300424ba9664ae1a69f5a9b252f6c1c--7cded3bec795407bae864dc3ee79e194
38f9f58b550e4bdf8f3d507a2159de25
7cded3bec795407bae864dc3ee79e194--38f9f58b550e4bdf8f3d507a2159de25
ebc9072c4a574dc8940ad972ef246f3b
RY(iia_β₀₃)
38f9f58b550e4bdf8f3d507a2159de25--ebc9072c4a574dc8940ad972ef246f3b
213291cd496144b7885200d506117d1b
RX(iia_β₀₀)
ebc9072c4a574dc8940ad972ef246f3b--213291cd496144b7885200d506117d1b
65d85d58217c4c378eebc8dcdf484a03
RX(iia_α₁₀)
213291cd496144b7885200d506117d1b--65d85d58217c4c378eebc8dcdf484a03
4b607eae992c416e860699b937a23543
RY(iia_α₁₃)
65d85d58217c4c378eebc8dcdf484a03--4b607eae992c416e860699b937a23543
7b21d5e331b84fd2befd547d90db723b
4b607eae992c416e860699b937a23543--7b21d5e331b84fd2befd547d90db723b
978ec8c6863147aabfe0b6844bb3504b
7b21d5e331b84fd2befd547d90db723b--978ec8c6863147aabfe0b6844bb3504b
1be5bc96f10f4d4f826604ca9bf3815e
RX(iia_γ₁₀)
978ec8c6863147aabfe0b6844bb3504b--1be5bc96f10f4d4f826604ca9bf3815e
25e7464ef28a4b6c8be14f489da8b222
1be5bc96f10f4d4f826604ca9bf3815e--25e7464ef28a4b6c8be14f489da8b222
0aac8d903e294dd087c4fc813c036878
25e7464ef28a4b6c8be14f489da8b222--0aac8d903e294dd087c4fc813c036878
a870aeac05164cedbd6df19e5a0e3409
RY(iia_β₁₃)
0aac8d903e294dd087c4fc813c036878--a870aeac05164cedbd6df19e5a0e3409
828711353fe04b489c311cf8c540a3e9
RX(iia_β₁₀)
a870aeac05164cedbd6df19e5a0e3409--828711353fe04b489c311cf8c540a3e9
b879b7f1d25541e0bddd55facee2bc6e
828711353fe04b489c311cf8c540a3e9--b879b7f1d25541e0bddd55facee2bc6e
e07106e1fc0d421a880f5ce1d18d548a
c0df652d58d54568858128911b5c251c
RX(iia_α₀₁)
788f6149130d4089874c6ad6ea58c2f0--c0df652d58d54568858128911b5c251c
75ebc378d42d40d894123f14671758cd
2
c13de69de442406f9d713d3ad708c3d7
RY(iia_α₀₄)
c0df652d58d54568858128911b5c251c--c13de69de442406f9d713d3ad708c3d7
80a19f0427e0469780f014fb38c2bdd6
X
c13de69de442406f9d713d3ad708c3d7--80a19f0427e0469780f014fb38c2bdd6
80a19f0427e0469780f014fb38c2bdd6--86f431a57a334f2a8831be5761d290c3
eb16a63a98b241c7b73539e8c4ee989c
80a19f0427e0469780f014fb38c2bdd6--eb16a63a98b241c7b73539e8c4ee989c
ca2532ba39d14893998efd4f548a8c63
RX(iia_γ₀₁)
eb16a63a98b241c7b73539e8c4ee989c--ca2532ba39d14893998efd4f548a8c63
87a5f933a5b6458c82bc2c3f5a3ece11
ca2532ba39d14893998efd4f548a8c63--87a5f933a5b6458c82bc2c3f5a3ece11
94f00dc9218249aa957c9fe4fce58574
X
87a5f933a5b6458c82bc2c3f5a3ece11--94f00dc9218249aa957c9fe4fce58574
94f00dc9218249aa957c9fe4fce58574--38f9f58b550e4bdf8f3d507a2159de25
7df72d858cff4fca8597ef17ccad42f8
RY(iia_β₀₄)
94f00dc9218249aa957c9fe4fce58574--7df72d858cff4fca8597ef17ccad42f8
034470111bef4b6ebb854b83771e298c
RX(iia_β₀₁)
7df72d858cff4fca8597ef17ccad42f8--034470111bef4b6ebb854b83771e298c
fb4901915e54402fa946ed6235033b82
RX(iia_α₁₁)
034470111bef4b6ebb854b83771e298c--fb4901915e54402fa946ed6235033b82
a3029b4719de41c0b2ba92a693512334
RY(iia_α₁₄)
fb4901915e54402fa946ed6235033b82--a3029b4719de41c0b2ba92a693512334
df1462b9036846e2a912856110fff27b
X
a3029b4719de41c0b2ba92a693512334--df1462b9036846e2a912856110fff27b
df1462b9036846e2a912856110fff27b--7b21d5e331b84fd2befd547d90db723b
82962e49e18341f0b4c014269d4cd687
df1462b9036846e2a912856110fff27b--82962e49e18341f0b4c014269d4cd687
65e2ff2ceef44b96b497c08578e9d02d
RX(iia_γ₁₁)
82962e49e18341f0b4c014269d4cd687--65e2ff2ceef44b96b497c08578e9d02d
014a07090c6a470e87e537c56ff5cfdb
65e2ff2ceef44b96b497c08578e9d02d--014a07090c6a470e87e537c56ff5cfdb
eac42883b3534902a06516ea41be3b27
X
014a07090c6a470e87e537c56ff5cfdb--eac42883b3534902a06516ea41be3b27
eac42883b3534902a06516ea41be3b27--0aac8d903e294dd087c4fc813c036878
0402e746cb2b4b0ca1586747517396fb
RY(iia_β₁₄)
eac42883b3534902a06516ea41be3b27--0402e746cb2b4b0ca1586747517396fb
4b800533b39e412fb84a40f6b3da7755
RX(iia_β₁₁)
0402e746cb2b4b0ca1586747517396fb--4b800533b39e412fb84a40f6b3da7755
4b800533b39e412fb84a40f6b3da7755--e07106e1fc0d421a880f5ce1d18d548a
2c544a47314d47e489f5bdea1e1d4ace
301c1981803242b8a071f664a01bedb3
RX(iia_α₀₂)
75ebc378d42d40d894123f14671758cd--301c1981803242b8a071f664a01bedb3
df1bddd3d9524837baf51e37cc7db231
RY(iia_α₀₅)
301c1981803242b8a071f664a01bedb3--df1bddd3d9524837baf51e37cc7db231
940ec4c65cc54ce39345b3d64c49e3c3
df1bddd3d9524837baf51e37cc7db231--940ec4c65cc54ce39345b3d64c49e3c3
507c4379afce4e648843478e82535c07
X
940ec4c65cc54ce39345b3d64c49e3c3--507c4379afce4e648843478e82535c07
507c4379afce4e648843478e82535c07--eb16a63a98b241c7b73539e8c4ee989c
f55df5235d6b4003b7c2ba7dafc750be
RX(iia_γ₀₂)
507c4379afce4e648843478e82535c07--f55df5235d6b4003b7c2ba7dafc750be
8f325bd00ad840b8afb7714d5f01f0bc
X
f55df5235d6b4003b7c2ba7dafc750be--8f325bd00ad840b8afb7714d5f01f0bc
8f325bd00ad840b8afb7714d5f01f0bc--87a5f933a5b6458c82bc2c3f5a3ece11
3cc5ba174a464e1ca1fdd3617e3a0455
8f325bd00ad840b8afb7714d5f01f0bc--3cc5ba174a464e1ca1fdd3617e3a0455
bc31d0b5b7a74db78cbde07b89265070
RY(iia_β₀₅)
3cc5ba174a464e1ca1fdd3617e3a0455--bc31d0b5b7a74db78cbde07b89265070
26dc04ae09a5478d831307ef22d36d0b
RX(iia_β₀₂)
bc31d0b5b7a74db78cbde07b89265070--26dc04ae09a5478d831307ef22d36d0b
72db784988964816a610dafa138a14eb
RX(iia_α₁₂)
26dc04ae09a5478d831307ef22d36d0b--72db784988964816a610dafa138a14eb
ed29d466fa5a46fdb5e10a5b334ca4e5
RY(iia_α₁₅)
72db784988964816a610dafa138a14eb--ed29d466fa5a46fdb5e10a5b334ca4e5
9cc8bb3c9ed140ea9253ec202162c254
ed29d466fa5a46fdb5e10a5b334ca4e5--9cc8bb3c9ed140ea9253ec202162c254
b9702b4b3cee49ccbe6f0a5c4ffc46e7
X
9cc8bb3c9ed140ea9253ec202162c254--b9702b4b3cee49ccbe6f0a5c4ffc46e7
b9702b4b3cee49ccbe6f0a5c4ffc46e7--82962e49e18341f0b4c014269d4cd687
d17a208004d24d8c8aa813e549307fac
RX(iia_γ₁₂)
b9702b4b3cee49ccbe6f0a5c4ffc46e7--d17a208004d24d8c8aa813e549307fac
8d1a7a037163431ea9fe3381c8129fc8
X
d17a208004d24d8c8aa813e549307fac--8d1a7a037163431ea9fe3381c8129fc8
8d1a7a037163431ea9fe3381c8129fc8--014a07090c6a470e87e537c56ff5cfdb
400712ef25764e7fafdf963af68fb518
8d1a7a037163431ea9fe3381c8129fc8--400712ef25764e7fafdf963af68fb518
8d1878617d5e4a0b9d4e587837668736
RY(iia_β₁₅)
400712ef25764e7fafdf963af68fb518--8d1878617d5e4a0b9d4e587837668736
b6aee338489e4080aed0d3b3913e1fb0
RX(iia_β₁₂)
8d1878617d5e4a0b9d4e587837668736--b6aee338489e4080aed0d3b3913e1fb0
b6aee338489e4080aed0d3b3913e1fb0--2c544a47314d47e489f5bdea1e1d4ace