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_df88a59fa8134fafa1d4ff3c9782e950
Constant Chebyshev FM
cluster_2c81cfd2facf417da03c905b4a1d886b
Constant Fourier FM
ea4f866fa40049cb8087302fc809f810
0
cb66d551b9d74e2c93a898a9f60e2946
RX(phi)
ea4f866fa40049cb8087302fc809f810--cb66d551b9d74e2c93a898a9f60e2946
54bde8a5f1d944449089e27e6692a002
1
0db3797480614442b71a721eb9b53b45
RX(acos(phi))
cb66d551b9d74e2c93a898a9f60e2946--0db3797480614442b71a721eb9b53b45
e6250e8152c04164b220e8ddcba45d0f
0db3797480614442b71a721eb9b53b45--e6250e8152c04164b220e8ddcba45d0f
85400b3bca7e4bba88ed5ec17b6b103c
ea7f60af5ebb4d30841203790f02b87c
RX(phi)
54bde8a5f1d944449089e27e6692a002--ea7f60af5ebb4d30841203790f02b87c
c686c4a5f1854007a41be6b756e14b6d
2
0a580d0934d3498289902c1ae663b14d
RX(acos(phi))
ea7f60af5ebb4d30841203790f02b87c--0a580d0934d3498289902c1ae663b14d
0a580d0934d3498289902c1ae663b14d--85400b3bca7e4bba88ed5ec17b6b103c
735747e0f3544e3ea301f26a71ff43c4
0b91e356768e49598e17ee1fa694697e
RX(phi)
c686c4a5f1854007a41be6b756e14b6d--0b91e356768e49598e17ee1fa694697e
8976a03470c64df795621b400a1de88a
RX(acos(phi))
0b91e356768e49598e17ee1fa694697e--8976a03470c64df795621b400a1de88a
8976a03470c64df795621b400a1de88a--735747e0f3544e3ea301f26a71ff43c4
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_14e86ae22a24461e88a95e1d899e7d46
Constant <function custom_fn at 0x7f957f243520> FM
cluster_4e4ea849163541789f632058c3ad000d
Constant asin FM
df81a32bd55b4ba8b45ed9436426d5e9
0
d6d1b66e66f748ad977d25b8733ddde9
RX(asin(phi))
df81a32bd55b4ba8b45ed9436426d5e9--d6d1b66e66f748ad977d25b8733ddde9
2a55fc2d1a6048d085dd86143295552b
1
8880a4e14bf34e07ae2429ac84f3df74
RX(phi**2 + asin(phi))
d6d1b66e66f748ad977d25b8733ddde9--8880a4e14bf34e07ae2429ac84f3df74
e72e89ee53bc48e58ec48b7a8c663195
8880a4e14bf34e07ae2429ac84f3df74--e72e89ee53bc48e58ec48b7a8c663195
e404f213f77e4a64992ca9c54968d22f
ad5def4771474e349f48170122ef4b0b
RX(asin(phi))
2a55fc2d1a6048d085dd86143295552b--ad5def4771474e349f48170122ef4b0b
7515831b02f6495da9da4f35f403f007
2
659d7609a2f341a297ae7e959950f1e5
RX(phi**2 + asin(phi))
ad5def4771474e349f48170122ef4b0b--659d7609a2f341a297ae7e959950f1e5
659d7609a2f341a297ae7e959950f1e5--e404f213f77e4a64992ca9c54968d22f
cd037104b7a94d6d8277d5d7f1b8034f
2392048828c1446884c82d68b3f8ea1a
RX(asin(phi))
7515831b02f6495da9da4f35f403f007--2392048828c1446884c82d68b3f8ea1a
f7c828f9f0214164b681e72dceb54a3b
RX(phi**2 + asin(phi))
2392048828c1446884c82d68b3f8ea1a--f7c828f9f0214164b681e72dceb54a3b
f7c828f9f0214164b681e72dceb54a3b--cd037104b7a94d6d8277d5d7f1b8034f
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_7857398ac7614af889e41d5132ce8801
Exponential Fourier FM
cluster_bf6817f622d3400b8e7844d69724a0a6
Constant Fourier FM
cluster_2d3566c33a584f92aa1391dabd6075f8
Tower Fourier FM
4d1e2f0e3a2c452ab8e892421e08fbad
0
89478a2780ad46508b6381a3e11efb10
RX(phi)
4d1e2f0e3a2c452ab8e892421e08fbad--89478a2780ad46508b6381a3e11efb10
a55f78766d77426aacd29966a6c5f9e1
1
f82956e7329543ec99fbb774831f34c5
RX(1.0*phi)
89478a2780ad46508b6381a3e11efb10--f82956e7329543ec99fbb774831f34c5
5f3c5b6caf784c9884dc9d1de57258ae
RX(1.0*phi)
f82956e7329543ec99fbb774831f34c5--5f3c5b6caf784c9884dc9d1de57258ae
e00479b13f124f81b32a200f287f63b7
5f3c5b6caf784c9884dc9d1de57258ae--e00479b13f124f81b32a200f287f63b7
5bbc7adffe5e4e159a67e24a97d87604
c2a22428e6104e219452e5f6bb593e88
RX(phi)
a55f78766d77426aacd29966a6c5f9e1--c2a22428e6104e219452e5f6bb593e88
c77568aefa8a4b2a83bc583711dc9646
2
d27224302ae0434ba19471b5eafa6f97
RX(2.0*phi)
c2a22428e6104e219452e5f6bb593e88--d27224302ae0434ba19471b5eafa6f97
b45cb05828604b7e9840e96ae24639d2
RX(2.0*phi)
d27224302ae0434ba19471b5eafa6f97--b45cb05828604b7e9840e96ae24639d2
b45cb05828604b7e9840e96ae24639d2--5bbc7adffe5e4e159a67e24a97d87604
86808d3369724d17983a579363da2e2a
1e4b9fd7b22a4a308b4ba4f75b24fc5e
RX(phi)
c77568aefa8a4b2a83bc583711dc9646--1e4b9fd7b22a4a308b4ba4f75b24fc5e
2c0186db3caf4298bdbd666cccf5c864
3
74be9d0dad6846d8b5b90083496c7c26
RX(3.0*phi)
1e4b9fd7b22a4a308b4ba4f75b24fc5e--74be9d0dad6846d8b5b90083496c7c26
bd2f05de83984ede85c6de55337d708d
RX(4.0*phi)
74be9d0dad6846d8b5b90083496c7c26--bd2f05de83984ede85c6de55337d708d
bd2f05de83984ede85c6de55337d708d--86808d3369724d17983a579363da2e2a
d6f6f187c1e44a7795700d2087bfa076
747b1aa0f2f14846897647932547c67d
RX(phi)
2c0186db3caf4298bdbd666cccf5c864--747b1aa0f2f14846897647932547c67d
4febe32a623342a085ec519e57fddd61
4
825ea0476db14a66ac858cd62664c3fd
RX(4.0*phi)
747b1aa0f2f14846897647932547c67d--825ea0476db14a66ac858cd62664c3fd
f40446b0316b4f4c804accb2e9ccb7c1
RX(8.0*phi)
825ea0476db14a66ac858cd62664c3fd--f40446b0316b4f4c804accb2e9ccb7c1
f40446b0316b4f4c804accb2e9ccb7c1--d6f6f187c1e44a7795700d2087bfa076
638a91dec8694cbdacc790756445dcf6
730cb3534675433290d4feca9dbc7068
RX(phi)
4febe32a623342a085ec519e57fddd61--730cb3534675433290d4feca9dbc7068
fb785087288c43ffa9090b10966a2ea6
RX(5.0*phi)
730cb3534675433290d4feca9dbc7068--fb785087288c43ffa9090b10966a2ea6
4262a414b453436b9fe497dcdb3dd4aa
RX(16.0*phi)
fb785087288c43ffa9090b10966a2ea6--4262a414b453436b9fe497dcdb3dd4aa
4262a414b453436b9fe497dcdb3dd4aa--638a91dec8694cbdacc790756445dcf6
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
b05426ad1723474dad94091ed2948a7f
0
2581e98f568046f19f9ef7f2686bcc09
RX(1.0*acos(phi))
b05426ad1723474dad94091ed2948a7f--2581e98f568046f19f9ef7f2686bcc09
3e649536cc944466927d82970027b691
1
647bd5357df640eda222bd3f194fe23a
2581e98f568046f19f9ef7f2686bcc09--647bd5357df640eda222bd3f194fe23a
69261601af7e42f480f650c70c7a3b13
e6ba098a75a847a4bab7fc43076326c0
RX(1.414*acos(phi))
3e649536cc944466927d82970027b691--e6ba098a75a847a4bab7fc43076326c0
c6512fdf21b34eb89a2c743d32279b66
2
e6ba098a75a847a4bab7fc43076326c0--69261601af7e42f480f650c70c7a3b13
edd14d81b2794b4789f8d1e155e18eba
5234f39f23cd4ac4b1aeabbaa6b597c8
RX(1.732*acos(phi))
c6512fdf21b34eb89a2c743d32279b66--5234f39f23cd4ac4b1aeabbaa6b597c8
7f27b28b6c714fafa6677333af8e021b
3
5234f39f23cd4ac4b1aeabbaa6b597c8--edd14d81b2794b4789f8d1e155e18eba
e0193a2777844ae4b14dd7417440faa3
f93dca219d9b479c98ee2992aa8349de
RX(2.0*acos(phi))
7f27b28b6c714fafa6677333af8e021b--f93dca219d9b479c98ee2992aa8349de
2cf5ebb50a944819b1d46ca1e426ce37
4
f93dca219d9b479c98ee2992aa8349de--e0193a2777844ae4b14dd7417440faa3
3c6b1d88f46444c8a57e89f67f99a20e
d590bde14dd64b2ba3ca16795b897b5e
RX(2.236*acos(phi))
2cf5ebb50a944819b1d46ca1e426ce37--d590bde14dd64b2ba3ca16795b897b5e
d590bde14dd64b2ba3ca16795b897b5e--3c6b1d88f46444c8a57e89f67f99a20e
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
5ed971473684405d893a84ec4a6ffe7c
0
ae3eea41cd5a4d31aef6001c0a4012b4
RX(1.0*phi*w₀)
5ed971473684405d893a84ec4a6ffe7c--ae3eea41cd5a4d31aef6001c0a4012b4
5d97210ff09a47bb9e435108304b1c09
1
73bc995056164fcd99549a05ae0d85d1
ae3eea41cd5a4d31aef6001c0a4012b4--73bc995056164fcd99549a05ae0d85d1
25434561d04e4b21a50fd9d52651622b
5f7bd27e135a4603a2f815a0a3b7a5b4
RX(2.0*phi*w₁)
5d97210ff09a47bb9e435108304b1c09--5f7bd27e135a4603a2f815a0a3b7a5b4
ecf40f5e79fc459cb00fa62a1ab391ab
2
5f7bd27e135a4603a2f815a0a3b7a5b4--25434561d04e4b21a50fd9d52651622b
0af6d6569de2424cb45a7ce7f578d2c3
4913839977fc48f9a9df3f652198b692
RX(4.0*phi*w₂)
ecf40f5e79fc459cb00fa62a1ab391ab--4913839977fc48f9a9df3f652198b692
2a51167408f341eaadb601d4773e6148
3
4913839977fc48f9a9df3f652198b692--0af6d6569de2424cb45a7ce7f578d2c3
0e4572e6f90e41b09969f5219be9fa59
c4013e5842624c4a8c102a21f828aa39
RX(8.0*phi*w₃)
2a51167408f341eaadb601d4773e6148--c4013e5842624c4a8c102a21f828aa39
e8a05c1cda4545878a93584db5f2e1ed
4
c4013e5842624c4a8c102a21f828aa39--0e4572e6f90e41b09969f5219be9fa59
2aa47dfb88e34e89b5cc26e5b88c5ce8
f7cada76cfbe4c2ba15617f8dfab26da
RX(16.0*phi*w₄)
e8a05c1cda4545878a93584db5f2e1ed--f7cada76cfbe4c2ba15617f8dfab26da
f7cada76cfbe4c2ba15617f8dfab26da--2aa47dfb88e34e89b5cc26e5b88c5ce8
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
c0cbcc193c0d4efab9bf835a7349a689
0
dcf982862aae4a9997ac5331132c39e2
RY(80.0*acos(w₄*(0.667*x + 1.667)))
c0cbcc193c0d4efab9bf835a7349a689--dcf982862aae4a9997ac5331132c39e2
2fc5222462b946de9b4618f102b65a0c
1
9bf8566ffe434eab816644e30b78813f
dcf982862aae4a9997ac5331132c39e2--9bf8566ffe434eab816644e30b78813f
49272fa3a01545e785e14ceba4fb81ed
1900405a472e447a95d99ce07ced79dc
RY(40.0*acos(w₃*(0.667*x + 1.667)))
2fc5222462b946de9b4618f102b65a0c--1900405a472e447a95d99ce07ced79dc
4fe0113e1f32469c9007f53b76eaea61
2
1900405a472e447a95d99ce07ced79dc--49272fa3a01545e785e14ceba4fb81ed
bbec3109e3774aea8801346a9321f8bc
d6749544dd6646a69df7be7d983c7ed7
RY(20.0*acos(w₂*(0.667*x + 1.667)))
4fe0113e1f32469c9007f53b76eaea61--d6749544dd6646a69df7be7d983c7ed7
583b7290f9964749a82e7ab9732ce94c
3
d6749544dd6646a69df7be7d983c7ed7--bbec3109e3774aea8801346a9321f8bc
2c76fb60bbfa44ac92ffe87a5666c7f3
c60fc5a83cec4188a87dd2e0e2dbbbca
RY(10.0*acos(w₁*(0.667*x + 1.667)))
583b7290f9964749a82e7ab9732ce94c--c60fc5a83cec4188a87dd2e0e2dbbbca
e171c86601aa46809a5222a19e140413
4
c60fc5a83cec4188a87dd2e0e2dbbbca--2c76fb60bbfa44ac92ffe87a5666c7f3
6fecb8eccb5a452cb80924c8df90922a
678037b0907c49408ab9f800039a2499
RY(5.0*acos(w₀*(0.667*x + 1.667)))
e171c86601aa46809a5222a19e140413--678037b0907c49408ab9f800039a2499
678037b0907c49408ab9f800039a2499--6fecb8eccb5a452cb80924c8df90922a
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
7966b9eb5b6242afa69b6e062946f91c
0
3bdaa0053aa74476ba53844bb6217aaa
RX(theta₀)
7966b9eb5b6242afa69b6e062946f91c--3bdaa0053aa74476ba53844bb6217aaa
8b2e85d7fe3e42d7aff642f203dd85f2
1
0875ba1c8b394be391fe2c9ca4776424
RY(theta₃)
3bdaa0053aa74476ba53844bb6217aaa--0875ba1c8b394be391fe2c9ca4776424
f8f7c463b35f48ad88833c280cd90a54
RX(theta₆)
0875ba1c8b394be391fe2c9ca4776424--f8f7c463b35f48ad88833c280cd90a54
9a5122de65e54bb9a410d34d09e52efd
f8f7c463b35f48ad88833c280cd90a54--9a5122de65e54bb9a410d34d09e52efd
f7233018c4f648b28a2b7d887f5413c2
9a5122de65e54bb9a410d34d09e52efd--f7233018c4f648b28a2b7d887f5413c2
9b0f6af675b84080970afb3e3240ea79
RX(theta₉)
f7233018c4f648b28a2b7d887f5413c2--9b0f6af675b84080970afb3e3240ea79
5a1bea2fad824ea6a8658b14cc29ffe7
RY(theta₁₂)
9b0f6af675b84080970afb3e3240ea79--5a1bea2fad824ea6a8658b14cc29ffe7
3f3f1b54cfc84943a844e035d7e27b62
RX(theta₁₅)
5a1bea2fad824ea6a8658b14cc29ffe7--3f3f1b54cfc84943a844e035d7e27b62
436f8f76c2b24c57a03d2ec676e14586
3f3f1b54cfc84943a844e035d7e27b62--436f8f76c2b24c57a03d2ec676e14586
bae3ac5917fa41fd8b49bc14228650d8
436f8f76c2b24c57a03d2ec676e14586--bae3ac5917fa41fd8b49bc14228650d8
b80054103d1b4306aac7feb3c7615596
bae3ac5917fa41fd8b49bc14228650d8--b80054103d1b4306aac7feb3c7615596
ca76cf65820f437081d28a5de122705f
250a1c819e3640c3b8483e0bd638a2c7
RX(theta₁)
8b2e85d7fe3e42d7aff642f203dd85f2--250a1c819e3640c3b8483e0bd638a2c7
8cb4cce0762c4362872f004e82b76c00
2
aacc425b02e746f781fee4a239f30f6f
RY(theta₄)
250a1c819e3640c3b8483e0bd638a2c7--aacc425b02e746f781fee4a239f30f6f
6d11b1b111304ac0914fa347e9e5e4ce
RX(theta₇)
aacc425b02e746f781fee4a239f30f6f--6d11b1b111304ac0914fa347e9e5e4ce
f70f0ce1db874426a404fce9b37f3f69
X
6d11b1b111304ac0914fa347e9e5e4ce--f70f0ce1db874426a404fce9b37f3f69
f70f0ce1db874426a404fce9b37f3f69--9a5122de65e54bb9a410d34d09e52efd
6849d384469f434291e58e0a4be59dbc
f70f0ce1db874426a404fce9b37f3f69--6849d384469f434291e58e0a4be59dbc
9aa4d9f26f714e939a5dccf2f3f9ec07
RX(theta₁₀)
6849d384469f434291e58e0a4be59dbc--9aa4d9f26f714e939a5dccf2f3f9ec07
79aefc5e240d4ac88090cb9f679ec78a
RY(theta₁₃)
9aa4d9f26f714e939a5dccf2f3f9ec07--79aefc5e240d4ac88090cb9f679ec78a
854db175fe8a4ef989909fc1354bd1f3
RX(theta₁₆)
79aefc5e240d4ac88090cb9f679ec78a--854db175fe8a4ef989909fc1354bd1f3
48b41bca1dd64a59a49369e68c76f8b7
X
854db175fe8a4ef989909fc1354bd1f3--48b41bca1dd64a59a49369e68c76f8b7
48b41bca1dd64a59a49369e68c76f8b7--436f8f76c2b24c57a03d2ec676e14586
182806f741414fcebd9b799cfd79f104
48b41bca1dd64a59a49369e68c76f8b7--182806f741414fcebd9b799cfd79f104
182806f741414fcebd9b799cfd79f104--ca76cf65820f437081d28a5de122705f
0f770b90d67e4c5f890aeea6423e6fcd
765ad3d356024a49b1c81526339e5e54
RX(theta₂)
8cb4cce0762c4362872f004e82b76c00--765ad3d356024a49b1c81526339e5e54
34e933b0d1f34404bdae11c5fd0fbe72
RY(theta₅)
765ad3d356024a49b1c81526339e5e54--34e933b0d1f34404bdae11c5fd0fbe72
645d3c8ea79646269ad3af8f11b26519
RX(theta₈)
34e933b0d1f34404bdae11c5fd0fbe72--645d3c8ea79646269ad3af8f11b26519
e938497ae8464c919fcbafc0027bd940
645d3c8ea79646269ad3af8f11b26519--e938497ae8464c919fcbafc0027bd940
e49ffdd6ac0844a8b4ea3b770d946a36
X
e938497ae8464c919fcbafc0027bd940--e49ffdd6ac0844a8b4ea3b770d946a36
e49ffdd6ac0844a8b4ea3b770d946a36--6849d384469f434291e58e0a4be59dbc
e92ce815ee76433eae67634d814e5145
RX(theta₁₁)
e49ffdd6ac0844a8b4ea3b770d946a36--e92ce815ee76433eae67634d814e5145
5e25cdeb15cc4001a63d7cb1497005a7
RY(theta₁₄)
e92ce815ee76433eae67634d814e5145--5e25cdeb15cc4001a63d7cb1497005a7
43690c84fc5c44c1a3d65ad0b2d07efe
RX(theta₁₇)
5e25cdeb15cc4001a63d7cb1497005a7--43690c84fc5c44c1a3d65ad0b2d07efe
4a28a114d3d9422a9be4aa0f86abac7c
43690c84fc5c44c1a3d65ad0b2d07efe--4a28a114d3d9422a9be4aa0f86abac7c
7f1f47d96f9b419697fdcb48b53042cb
X
4a28a114d3d9422a9be4aa0f86abac7c--7f1f47d96f9b419697fdcb48b53042cb
7f1f47d96f9b419697fdcb48b53042cb--182806f741414fcebd9b799cfd79f104
7f1f47d96f9b419697fdcb48b53042cb--0f770b90d67e4c5f890aeea6423e6fcd
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
ea277f473a1348f393082b38b87be089
0
09284face3e144b19dd8cdce78151528
RX(phi₀)
ea277f473a1348f393082b38b87be089--09284face3e144b19dd8cdce78151528
3a87c289949a4b4c94c6084f274f45f3
1
ea5512a888ad4aa68c075bce4b02addf
RY(phi₃)
09284face3e144b19dd8cdce78151528--ea5512a888ad4aa68c075bce4b02addf
022ab6b577ea482f9794b660fc4f2b1c
RX(phi₆)
ea5512a888ad4aa68c075bce4b02addf--022ab6b577ea482f9794b660fc4f2b1c
f84c93106e64476296bab9a58c5e41fd
022ab6b577ea482f9794b660fc4f2b1c--f84c93106e64476296bab9a58c5e41fd
2a61bf802aaf4dd09708f32dcd06df23
f84c93106e64476296bab9a58c5e41fd--2a61bf802aaf4dd09708f32dcd06df23
ec09da09b4c74a4ea1d7e767a2b0ca7b
RX(phi₉)
2a61bf802aaf4dd09708f32dcd06df23--ec09da09b4c74a4ea1d7e767a2b0ca7b
928b9e8e644642e39dbfcab1ebd92d8c
RY(phi₁₂)
ec09da09b4c74a4ea1d7e767a2b0ca7b--928b9e8e644642e39dbfcab1ebd92d8c
80990c2e4e9e470c95141acaa22a7f66
RX(phi₁₅)
928b9e8e644642e39dbfcab1ebd92d8c--80990c2e4e9e470c95141acaa22a7f66
0d8f001398b74b7b9bf4cee423959339
80990c2e4e9e470c95141acaa22a7f66--0d8f001398b74b7b9bf4cee423959339
3dfdf29fab9c4f509b1496db2a49b378
0d8f001398b74b7b9bf4cee423959339--3dfdf29fab9c4f509b1496db2a49b378
165eac7a8b14437b8773e40cbcff962b
3dfdf29fab9c4f509b1496db2a49b378--165eac7a8b14437b8773e40cbcff962b
e15b5464854f412d93ccf876b746bedf
cb1093438cec4ccb884838d48e00f918
RX(phi₁)
3a87c289949a4b4c94c6084f274f45f3--cb1093438cec4ccb884838d48e00f918
3e137d29d62c4ad3858927b4d4855177
2
bc8c0b1dc9ea468ebf6be4edd1b04b2a
RY(phi₄)
cb1093438cec4ccb884838d48e00f918--bc8c0b1dc9ea468ebf6be4edd1b04b2a
c17ea3da371d4e7f9d72b7f7bf063115
RX(phi₇)
bc8c0b1dc9ea468ebf6be4edd1b04b2a--c17ea3da371d4e7f9d72b7f7bf063115
b0c6e2bef95f44de811299ffbf7aabc4
PHASE(phi_ent₀)
c17ea3da371d4e7f9d72b7f7bf063115--b0c6e2bef95f44de811299ffbf7aabc4
b0c6e2bef95f44de811299ffbf7aabc4--f84c93106e64476296bab9a58c5e41fd
56637f59a39443a6bfee04206946f8ed
b0c6e2bef95f44de811299ffbf7aabc4--56637f59a39443a6bfee04206946f8ed
69a909688cc5461e95da8bf6214df355
RX(phi₁₀)
56637f59a39443a6bfee04206946f8ed--69a909688cc5461e95da8bf6214df355
b98624fa25164a3991e2b0fc8b0fc31b
RY(phi₁₃)
69a909688cc5461e95da8bf6214df355--b98624fa25164a3991e2b0fc8b0fc31b
c81ba96ad2774d0f9b99bf1ceb46f83e
RX(phi₁₆)
b98624fa25164a3991e2b0fc8b0fc31b--c81ba96ad2774d0f9b99bf1ceb46f83e
82d315f7cb6f420396f8fd7df5a43d06
PHASE(phi_ent₂)
c81ba96ad2774d0f9b99bf1ceb46f83e--82d315f7cb6f420396f8fd7df5a43d06
82d315f7cb6f420396f8fd7df5a43d06--0d8f001398b74b7b9bf4cee423959339
0f37a568e0b64ca396870dcf8c77dfab
82d315f7cb6f420396f8fd7df5a43d06--0f37a568e0b64ca396870dcf8c77dfab
0f37a568e0b64ca396870dcf8c77dfab--e15b5464854f412d93ccf876b746bedf
27438f0972494c619c3f17a259823200
9151b186b97749bbb532c698a23afa12
RX(phi₂)
3e137d29d62c4ad3858927b4d4855177--9151b186b97749bbb532c698a23afa12
8e61225d1ea0460db29920f9619df570
RY(phi₅)
9151b186b97749bbb532c698a23afa12--8e61225d1ea0460db29920f9619df570
62ec9b64739e48969611a387fc463077
RX(phi₈)
8e61225d1ea0460db29920f9619df570--62ec9b64739e48969611a387fc463077
9b52ac568fb94ff8ba0b6325199904c8
62ec9b64739e48969611a387fc463077--9b52ac568fb94ff8ba0b6325199904c8
ce93e2673ba64d21bd94aa47868464c4
PHASE(phi_ent₁)
9b52ac568fb94ff8ba0b6325199904c8--ce93e2673ba64d21bd94aa47868464c4
ce93e2673ba64d21bd94aa47868464c4--56637f59a39443a6bfee04206946f8ed
7081a6a601b24c70b38ac55592f51dab
RX(phi₁₁)
ce93e2673ba64d21bd94aa47868464c4--7081a6a601b24c70b38ac55592f51dab
043a0b4e314946ab9ef26df7ce2c63e9
RY(phi₁₄)
7081a6a601b24c70b38ac55592f51dab--043a0b4e314946ab9ef26df7ce2c63e9
35ec02618db245fd9a2b5ca2e6b20ee6
RX(phi₁₇)
043a0b4e314946ab9ef26df7ce2c63e9--35ec02618db245fd9a2b5ca2e6b20ee6
e87f3cf15f3544ae83951fe933337d4d
35ec02618db245fd9a2b5ca2e6b20ee6--e87f3cf15f3544ae83951fe933337d4d
63a00d0b53b7473994aa847e10bfde3b
PHASE(phi_ent₃)
e87f3cf15f3544ae83951fe933337d4d--63a00d0b53b7473994aa847e10bfde3b
63a00d0b53b7473994aa847e10bfde3b--0f37a568e0b64ca396870dcf8c77dfab
63a00d0b53b7473994aa847e10bfde3b--27438f0972494c619c3f17a259823200
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_3fb178d8d3294c568883bcf03e56bd06
cluster_684a3ec3104942ed99a8ac3099fe2370
47a3cae25e63407d89b2c4fb7e0c4adb
0
2d67bbe4798d46b3a8611593d9ac4cac
RX(theta₀)
47a3cae25e63407d89b2c4fb7e0c4adb--2d67bbe4798d46b3a8611593d9ac4cac
fc9cc3205d2d4ac7b5157b753a7346b9
1
5c79ff44bc7648188079fb9b150854b8
RY(theta₃)
2d67bbe4798d46b3a8611593d9ac4cac--5c79ff44bc7648188079fb9b150854b8
0bad69fa30b64b27962e96df68a306cd
RX(theta₆)
5c79ff44bc7648188079fb9b150854b8--0bad69fa30b64b27962e96df68a306cd
cd7312412c514beaabed7a8f205a5c39
HamEvo
0bad69fa30b64b27962e96df68a306cd--cd7312412c514beaabed7a8f205a5c39
d37b3a99288a4233917d5695a569ad8f
RX(theta₉)
cd7312412c514beaabed7a8f205a5c39--d37b3a99288a4233917d5695a569ad8f
21fdc715988e41aab47097ac0efbe8d3
RY(theta₁₂)
d37b3a99288a4233917d5695a569ad8f--21fdc715988e41aab47097ac0efbe8d3
b74f4482c3014d4e821c99673eb28dc4
RX(theta₁₅)
21fdc715988e41aab47097ac0efbe8d3--b74f4482c3014d4e821c99673eb28dc4
a941e69da6bf4692902a7671b482c6df
HamEvo
b74f4482c3014d4e821c99673eb28dc4--a941e69da6bf4692902a7671b482c6df
b7d668ca60dc450f94eb01baffc855c8
a941e69da6bf4692902a7671b482c6df--b7d668ca60dc450f94eb01baffc855c8
62f4b5b8869546bfaeb538cc09f04ea3
3cf9675d64124f5b931ef67f57a3ab15
RX(theta₁)
fc9cc3205d2d4ac7b5157b753a7346b9--3cf9675d64124f5b931ef67f57a3ab15
54f4be0dcbdc4a47852eacae35e7a843
2
2de4055f8fd9491ba9e992763ba7a4f3
RY(theta₄)
3cf9675d64124f5b931ef67f57a3ab15--2de4055f8fd9491ba9e992763ba7a4f3
611a1663b3c341baaca0ce5854a1c0c6
RX(theta₇)
2de4055f8fd9491ba9e992763ba7a4f3--611a1663b3c341baaca0ce5854a1c0c6
7f2fc1998b6a4e5fba76aae595adfb99
t = theta_t₀
611a1663b3c341baaca0ce5854a1c0c6--7f2fc1998b6a4e5fba76aae595adfb99
bf55bce31d0b429185fab5ece2bea938
RX(theta₁₀)
7f2fc1998b6a4e5fba76aae595adfb99--bf55bce31d0b429185fab5ece2bea938
d9e6a9f172c444c7bda4e1213663c4c0
RY(theta₁₃)
bf55bce31d0b429185fab5ece2bea938--d9e6a9f172c444c7bda4e1213663c4c0
87d8bf437a824fab96f379918f17b12b
RX(theta₁₆)
d9e6a9f172c444c7bda4e1213663c4c0--87d8bf437a824fab96f379918f17b12b
cc6f40ae09de4417b8a3352ffbcf468b
t = theta_t₁
87d8bf437a824fab96f379918f17b12b--cc6f40ae09de4417b8a3352ffbcf468b
cc6f40ae09de4417b8a3352ffbcf468b--62f4b5b8869546bfaeb538cc09f04ea3
27dcafacb30c4510b24600f1af723dbc
375c7895d67a44a393c576f021fd7aa6
RX(theta₂)
54f4be0dcbdc4a47852eacae35e7a843--375c7895d67a44a393c576f021fd7aa6
deba2e972a9f4f1e9b57ff9eec6e7742
RY(theta₅)
375c7895d67a44a393c576f021fd7aa6--deba2e972a9f4f1e9b57ff9eec6e7742
243f885d777f4e829a5acb2bdeb58638
RX(theta₈)
deba2e972a9f4f1e9b57ff9eec6e7742--243f885d777f4e829a5acb2bdeb58638
8ce7dca85ec1433ea75da0d28ea5aa49
243f885d777f4e829a5acb2bdeb58638--8ce7dca85ec1433ea75da0d28ea5aa49
150d8e8917864557b327546d854bdfdd
RX(theta₁₁)
8ce7dca85ec1433ea75da0d28ea5aa49--150d8e8917864557b327546d854bdfdd
8121b3a5d3e4443aa4190075bd0c086b
RY(theta₁₄)
150d8e8917864557b327546d854bdfdd--8121b3a5d3e4443aa4190075bd0c086b
ebcdf453215844fa9a905cd78e3a8d67
RX(theta₁₇)
8121b3a5d3e4443aa4190075bd0c086b--ebcdf453215844fa9a905cd78e3a8d67
109aea3c01fb4d3bb8af4decc4807de6
ebcdf453215844fa9a905cd78e3a8d67--109aea3c01fb4d3bb8af4decc4807de6
109aea3c01fb4d3bb8af4decc4807de6--27dcafacb30c4510b24600f1af723dbc
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_07f0cd3e9b834b1d8de7d55e136ecbfb
cluster_228dfe7aefd94aeba08a3e442b9dc9cc
34002f4254d34dea9c24355ef35c404d
0
e0dbf8a2ef7d410e91fcb560cfc41a52
RX(theta₀)
34002f4254d34dea9c24355ef35c404d--e0dbf8a2ef7d410e91fcb560cfc41a52
186adfaaa04e489fb6bd67ca8da07476
1
07df9b1d717e4881be834a04772c850d
RY(theta₆)
e0dbf8a2ef7d410e91fcb560cfc41a52--07df9b1d717e4881be834a04772c850d
c3d751d5846f4bb39b3b1d8c1406096f
RX(theta₁₂)
07df9b1d717e4881be834a04772c850d--c3d751d5846f4bb39b3b1d8c1406096f
7b28f0a2db064d71aca3bc1290ca57b3
c3d751d5846f4bb39b3b1d8c1406096f--7b28f0a2db064d71aca3bc1290ca57b3
1d27cf48231a428d9112a6071d34be20
RX(theta₁₈)
7b28f0a2db064d71aca3bc1290ca57b3--1d27cf48231a428d9112a6071d34be20
073dd78305144b49b663f4d2a4b26416
RY(theta₂₄)
1d27cf48231a428d9112a6071d34be20--073dd78305144b49b663f4d2a4b26416
fca0765fbaa84aa0b6623be65c9537bb
RX(theta₃₀)
073dd78305144b49b663f4d2a4b26416--fca0765fbaa84aa0b6623be65c9537bb
482c62e0e1fc497cb273c8c22f70d241
fca0765fbaa84aa0b6623be65c9537bb--482c62e0e1fc497cb273c8c22f70d241
1d642d9aae73437699e26bdd507a91d0
482c62e0e1fc497cb273c8c22f70d241--1d642d9aae73437699e26bdd507a91d0
c0db34da23fc4ce8927e64974b288ad1
99b1411e152542288e3fbc1abfe2e9bc
RX(theta₁)
186adfaaa04e489fb6bd67ca8da07476--99b1411e152542288e3fbc1abfe2e9bc
7e8a759d8df64193a11689274397af68
2
860783038bde4593a6a4451c1c07a0ff
RY(theta₇)
99b1411e152542288e3fbc1abfe2e9bc--860783038bde4593a6a4451c1c07a0ff
f756b315d02f43f1a80399802a1d5b7b
RX(theta₁₃)
860783038bde4593a6a4451c1c07a0ff--f756b315d02f43f1a80399802a1d5b7b
ba17a2124ec044ca8b456acac13faf9b
f756b315d02f43f1a80399802a1d5b7b--ba17a2124ec044ca8b456acac13faf9b
86673289e48e4ffabd54f04ec2aef653
RX(theta₁₉)
ba17a2124ec044ca8b456acac13faf9b--86673289e48e4ffabd54f04ec2aef653
f20069a27e3b4907b1369ddf69aa90f2
RY(theta₂₅)
86673289e48e4ffabd54f04ec2aef653--f20069a27e3b4907b1369ddf69aa90f2
21797f1f6f2944379eddc431fda190ed
RX(theta₃₁)
f20069a27e3b4907b1369ddf69aa90f2--21797f1f6f2944379eddc431fda190ed
e63e035bf66d42999d511c64a2e1fcf6
21797f1f6f2944379eddc431fda190ed--e63e035bf66d42999d511c64a2e1fcf6
e63e035bf66d42999d511c64a2e1fcf6--c0db34da23fc4ce8927e64974b288ad1
cc3a0aaa8bca478e90049d9610ff1a6c
5a1bc96810f34829954fd752a0c570db
RX(theta₂)
7e8a759d8df64193a11689274397af68--5a1bc96810f34829954fd752a0c570db
0ee9246157d540c8b9f92e5f1613f85e
3
6e0e6d523eac40c1b62237971ada3629
RY(theta₈)
5a1bc96810f34829954fd752a0c570db--6e0e6d523eac40c1b62237971ada3629
16977a8f453d46e089d23a28ba868d9d
RX(theta₁₄)
6e0e6d523eac40c1b62237971ada3629--16977a8f453d46e089d23a28ba868d9d
3cd4a6dac21d450fa6d864a1b6ec493d
HamEvo
16977a8f453d46e089d23a28ba868d9d--3cd4a6dac21d450fa6d864a1b6ec493d
4d92bfc9e89f4e15ad10f763a2d5f49a
RX(theta₂₀)
3cd4a6dac21d450fa6d864a1b6ec493d--4d92bfc9e89f4e15ad10f763a2d5f49a
431e84dc239d4ae0bd9d4cac802ad364
RY(theta₂₆)
4d92bfc9e89f4e15ad10f763a2d5f49a--431e84dc239d4ae0bd9d4cac802ad364
888bce49c2044b0ab99b7097601b0ac8
RX(theta₃₂)
431e84dc239d4ae0bd9d4cac802ad364--888bce49c2044b0ab99b7097601b0ac8
01ba3cfb24974a89a653c689fffdfc61
HamEvo
888bce49c2044b0ab99b7097601b0ac8--01ba3cfb24974a89a653c689fffdfc61
01ba3cfb24974a89a653c689fffdfc61--cc3a0aaa8bca478e90049d9610ff1a6c
d7df6c78217c48bab978c3ea42b3b98b
9ec07402f4ae4ae8907948111a130b58
RX(theta₃)
0ee9246157d540c8b9f92e5f1613f85e--9ec07402f4ae4ae8907948111a130b58
9a8031da8b85485da4cc65f48ffdad4d
4
cdb18b0042294afda8bf8491bd76164b
RY(theta₉)
9ec07402f4ae4ae8907948111a130b58--cdb18b0042294afda8bf8491bd76164b
93ed9db4233f40c2a610da896154168c
RX(theta₁₅)
cdb18b0042294afda8bf8491bd76164b--93ed9db4233f40c2a610da896154168c
565a88ebf4924dc6b3a03cf91c823a0e
t = theta_t₀
93ed9db4233f40c2a610da896154168c--565a88ebf4924dc6b3a03cf91c823a0e
0c78107650614dc096b673b2def85283
RX(theta₂₁)
565a88ebf4924dc6b3a03cf91c823a0e--0c78107650614dc096b673b2def85283
6568f7b5fc8d4f09a5af3f23e436c45d
RY(theta₂₇)
0c78107650614dc096b673b2def85283--6568f7b5fc8d4f09a5af3f23e436c45d
69d704cf434f4382a52f7c7cbf20507d
RX(theta₃₃)
6568f7b5fc8d4f09a5af3f23e436c45d--69d704cf434f4382a52f7c7cbf20507d
f933e52a4db5430684f7397af57aff66
t = theta_t₁
69d704cf434f4382a52f7c7cbf20507d--f933e52a4db5430684f7397af57aff66
f933e52a4db5430684f7397af57aff66--d7df6c78217c48bab978c3ea42b3b98b
9813059f07374754840aae1aa887c95c
b8e2fb28dc5245359151711838f08585
RX(theta₄)
9a8031da8b85485da4cc65f48ffdad4d--b8e2fb28dc5245359151711838f08585
8853b6928114443299c97c5d69c47504
5
9ba5eea33f984facb434a809e444ad57
RY(theta₁₀)
b8e2fb28dc5245359151711838f08585--9ba5eea33f984facb434a809e444ad57
091db70aeeb94ad38afb4fd68d7e5bc2
RX(theta₁₆)
9ba5eea33f984facb434a809e444ad57--091db70aeeb94ad38afb4fd68d7e5bc2
da8265592cbb488dbc0d5b75bcedb137
091db70aeeb94ad38afb4fd68d7e5bc2--da8265592cbb488dbc0d5b75bcedb137
42a8e36494524ea3b30e7d628113cf08
RX(theta₂₂)
da8265592cbb488dbc0d5b75bcedb137--42a8e36494524ea3b30e7d628113cf08
44634b232d87434aacfc62d6bae88f33
RY(theta₂₈)
42a8e36494524ea3b30e7d628113cf08--44634b232d87434aacfc62d6bae88f33
761ff42002494827bda7077b8eade314
RX(theta₃₄)
44634b232d87434aacfc62d6bae88f33--761ff42002494827bda7077b8eade314
a7395651431644878436b1e4d58979af
761ff42002494827bda7077b8eade314--a7395651431644878436b1e4d58979af
a7395651431644878436b1e4d58979af--9813059f07374754840aae1aa887c95c
6cc8c7beaf4f4786ac0cb2d210b7b2cc
082425b11030451bb3b42ab4ba9e2f1b
RX(theta₅)
8853b6928114443299c97c5d69c47504--082425b11030451bb3b42ab4ba9e2f1b
86a2c9caa5da49dc8c3fc2a1e13707d8
RY(theta₁₁)
082425b11030451bb3b42ab4ba9e2f1b--86a2c9caa5da49dc8c3fc2a1e13707d8
97bb539acca34f80b6b74ce23be24313
RX(theta₁₇)
86a2c9caa5da49dc8c3fc2a1e13707d8--97bb539acca34f80b6b74ce23be24313
e4b1bf13ed3249829f088ae159a9550b
97bb539acca34f80b6b74ce23be24313--e4b1bf13ed3249829f088ae159a9550b
b05ba2be20e64fd197ee709994a28e03
RX(theta₂₃)
e4b1bf13ed3249829f088ae159a9550b--b05ba2be20e64fd197ee709994a28e03
1c0bd8edb8654afa80e4cf6554e228a3
RY(theta₂₉)
b05ba2be20e64fd197ee709994a28e03--1c0bd8edb8654afa80e4cf6554e228a3
ec86e6361c374f1f9edcaa247461f8b6
RX(theta₃₅)
1c0bd8edb8654afa80e4cf6554e228a3--ec86e6361c374f1f9edcaa247461f8b6
15258c14528e478e8e8b0ccc2971d1df
ec86e6361c374f1f9edcaa247461f8b6--15258c14528e478e8e8b0ccc2971d1df
15258c14528e478e8e8b0ccc2971d1df--6cc8c7beaf4f4786ac0cb2d210b7b2cc
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_7bab034d9e3e4d7f9bdd2fa7c221c051
BPMA-1
cluster_0120b2619b4247089fb0bfef25de8653
BPMA-0
888a729c5abf487bb793540e5cd5c68e
0
e3b98b923ad84d4395fca6844e0a33c4
RX(iia_α₀₀)
888a729c5abf487bb793540e5cd5c68e--e3b98b923ad84d4395fca6844e0a33c4
72514ea4cd0d47be8797bc3582a33455
1
bd18fc53c71842d78fcdc17950404315
RY(iia_α₀₃)
e3b98b923ad84d4395fca6844e0a33c4--bd18fc53c71842d78fcdc17950404315
9295f7859c854a59899e4349317ec938
bd18fc53c71842d78fcdc17950404315--9295f7859c854a59899e4349317ec938
6fd421ab82314860ae42fc8d8dc340f8
9295f7859c854a59899e4349317ec938--6fd421ab82314860ae42fc8d8dc340f8
d1483410b1d2491194388ec04b0a5714
RX(iia_γ₀₀)
6fd421ab82314860ae42fc8d8dc340f8--d1483410b1d2491194388ec04b0a5714
3b8456d3fb46492995a7a0bb2a1835e1
d1483410b1d2491194388ec04b0a5714--3b8456d3fb46492995a7a0bb2a1835e1
04d1301e330a401ab55e7b825f237f96
3b8456d3fb46492995a7a0bb2a1835e1--04d1301e330a401ab55e7b825f237f96
4ccb1ee618aa451e9f4859637b835494
RY(iia_β₀₃)
04d1301e330a401ab55e7b825f237f96--4ccb1ee618aa451e9f4859637b835494
4b70401dbf03400b8a72a6522253a3b0
RX(iia_β₀₀)
4ccb1ee618aa451e9f4859637b835494--4b70401dbf03400b8a72a6522253a3b0
87781a6bebc44642b26c91cc3c307b40
RX(iia_α₁₀)
4b70401dbf03400b8a72a6522253a3b0--87781a6bebc44642b26c91cc3c307b40
0bc03c0c4f9b4608b9d3fe642fc61add
RY(iia_α₁₃)
87781a6bebc44642b26c91cc3c307b40--0bc03c0c4f9b4608b9d3fe642fc61add
263e6e3f222c4206bf5bdae082dc5971
0bc03c0c4f9b4608b9d3fe642fc61add--263e6e3f222c4206bf5bdae082dc5971
659a57811ab946b3ab74adbfdf44bc3e
263e6e3f222c4206bf5bdae082dc5971--659a57811ab946b3ab74adbfdf44bc3e
9a7d10e85060419481e668cc456db6fc
RX(iia_γ₁₀)
659a57811ab946b3ab74adbfdf44bc3e--9a7d10e85060419481e668cc456db6fc
0729c59cd0e743b18b1e3513bd544663
9a7d10e85060419481e668cc456db6fc--0729c59cd0e743b18b1e3513bd544663
081d97ac7cb4436a874fdc4ee3566bca
0729c59cd0e743b18b1e3513bd544663--081d97ac7cb4436a874fdc4ee3566bca
a83788a68c1d4fe88e00e60c69ec5b62
RY(iia_β₁₃)
081d97ac7cb4436a874fdc4ee3566bca--a83788a68c1d4fe88e00e60c69ec5b62
121f4d6f0c78407688c33d15a0fa9e07
RX(iia_β₁₀)
a83788a68c1d4fe88e00e60c69ec5b62--121f4d6f0c78407688c33d15a0fa9e07
0427fd174ace46e08c5943d08e980fe6
121f4d6f0c78407688c33d15a0fa9e07--0427fd174ace46e08c5943d08e980fe6
a5449ae5914d42ea916d22c06536467c
afacc89e622d4f519e3153093b86629a
RX(iia_α₀₁)
72514ea4cd0d47be8797bc3582a33455--afacc89e622d4f519e3153093b86629a
0debcd7f6d504a2f9d088575b70d5dab
2
a3ba0fdeba0d4516b48bc020d4958251
RY(iia_α₀₄)
afacc89e622d4f519e3153093b86629a--a3ba0fdeba0d4516b48bc020d4958251
4c8da10d23f9487eb3e85975c7b2efbf
X
a3ba0fdeba0d4516b48bc020d4958251--4c8da10d23f9487eb3e85975c7b2efbf
4c8da10d23f9487eb3e85975c7b2efbf--9295f7859c854a59899e4349317ec938
2c63081013a54ec1a45c2b17b602e81c
4c8da10d23f9487eb3e85975c7b2efbf--2c63081013a54ec1a45c2b17b602e81c
1be62305e3ee473c9d8ccfc2b47e31a8
RX(iia_γ₀₁)
2c63081013a54ec1a45c2b17b602e81c--1be62305e3ee473c9d8ccfc2b47e31a8
a9d067c36e784da1817f308862611d43
1be62305e3ee473c9d8ccfc2b47e31a8--a9d067c36e784da1817f308862611d43
4df9cb92c2b340d7b530ae4dfff4f2d4
X
a9d067c36e784da1817f308862611d43--4df9cb92c2b340d7b530ae4dfff4f2d4
4df9cb92c2b340d7b530ae4dfff4f2d4--04d1301e330a401ab55e7b825f237f96
582e8668232c4229a5faa1ed18aa2404
RY(iia_β₀₄)
4df9cb92c2b340d7b530ae4dfff4f2d4--582e8668232c4229a5faa1ed18aa2404
7a8b412c8e904a5fa09f3b5859f435dd
RX(iia_β₀₁)
582e8668232c4229a5faa1ed18aa2404--7a8b412c8e904a5fa09f3b5859f435dd
5439f17e2abd4ed2ae3b8920789dc516
RX(iia_α₁₁)
7a8b412c8e904a5fa09f3b5859f435dd--5439f17e2abd4ed2ae3b8920789dc516
b08c9fdf9b174e8680000a581b014645
RY(iia_α₁₄)
5439f17e2abd4ed2ae3b8920789dc516--b08c9fdf9b174e8680000a581b014645
cc7d3b235f9949ca8124c60c6465e1ec
X
b08c9fdf9b174e8680000a581b014645--cc7d3b235f9949ca8124c60c6465e1ec
cc7d3b235f9949ca8124c60c6465e1ec--263e6e3f222c4206bf5bdae082dc5971
7a3700735d1446dca373cc3dfd64902c
cc7d3b235f9949ca8124c60c6465e1ec--7a3700735d1446dca373cc3dfd64902c
158729178c0c43b0b6f263cb1e743aac
RX(iia_γ₁₁)
7a3700735d1446dca373cc3dfd64902c--158729178c0c43b0b6f263cb1e743aac
0ccf5f9db86141eba28cc74b1a4973fc
158729178c0c43b0b6f263cb1e743aac--0ccf5f9db86141eba28cc74b1a4973fc
38eefa2c59034f36a02d3a5d4c4f402e
X
0ccf5f9db86141eba28cc74b1a4973fc--38eefa2c59034f36a02d3a5d4c4f402e
38eefa2c59034f36a02d3a5d4c4f402e--081d97ac7cb4436a874fdc4ee3566bca
215e74501c1b4d569f2b20e7ce5510ca
RY(iia_β₁₄)
38eefa2c59034f36a02d3a5d4c4f402e--215e74501c1b4d569f2b20e7ce5510ca
2ed329da895148329aa5b40a66ef7489
RX(iia_β₁₁)
215e74501c1b4d569f2b20e7ce5510ca--2ed329da895148329aa5b40a66ef7489
2ed329da895148329aa5b40a66ef7489--a5449ae5914d42ea916d22c06536467c
f4e6d679b4bd46c5a125040e6ea54b00
b9aae958305444d2993d96d05b08cc88
RX(iia_α₀₂)
0debcd7f6d504a2f9d088575b70d5dab--b9aae958305444d2993d96d05b08cc88
e92b0cadf30646d39718d0064339b6bb
RY(iia_α₀₅)
b9aae958305444d2993d96d05b08cc88--e92b0cadf30646d39718d0064339b6bb
33204ec68f224115bceb37886f2d0a6a
e92b0cadf30646d39718d0064339b6bb--33204ec68f224115bceb37886f2d0a6a
6487ddb95af84fd5a27b5d176c9d6030
X
33204ec68f224115bceb37886f2d0a6a--6487ddb95af84fd5a27b5d176c9d6030
6487ddb95af84fd5a27b5d176c9d6030--2c63081013a54ec1a45c2b17b602e81c
628b1e7c3afa4fcca3bdce707bc54bb8
RX(iia_γ₀₂)
6487ddb95af84fd5a27b5d176c9d6030--628b1e7c3afa4fcca3bdce707bc54bb8
46d083c961a4416fbf95016b5f52fb30
X
628b1e7c3afa4fcca3bdce707bc54bb8--46d083c961a4416fbf95016b5f52fb30
46d083c961a4416fbf95016b5f52fb30--a9d067c36e784da1817f308862611d43
f06616c13a0c4314be3346836b60a028
46d083c961a4416fbf95016b5f52fb30--f06616c13a0c4314be3346836b60a028
b66abb50c1834b848ee719ce9d42ac9f
RY(iia_β₀₅)
f06616c13a0c4314be3346836b60a028--b66abb50c1834b848ee719ce9d42ac9f
81a052970de54136a9f8848b4e6c81aa
RX(iia_β₀₂)
b66abb50c1834b848ee719ce9d42ac9f--81a052970de54136a9f8848b4e6c81aa
5bb230f8184d40e3a98c191d49305fdc
RX(iia_α₁₂)
81a052970de54136a9f8848b4e6c81aa--5bb230f8184d40e3a98c191d49305fdc
733b2e6f0ecc45d3afbe64943ff83df3
RY(iia_α₁₅)
5bb230f8184d40e3a98c191d49305fdc--733b2e6f0ecc45d3afbe64943ff83df3
01e116ee367e4fa3a9a53316d3dbc46b
733b2e6f0ecc45d3afbe64943ff83df3--01e116ee367e4fa3a9a53316d3dbc46b
d2be39294c4546b19ed28c7bf5451e0a
X
01e116ee367e4fa3a9a53316d3dbc46b--d2be39294c4546b19ed28c7bf5451e0a
d2be39294c4546b19ed28c7bf5451e0a--7a3700735d1446dca373cc3dfd64902c
404904e3a9b34d1ea9c1ea84e279cfc7
RX(iia_γ₁₂)
d2be39294c4546b19ed28c7bf5451e0a--404904e3a9b34d1ea9c1ea84e279cfc7
93270d18fd274afe8d7e9d74eefa6d77
X
404904e3a9b34d1ea9c1ea84e279cfc7--93270d18fd274afe8d7e9d74eefa6d77
93270d18fd274afe8d7e9d74eefa6d77--0ccf5f9db86141eba28cc74b1a4973fc
cca7b96aa1a24fed893c75fe15f8b4f2
93270d18fd274afe8d7e9d74eefa6d77--cca7b96aa1a24fed893c75fe15f8b4f2
856cdb35b9d94b53b42a14b0f8c9ec4b
RY(iia_β₁₅)
cca7b96aa1a24fed893c75fe15f8b4f2--856cdb35b9d94b53b42a14b0f8c9ec4b
9b24cec1922540319f63e10f2910137e
RX(iia_β₁₂)
856cdb35b9d94b53b42a14b0f8c9ec4b--9b24cec1922540319f63e10f2910137e
9b24cec1922540319f63e10f2910137e--f4e6d679b4bd46c5a125040e6ea54b00