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_4f248fda61594b0490d6efd839047b31
Constant Chebyshev FM
cluster_9b198b2f61e5422fbd56213693a09613
Constant Fourier FM
4db6c65c641f4488aaa4a1c172283bc1
0
18190d973a4447b4bde249a0cd3c9886
RX(phi)
4db6c65c641f4488aaa4a1c172283bc1--18190d973a4447b4bde249a0cd3c9886
11d4d70d57dd4314b806fbcb4db395f6
1
18f89d8e0429438980c37f7c3bb795b9
RX(acos(phi))
18190d973a4447b4bde249a0cd3c9886--18f89d8e0429438980c37f7c3bb795b9
3b00409a0889442382c4defe7777397c
18f89d8e0429438980c37f7c3bb795b9--3b00409a0889442382c4defe7777397c
6912e453bda74fd19c4d3b0e8e2a1d8e
4a05e2e3ca3149faba61bb3832ae8d4e
RX(phi)
11d4d70d57dd4314b806fbcb4db395f6--4a05e2e3ca3149faba61bb3832ae8d4e
fc31bdb051ea40b38065b0144bf09b46
2
fddfb555d05f46c6891b13f3e94cd1b5
RX(acos(phi))
4a05e2e3ca3149faba61bb3832ae8d4e--fddfb555d05f46c6891b13f3e94cd1b5
fddfb555d05f46c6891b13f3e94cd1b5--6912e453bda74fd19c4d3b0e8e2a1d8e
b00b89df88d94b3fb9e976364c126c9a
6aa57ac595904f1d915f210ed7c37e78
RX(phi)
fc31bdb051ea40b38065b0144bf09b46--6aa57ac595904f1d915f210ed7c37e78
54e6d40fc848439bbe52f5adf4d1ffd9
RX(acos(phi))
6aa57ac595904f1d915f210ed7c37e78--54e6d40fc848439bbe52f5adf4d1ffd9
54e6d40fc848439bbe52f5adf4d1ffd9--b00b89df88d94b3fb9e976364c126c9a
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_94ceb11e8a45482e9812dde95a7f0ee2
Constant <function custom_fn at 0x7fd680446d40> FM
cluster_551e0e859d7b45f9a98c67f529e338d1
Constant asin FM
374603fce2a54f57aea4691874bf73fa
0
e294e1c5cb5c49ec98f7f55f1cb59a86
RX(asin(phi))
374603fce2a54f57aea4691874bf73fa--e294e1c5cb5c49ec98f7f55f1cb59a86
9acdf01cc1f24052be5e61e0a755dab8
1
f0aa1c6f68a44b5ebaee28d3eb596fe7
RX(phi**2 + asin(phi))
e294e1c5cb5c49ec98f7f55f1cb59a86--f0aa1c6f68a44b5ebaee28d3eb596fe7
9c76e8e9fffc4dc4a49a6671394ae505
f0aa1c6f68a44b5ebaee28d3eb596fe7--9c76e8e9fffc4dc4a49a6671394ae505
b7802d1c610744429320343a00dd397e
39fbd47bf9ba4e01a0acadfb750bff59
RX(asin(phi))
9acdf01cc1f24052be5e61e0a755dab8--39fbd47bf9ba4e01a0acadfb750bff59
652526533d754ed7a976835cdf6cbe0b
2
0ee316f6b3a74a81ae0b6b50587ba728
RX(phi**2 + asin(phi))
39fbd47bf9ba4e01a0acadfb750bff59--0ee316f6b3a74a81ae0b6b50587ba728
0ee316f6b3a74a81ae0b6b50587ba728--b7802d1c610744429320343a00dd397e
1eaf5fa5a4aa498fbdca3b43a0d8e170
cf73e57113a645b2bad5a9469f45b12b
RX(asin(phi))
652526533d754ed7a976835cdf6cbe0b--cf73e57113a645b2bad5a9469f45b12b
3b906dd479f74530ab95e06399aa07e6
RX(phi**2 + asin(phi))
cf73e57113a645b2bad5a9469f45b12b--3b906dd479f74530ab95e06399aa07e6
3b906dd479f74530ab95e06399aa07e6--1eaf5fa5a4aa498fbdca3b43a0d8e170
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_0edafcc2982a4cc0a4dbe9c3496f8215
Exponential Fourier FM
cluster_c55dbe470db54d60bf9f3b9cc7b4825f
Constant Fourier FM
cluster_cb6ab145dcc8421cba15a16b5f2011ad
Tower Fourier FM
cf6e04eb601547a6a76fc7beae3c6d5a
0
558cd9e3ae9f40cd88da8bbb7c4cfbee
RX(phi)
cf6e04eb601547a6a76fc7beae3c6d5a--558cd9e3ae9f40cd88da8bbb7c4cfbee
a82e49f9d87d4867b6a3467ec156b0f7
1
f9a8ce76c0f84716860d6ceb80bc5781
RX(1.0*phi)
558cd9e3ae9f40cd88da8bbb7c4cfbee--f9a8ce76c0f84716860d6ceb80bc5781
fcd808e6947a4e20a0856f7b8002fe55
RX(1.0*phi)
f9a8ce76c0f84716860d6ceb80bc5781--fcd808e6947a4e20a0856f7b8002fe55
e05917f355684e7db75ae50fcb277ca4
fcd808e6947a4e20a0856f7b8002fe55--e05917f355684e7db75ae50fcb277ca4
3bb1537ad3fc435c898e8ad039feeae0
9db2e819a5754f519d194f2e65176d32
RX(phi)
a82e49f9d87d4867b6a3467ec156b0f7--9db2e819a5754f519d194f2e65176d32
344b541dc79c496dab3f3fed48029701
2
4441c9b8370344788bcb5a8decdd3758
RX(2.0*phi)
9db2e819a5754f519d194f2e65176d32--4441c9b8370344788bcb5a8decdd3758
c9a308e16b7c43debef0fd0663c9209e
RX(2.0*phi)
4441c9b8370344788bcb5a8decdd3758--c9a308e16b7c43debef0fd0663c9209e
c9a308e16b7c43debef0fd0663c9209e--3bb1537ad3fc435c898e8ad039feeae0
dc4dec82703b43d094ee40accce64719
69b053a76fa74ad0b85cda5f4215c5ec
RX(phi)
344b541dc79c496dab3f3fed48029701--69b053a76fa74ad0b85cda5f4215c5ec
ea116283acee4cfd8b70565c4361974d
3
023709c08b784d26b3fe4863d81e71c0
RX(3.0*phi)
69b053a76fa74ad0b85cda5f4215c5ec--023709c08b784d26b3fe4863d81e71c0
6cf1287c863e46cfba397c4a7d70e429
RX(4.0*phi)
023709c08b784d26b3fe4863d81e71c0--6cf1287c863e46cfba397c4a7d70e429
6cf1287c863e46cfba397c4a7d70e429--dc4dec82703b43d094ee40accce64719
b6b1c0b485f747488eed773d9713a007
d047bc8df4f84fb198a35d482826cdd6
RX(phi)
ea116283acee4cfd8b70565c4361974d--d047bc8df4f84fb198a35d482826cdd6
4b91ef7d345e43d5b9a3b6f8d67c77ca
4
5b36d944e6e54268a9bbb247df82028a
RX(4.0*phi)
d047bc8df4f84fb198a35d482826cdd6--5b36d944e6e54268a9bbb247df82028a
ad0fb32bd174472e8610f28534d67867
RX(8.0*phi)
5b36d944e6e54268a9bbb247df82028a--ad0fb32bd174472e8610f28534d67867
ad0fb32bd174472e8610f28534d67867--b6b1c0b485f747488eed773d9713a007
75c33f2f1c5346188596aa23a6a2b587
b283cd8ce1f34864b4acdf68322cd895
RX(phi)
4b91ef7d345e43d5b9a3b6f8d67c77ca--b283cd8ce1f34864b4acdf68322cd895
4ed9e6aa612343ccac590cc1fb4f10c7
RX(5.0*phi)
b283cd8ce1f34864b4acdf68322cd895--4ed9e6aa612343ccac590cc1fb4f10c7
be93094d64b346018448c7f84bb87a7c
RX(16.0*phi)
4ed9e6aa612343ccac590cc1fb4f10c7--be93094d64b346018448c7f84bb87a7c
be93094d64b346018448c7f84bb87a7c--75c33f2f1c5346188596aa23a6a2b587
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
7e8e813e3a3a4c4aa9d55ddf9315ba81
0
780ccc5b587341db9d566f4913429bca
RX(1.0*acos(phi))
7e8e813e3a3a4c4aa9d55ddf9315ba81--780ccc5b587341db9d566f4913429bca
ed4499a62989436b96f54eec9fddc4cb
1
2b0e0deeb9c34d3eb30e2b286897431d
780ccc5b587341db9d566f4913429bca--2b0e0deeb9c34d3eb30e2b286897431d
2c2d1eb505a44f6c882a8417d5f9d4e2
56dea5564ef1419fa81b6be976b693a5
RX(1.414*acos(phi))
ed4499a62989436b96f54eec9fddc4cb--56dea5564ef1419fa81b6be976b693a5
c42a74aa070a44709ba0b5b155501bf3
2
56dea5564ef1419fa81b6be976b693a5--2c2d1eb505a44f6c882a8417d5f9d4e2
3b2cbe98eef64817ac13089df3401ab3
1416107e3218406eb93702536b55df04
RX(1.732*acos(phi))
c42a74aa070a44709ba0b5b155501bf3--1416107e3218406eb93702536b55df04
1535b141335a49d7b6e581a845ecfa09
3
1416107e3218406eb93702536b55df04--3b2cbe98eef64817ac13089df3401ab3
cdab69d8bd5d4069b91d335d561c1c54
dc9f126977ad4a249e00cedabde616e8
RX(2.0*acos(phi))
1535b141335a49d7b6e581a845ecfa09--dc9f126977ad4a249e00cedabde616e8
c383cd2cfd7d4ab79cf1d8313d545576
4
dc9f126977ad4a249e00cedabde616e8--cdab69d8bd5d4069b91d335d561c1c54
8f323357411749dabd0b7485a4108ca5
e74c1c338e5d4358a3acbf90f950c7a2
RX(2.236*acos(phi))
c383cd2cfd7d4ab79cf1d8313d545576--e74c1c338e5d4358a3acbf90f950c7a2
e74c1c338e5d4358a3acbf90f950c7a2--8f323357411749dabd0b7485a4108ca5
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
ce3d68abd8f747418b0b3e56b88adfd6
0
2d39a6aaf20a4259af8d5e3ad9093ef2
RX(1.0*phi*w₀)
ce3d68abd8f747418b0b3e56b88adfd6--2d39a6aaf20a4259af8d5e3ad9093ef2
239590f3b33e4ab88c5b341c76cea17f
1
61dfdb564fd242a68e896013247f3c76
2d39a6aaf20a4259af8d5e3ad9093ef2--61dfdb564fd242a68e896013247f3c76
5cf19f96268c4ab181278f19bb135fde
ccf3ce3c38a0484fb303807dde12593a
RX(2.0*phi*w₁)
239590f3b33e4ab88c5b341c76cea17f--ccf3ce3c38a0484fb303807dde12593a
6e6abfaf81fa4eb98f68c214b6889641
2
ccf3ce3c38a0484fb303807dde12593a--5cf19f96268c4ab181278f19bb135fde
3c452450420c4b7191ee3e69d99be29c
a20ffdde38204a4f8cdcf3bd56d1b0d1
RX(4.0*phi*w₂)
6e6abfaf81fa4eb98f68c214b6889641--a20ffdde38204a4f8cdcf3bd56d1b0d1
e0526c22529c4d799e4a6d24467a83ab
3
a20ffdde38204a4f8cdcf3bd56d1b0d1--3c452450420c4b7191ee3e69d99be29c
3ba139d59e35443e8739b61d67ff1346
901e4f95de074309a4634ccb655ce2d0
RX(8.0*phi*w₃)
e0526c22529c4d799e4a6d24467a83ab--901e4f95de074309a4634ccb655ce2d0
444b54a246c34b1b8f6b7129d7bb744d
4
901e4f95de074309a4634ccb655ce2d0--3ba139d59e35443e8739b61d67ff1346
c3e60e449ba2437cb10ee54fcac7c388
ad974ccea5f24cbfaca8fd959be99c58
RX(16.0*phi*w₄)
444b54a246c34b1b8f6b7129d7bb744d--ad974ccea5f24cbfaca8fd959be99c58
ad974ccea5f24cbfaca8fd959be99c58--c3e60e449ba2437cb10ee54fcac7c388
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
a8ee5d15104748cfa298a326e3052495
0
dfa581b2515547e3b53db985b6feb8d5
RY(80.0*acos(w₄*(0.667*x + 1.667)))
a8ee5d15104748cfa298a326e3052495--dfa581b2515547e3b53db985b6feb8d5
7e9b686dca3b4dacabe89150d6d0717b
1
233be31e601e4909b0354d625594cff5
dfa581b2515547e3b53db985b6feb8d5--233be31e601e4909b0354d625594cff5
50474000e745410cab90675e0f73fce7
56d81ca105ac46b38ebf022987e06e3f
RY(40.0*acos(w₃*(0.667*x + 1.667)))
7e9b686dca3b4dacabe89150d6d0717b--56d81ca105ac46b38ebf022987e06e3f
b880452661054350aeb9b5cf2f072bec
2
56d81ca105ac46b38ebf022987e06e3f--50474000e745410cab90675e0f73fce7
7c6fbd774a8245bdb7950a32ef63122e
94f47fc90ed94cce810763bca89e25e4
RY(20.0*acos(w₂*(0.667*x + 1.667)))
b880452661054350aeb9b5cf2f072bec--94f47fc90ed94cce810763bca89e25e4
5ec75faa7c074de6851bc9494a9e7085
3
94f47fc90ed94cce810763bca89e25e4--7c6fbd774a8245bdb7950a32ef63122e
fe7eadd5f78741e08fa325f1fa476324
5a4babd8a7be4552a752cfb5381aa741
RY(10.0*acos(w₁*(0.667*x + 1.667)))
5ec75faa7c074de6851bc9494a9e7085--5a4babd8a7be4552a752cfb5381aa741
d06dcfb2e3ca4dd4be3d06fa4755f32f
4
5a4babd8a7be4552a752cfb5381aa741--fe7eadd5f78741e08fa325f1fa476324
5a1cc407a6094d629162223216c1b5e7
2f3dda1005ee4091bf8b30f6e99eb97a
RY(5.0*acos(w₀*(0.667*x + 1.667)))
d06dcfb2e3ca4dd4be3d06fa4755f32f--2f3dda1005ee4091bf8b30f6e99eb97a
2f3dda1005ee4091bf8b30f6e99eb97a--5a1cc407a6094d629162223216c1b5e7
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
9acabebf3bf743dda28a6bf1651237ea
0
25c5cab37ac44bf7b856cafed4a3370b
RX(theta₀)
9acabebf3bf743dda28a6bf1651237ea--25c5cab37ac44bf7b856cafed4a3370b
9eada3d9af054d989c77d8aa6ce7927f
1
ad0510ed4c75477787f6b4366ed8d397
RY(theta₃)
25c5cab37ac44bf7b856cafed4a3370b--ad0510ed4c75477787f6b4366ed8d397
e47723feab654cd7b4a03217500956ef
RX(theta₆)
ad0510ed4c75477787f6b4366ed8d397--e47723feab654cd7b4a03217500956ef
376a9f2094a346ca9af65c554a22169a
e47723feab654cd7b4a03217500956ef--376a9f2094a346ca9af65c554a22169a
a2b883893551485fbf55faa72d5e0bfa
376a9f2094a346ca9af65c554a22169a--a2b883893551485fbf55faa72d5e0bfa
c498a8541e044348ab81c43e1e8eeaf8
RX(theta₉)
a2b883893551485fbf55faa72d5e0bfa--c498a8541e044348ab81c43e1e8eeaf8
6361b0012cca4b87bbca27915d8935c8
RY(theta₁₂)
c498a8541e044348ab81c43e1e8eeaf8--6361b0012cca4b87bbca27915d8935c8
f8ae423da92d4b448616eaa11dde877f
RX(theta₁₅)
6361b0012cca4b87bbca27915d8935c8--f8ae423da92d4b448616eaa11dde877f
bd9ef1ff6b794f0f9eb5cb45222e59a7
f8ae423da92d4b448616eaa11dde877f--bd9ef1ff6b794f0f9eb5cb45222e59a7
d7d114126d874a01a0f21b4a47b015d1
bd9ef1ff6b794f0f9eb5cb45222e59a7--d7d114126d874a01a0f21b4a47b015d1
015929f223cf499081d0d18c09822e2e
d7d114126d874a01a0f21b4a47b015d1--015929f223cf499081d0d18c09822e2e
62b9a17dd7774b50a273324f1bb89bb1
323ee593ed3a4b7898ed7aca4f02fb53
RX(theta₁)
9eada3d9af054d989c77d8aa6ce7927f--323ee593ed3a4b7898ed7aca4f02fb53
abef1a42bd97428b99ba41f5ee0739ca
2
d5296f5fe28847b6a085dcdbdc5e9151
RY(theta₄)
323ee593ed3a4b7898ed7aca4f02fb53--d5296f5fe28847b6a085dcdbdc5e9151
1b56cafd6c4b4d72a72f20b356548a29
RX(theta₇)
d5296f5fe28847b6a085dcdbdc5e9151--1b56cafd6c4b4d72a72f20b356548a29
dbc6bed7b9dc43dbbf89801a0dd10113
X
1b56cafd6c4b4d72a72f20b356548a29--dbc6bed7b9dc43dbbf89801a0dd10113
dbc6bed7b9dc43dbbf89801a0dd10113--376a9f2094a346ca9af65c554a22169a
b19bbe7928ae40b4bb616440b8ef3d87
dbc6bed7b9dc43dbbf89801a0dd10113--b19bbe7928ae40b4bb616440b8ef3d87
d8f645e1bac04ad39bf107a53fe7539e
RX(theta₁₀)
b19bbe7928ae40b4bb616440b8ef3d87--d8f645e1bac04ad39bf107a53fe7539e
edb61fc969b14cad8b36e4d389aca21c
RY(theta₁₃)
d8f645e1bac04ad39bf107a53fe7539e--edb61fc969b14cad8b36e4d389aca21c
39ff12ad40cd4a44957cceae571f758c
RX(theta₁₆)
edb61fc969b14cad8b36e4d389aca21c--39ff12ad40cd4a44957cceae571f758c
5922a4da259d47c28270575fbcb551d5
X
39ff12ad40cd4a44957cceae571f758c--5922a4da259d47c28270575fbcb551d5
5922a4da259d47c28270575fbcb551d5--bd9ef1ff6b794f0f9eb5cb45222e59a7
f210f445c32f4e658c522a0b26345042
5922a4da259d47c28270575fbcb551d5--f210f445c32f4e658c522a0b26345042
f210f445c32f4e658c522a0b26345042--62b9a17dd7774b50a273324f1bb89bb1
019cfd924f8d4ddfa2f3f28c08902d09
aafa9f10c4c24197af1dca6c675d95da
RX(theta₂)
abef1a42bd97428b99ba41f5ee0739ca--aafa9f10c4c24197af1dca6c675d95da
c428fa1430d34adb9627b7c979051577
RY(theta₅)
aafa9f10c4c24197af1dca6c675d95da--c428fa1430d34adb9627b7c979051577
4833451b32cf4dcbbb09d4c58f3085b9
RX(theta₈)
c428fa1430d34adb9627b7c979051577--4833451b32cf4dcbbb09d4c58f3085b9
e03101b3329240b292afd496fde18db9
4833451b32cf4dcbbb09d4c58f3085b9--e03101b3329240b292afd496fde18db9
aa145353048f4e0f8e737b774b8e82da
X
e03101b3329240b292afd496fde18db9--aa145353048f4e0f8e737b774b8e82da
aa145353048f4e0f8e737b774b8e82da--b19bbe7928ae40b4bb616440b8ef3d87
60aa21c0cc1c49d8aa11cf7840ee430e
RX(theta₁₁)
aa145353048f4e0f8e737b774b8e82da--60aa21c0cc1c49d8aa11cf7840ee430e
300be355fa9a47aaa18643502191983b
RY(theta₁₄)
60aa21c0cc1c49d8aa11cf7840ee430e--300be355fa9a47aaa18643502191983b
a636302e56c648c48348c3ceb7d90694
RX(theta₁₇)
300be355fa9a47aaa18643502191983b--a636302e56c648c48348c3ceb7d90694
a3074faf3ed64f4bb7a79f1e65fa79dc
a636302e56c648c48348c3ceb7d90694--a3074faf3ed64f4bb7a79f1e65fa79dc
ca419773752442308ece2c20b695922a
X
a3074faf3ed64f4bb7a79f1e65fa79dc--ca419773752442308ece2c20b695922a
ca419773752442308ece2c20b695922a--f210f445c32f4e658c522a0b26345042
ca419773752442308ece2c20b695922a--019cfd924f8d4ddfa2f3f28c08902d09
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
232520fc4c4347cf9c9a9552d12a4cb7
0
90d3afd20c0445918e2d9dd93f4239d4
RX(phi₀)
232520fc4c4347cf9c9a9552d12a4cb7--90d3afd20c0445918e2d9dd93f4239d4
e09da6eafe994deea9506fcf15ba64e2
1
0dfe52646acb4ec3b0b9c18db8981c2a
RY(phi₃)
90d3afd20c0445918e2d9dd93f4239d4--0dfe52646acb4ec3b0b9c18db8981c2a
c684c1c96088400796a4afc2282d3497
RX(phi₆)
0dfe52646acb4ec3b0b9c18db8981c2a--c684c1c96088400796a4afc2282d3497
8f85d9ca324845f2a1addff42d23238f
c684c1c96088400796a4afc2282d3497--8f85d9ca324845f2a1addff42d23238f
9d1341d7cc574785b5fde4c4da0b6720
8f85d9ca324845f2a1addff42d23238f--9d1341d7cc574785b5fde4c4da0b6720
b164a146847449eeabc882be71868c12
RX(phi₉)
9d1341d7cc574785b5fde4c4da0b6720--b164a146847449eeabc882be71868c12
92fb6cf7f24e4c0f9da6ec015ad5985a
RY(phi₁₂)
b164a146847449eeabc882be71868c12--92fb6cf7f24e4c0f9da6ec015ad5985a
7038712a91454db6828897030091002f
RX(phi₁₅)
92fb6cf7f24e4c0f9da6ec015ad5985a--7038712a91454db6828897030091002f
5359be5f53264f429547df6d1b9a3d30
7038712a91454db6828897030091002f--5359be5f53264f429547df6d1b9a3d30
cb8e120d10b34772acbfeb96b9c890d9
5359be5f53264f429547df6d1b9a3d30--cb8e120d10b34772acbfeb96b9c890d9
6668685621f6453ab403d33d5336742f
cb8e120d10b34772acbfeb96b9c890d9--6668685621f6453ab403d33d5336742f
8356ab78d87441a6906380706b4e6f2d
f3644f54403d4a96b8bdf70e0c2f8722
RX(phi₁)
e09da6eafe994deea9506fcf15ba64e2--f3644f54403d4a96b8bdf70e0c2f8722
93fe6e055a0b4b83bea3bb572dc1ac90
2
a733a32815ec4c9fb0fdc5fdfeedfd9c
RY(phi₄)
f3644f54403d4a96b8bdf70e0c2f8722--a733a32815ec4c9fb0fdc5fdfeedfd9c
0995b4969aa1409a80c11ffe0b4ca74e
RX(phi₇)
a733a32815ec4c9fb0fdc5fdfeedfd9c--0995b4969aa1409a80c11ffe0b4ca74e
b0ce2879c9de477081073b7ba4bf8de5
PHASE(phi_ent₀)
0995b4969aa1409a80c11ffe0b4ca74e--b0ce2879c9de477081073b7ba4bf8de5
b0ce2879c9de477081073b7ba4bf8de5--8f85d9ca324845f2a1addff42d23238f
8a0e7a1863b341e19460d90e5075190a
b0ce2879c9de477081073b7ba4bf8de5--8a0e7a1863b341e19460d90e5075190a
519d92f0f0e14af89afe47e4bae42245
RX(phi₁₀)
8a0e7a1863b341e19460d90e5075190a--519d92f0f0e14af89afe47e4bae42245
df27579c7c0d4dce852eb201c4342029
RY(phi₁₃)
519d92f0f0e14af89afe47e4bae42245--df27579c7c0d4dce852eb201c4342029
872c45b7c563467c9547b971ebc3db6f
RX(phi₁₆)
df27579c7c0d4dce852eb201c4342029--872c45b7c563467c9547b971ebc3db6f
83ecca972a16401386585b84e2f09d0f
PHASE(phi_ent₂)
872c45b7c563467c9547b971ebc3db6f--83ecca972a16401386585b84e2f09d0f
83ecca972a16401386585b84e2f09d0f--5359be5f53264f429547df6d1b9a3d30
70851c213f584e17a257b783baebf1f5
83ecca972a16401386585b84e2f09d0f--70851c213f584e17a257b783baebf1f5
70851c213f584e17a257b783baebf1f5--8356ab78d87441a6906380706b4e6f2d
da40661960b946b38b8f6d1248d14af3
64259a81c8dd4938be51755adb7cbe7f
RX(phi₂)
93fe6e055a0b4b83bea3bb572dc1ac90--64259a81c8dd4938be51755adb7cbe7f
19b9a22cc3a24b8ca122e1cf7c4e34d1
RY(phi₅)
64259a81c8dd4938be51755adb7cbe7f--19b9a22cc3a24b8ca122e1cf7c4e34d1
53c82e606c71442a99e62b17c482cd72
RX(phi₈)
19b9a22cc3a24b8ca122e1cf7c4e34d1--53c82e606c71442a99e62b17c482cd72
9669cf2e9475488ca61d67c2353739ee
53c82e606c71442a99e62b17c482cd72--9669cf2e9475488ca61d67c2353739ee
be32266101e246a6ba5877b46719ff38
PHASE(phi_ent₁)
9669cf2e9475488ca61d67c2353739ee--be32266101e246a6ba5877b46719ff38
be32266101e246a6ba5877b46719ff38--8a0e7a1863b341e19460d90e5075190a
aa810b5036614c0d9a7e36982134756a
RX(phi₁₁)
be32266101e246a6ba5877b46719ff38--aa810b5036614c0d9a7e36982134756a
62049e230d804aca9e14f4eece002c9a
RY(phi₁₄)
aa810b5036614c0d9a7e36982134756a--62049e230d804aca9e14f4eece002c9a
3509db46f4584785b2ba0af40f05bd7a
RX(phi₁₇)
62049e230d804aca9e14f4eece002c9a--3509db46f4584785b2ba0af40f05bd7a
5b96f23e0ca04465a59ab94c82a916c5
3509db46f4584785b2ba0af40f05bd7a--5b96f23e0ca04465a59ab94c82a916c5
2e77926348034f6a963cbfcd6ef8c04f
PHASE(phi_ent₃)
5b96f23e0ca04465a59ab94c82a916c5--2e77926348034f6a963cbfcd6ef8c04f
2e77926348034f6a963cbfcd6ef8c04f--70851c213f584e17a257b783baebf1f5
2e77926348034f6a963cbfcd6ef8c04f--da40661960b946b38b8f6d1248d14af3
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_0e6aabd5e2ce4d01abb2f54a21967c93
cluster_80d3bc50fbf2492cb3be2a833b224450
131934128b3d4702bd9289e119c80a3f
0
4c2acc81119f4368915178efb055a534
RX(theta₀)
131934128b3d4702bd9289e119c80a3f--4c2acc81119f4368915178efb055a534
0bfa6d712b6540d4bb240ea45546b532
1
4a7a22aea080402986488baebba075b6
RY(theta₃)
4c2acc81119f4368915178efb055a534--4a7a22aea080402986488baebba075b6
a22d592610b3494cad6e794fdaa53a4d
RX(theta₆)
4a7a22aea080402986488baebba075b6--a22d592610b3494cad6e794fdaa53a4d
1144df4b2f2848e78c9110ec6ba04c00
HamEvo
a22d592610b3494cad6e794fdaa53a4d--1144df4b2f2848e78c9110ec6ba04c00
83674bc64e504c0d8b607ad51a6ffd31
RX(theta₉)
1144df4b2f2848e78c9110ec6ba04c00--83674bc64e504c0d8b607ad51a6ffd31
e3a56da9d87a41bd8c7c840cefc75d88
RY(theta₁₂)
83674bc64e504c0d8b607ad51a6ffd31--e3a56da9d87a41bd8c7c840cefc75d88
695f26a40f4c485a87dc60ae39cb63b2
RX(theta₁₅)
e3a56da9d87a41bd8c7c840cefc75d88--695f26a40f4c485a87dc60ae39cb63b2
54335b4bae144b92bd4cc26ec6e5d6f3
HamEvo
695f26a40f4c485a87dc60ae39cb63b2--54335b4bae144b92bd4cc26ec6e5d6f3
220f94552c9b4e4a9cb17bf6c1d77c2a
54335b4bae144b92bd4cc26ec6e5d6f3--220f94552c9b4e4a9cb17bf6c1d77c2a
00dc4506fdfa45a98eb900bb2143b5d8
44f9efb5180742dea9cfe4b5e9932d6e
RX(theta₁)
0bfa6d712b6540d4bb240ea45546b532--44f9efb5180742dea9cfe4b5e9932d6e
d0248da8c86d4b85acd5371f620a01a5
2
7a481ee8432243be8ea7d8e36074fd68
RY(theta₄)
44f9efb5180742dea9cfe4b5e9932d6e--7a481ee8432243be8ea7d8e36074fd68
37c6ed1529104fe8a9d0839e93ff45ac
RX(theta₇)
7a481ee8432243be8ea7d8e36074fd68--37c6ed1529104fe8a9d0839e93ff45ac
d2595fd0afa24234b2c7d0ad1bdac9fb
t = theta_t₀
37c6ed1529104fe8a9d0839e93ff45ac--d2595fd0afa24234b2c7d0ad1bdac9fb
b320605f2a8c416e8041b8b1b6601872
RX(theta₁₀)
d2595fd0afa24234b2c7d0ad1bdac9fb--b320605f2a8c416e8041b8b1b6601872
7a8e3005f08c4762a67c955c70afd81d
RY(theta₁₃)
b320605f2a8c416e8041b8b1b6601872--7a8e3005f08c4762a67c955c70afd81d
bc0ae6906a2844eb82edd53e9e0dc384
RX(theta₁₆)
7a8e3005f08c4762a67c955c70afd81d--bc0ae6906a2844eb82edd53e9e0dc384
01db8207939745d7b777a2da46d0d134
t = theta_t₁
bc0ae6906a2844eb82edd53e9e0dc384--01db8207939745d7b777a2da46d0d134
01db8207939745d7b777a2da46d0d134--00dc4506fdfa45a98eb900bb2143b5d8
3f33cbea6a1446749f112913b3e2098a
6ba9fbe2e34f4f48bcb36005d9af97b0
RX(theta₂)
d0248da8c86d4b85acd5371f620a01a5--6ba9fbe2e34f4f48bcb36005d9af97b0
c79aaeb81b284ebb9c83a3852945d31e
RY(theta₅)
6ba9fbe2e34f4f48bcb36005d9af97b0--c79aaeb81b284ebb9c83a3852945d31e
b7bb412f8a044a4f8ef04021375b445b
RX(theta₈)
c79aaeb81b284ebb9c83a3852945d31e--b7bb412f8a044a4f8ef04021375b445b
6d5ad815b7ff488b9436c308c21ab214
b7bb412f8a044a4f8ef04021375b445b--6d5ad815b7ff488b9436c308c21ab214
f9da00b7e39949cba1c56763b2693fb5
RX(theta₁₁)
6d5ad815b7ff488b9436c308c21ab214--f9da00b7e39949cba1c56763b2693fb5
07d47060eb9a441185926733195afcdc
RY(theta₁₄)
f9da00b7e39949cba1c56763b2693fb5--07d47060eb9a441185926733195afcdc
abd330e2f31b4a3aa86a267cbf4029f4
RX(theta₁₇)
07d47060eb9a441185926733195afcdc--abd330e2f31b4a3aa86a267cbf4029f4
52ac86bccb814a008ec8fe5735682823
abd330e2f31b4a3aa86a267cbf4029f4--52ac86bccb814a008ec8fe5735682823
52ac86bccb814a008ec8fe5735682823--3f33cbea6a1446749f112913b3e2098a
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_0c500970c2ce4f39a3c55336c8d14fc6
cluster_cc5172643f76488099698ff43ffaf79b
4fb8ae353af24910a8df018f3fa3b88b
0
544b420d78bc4419a17e7dcdfbdec69d
RX(theta₀)
4fb8ae353af24910a8df018f3fa3b88b--544b420d78bc4419a17e7dcdfbdec69d
88cd7587a4434d88820fed11a8ca8f18
1
00d7c9252e974ff5b3a01c8c8a489edb
RY(theta₆)
544b420d78bc4419a17e7dcdfbdec69d--00d7c9252e974ff5b3a01c8c8a489edb
810e221470754f96b2824643088fda5d
RX(theta₁₂)
00d7c9252e974ff5b3a01c8c8a489edb--810e221470754f96b2824643088fda5d
1bbc9c50c4e6451aa92c12581cf637d9
810e221470754f96b2824643088fda5d--1bbc9c50c4e6451aa92c12581cf637d9
2dba3d22b44f48ecaf4467b539227918
RX(theta₁₈)
1bbc9c50c4e6451aa92c12581cf637d9--2dba3d22b44f48ecaf4467b539227918
4bbc196a50c14abe9e194da12cfa7663
RY(theta₂₄)
2dba3d22b44f48ecaf4467b539227918--4bbc196a50c14abe9e194da12cfa7663
d134e3d9f893466d91bf0b8bc9578ae9
RX(theta₃₀)
4bbc196a50c14abe9e194da12cfa7663--d134e3d9f893466d91bf0b8bc9578ae9
654bedc88c9449ec91cf51c30022c0d7
d134e3d9f893466d91bf0b8bc9578ae9--654bedc88c9449ec91cf51c30022c0d7
adb52b779dc344bda157013fb1150f35
654bedc88c9449ec91cf51c30022c0d7--adb52b779dc344bda157013fb1150f35
1709a6074f364fe5a2f85931deb22949
35e7a19aeae14616b4e263f9fe197147
RX(theta₁)
88cd7587a4434d88820fed11a8ca8f18--35e7a19aeae14616b4e263f9fe197147
9a530898a4d3433989d5f98b8b03bb27
2
04fc46367dfd4e4bb24437889513dafd
RY(theta₇)
35e7a19aeae14616b4e263f9fe197147--04fc46367dfd4e4bb24437889513dafd
b641369cfe914535a4b48b5049593ed7
RX(theta₁₃)
04fc46367dfd4e4bb24437889513dafd--b641369cfe914535a4b48b5049593ed7
82048b0ee95b4762bb1de75be89bb767
b641369cfe914535a4b48b5049593ed7--82048b0ee95b4762bb1de75be89bb767
b333084837fc46dd848b249c40bb87fd
RX(theta₁₉)
82048b0ee95b4762bb1de75be89bb767--b333084837fc46dd848b249c40bb87fd
0f78bd6e7d0a4c79adf1f57ab5eef12a
RY(theta₂₅)
b333084837fc46dd848b249c40bb87fd--0f78bd6e7d0a4c79adf1f57ab5eef12a
9e5158ea0c7342c894a7dac2cc59ad52
RX(theta₃₁)
0f78bd6e7d0a4c79adf1f57ab5eef12a--9e5158ea0c7342c894a7dac2cc59ad52
db1defca3b21490baa45cc1963a4f06f
9e5158ea0c7342c894a7dac2cc59ad52--db1defca3b21490baa45cc1963a4f06f
db1defca3b21490baa45cc1963a4f06f--1709a6074f364fe5a2f85931deb22949
39c17714293347e083aecb7ecbf2fe95
cb4fa0404e164f1b9efa3c45f58b2c57
RX(theta₂)
9a530898a4d3433989d5f98b8b03bb27--cb4fa0404e164f1b9efa3c45f58b2c57
219431e54da444f1b07e82470bbca41b
3
be62c0fdbaa74a18ab1d41a2d68657ee
RY(theta₈)
cb4fa0404e164f1b9efa3c45f58b2c57--be62c0fdbaa74a18ab1d41a2d68657ee
8c2222bb572b483a908542c8c27e510f
RX(theta₁₄)
be62c0fdbaa74a18ab1d41a2d68657ee--8c2222bb572b483a908542c8c27e510f
8e5b6815844c4f5fb8e57fa1415cbac0
HamEvo
8c2222bb572b483a908542c8c27e510f--8e5b6815844c4f5fb8e57fa1415cbac0
cc931acebf75426783b8ceb3712d3992
RX(theta₂₀)
8e5b6815844c4f5fb8e57fa1415cbac0--cc931acebf75426783b8ceb3712d3992
ae4205e7b51c477a8bd1c331b8fbedf9
RY(theta₂₆)
cc931acebf75426783b8ceb3712d3992--ae4205e7b51c477a8bd1c331b8fbedf9
ba7951d7b93041b0acb31c26b8f7effe
RX(theta₃₂)
ae4205e7b51c477a8bd1c331b8fbedf9--ba7951d7b93041b0acb31c26b8f7effe
a682c7540a364209bc737e923bcde43a
HamEvo
ba7951d7b93041b0acb31c26b8f7effe--a682c7540a364209bc737e923bcde43a
a682c7540a364209bc737e923bcde43a--39c17714293347e083aecb7ecbf2fe95
d03002bb6d9a4e0f8750432b1b5a9bb6
d86119021a224ce1b5c3f27cdd9deeee
RX(theta₃)
219431e54da444f1b07e82470bbca41b--d86119021a224ce1b5c3f27cdd9deeee
914b0281a0de4569bec65abd502ba9bd
4
e88fe55faa81492db597899d85487418
RY(theta₉)
d86119021a224ce1b5c3f27cdd9deeee--e88fe55faa81492db597899d85487418
93d9147d857849b1bc28ab1f3bc5f6b4
RX(theta₁₅)
e88fe55faa81492db597899d85487418--93d9147d857849b1bc28ab1f3bc5f6b4
5d4a4ee2d86e4051a0824695b06dded8
t = theta_t₀
93d9147d857849b1bc28ab1f3bc5f6b4--5d4a4ee2d86e4051a0824695b06dded8
8ef5c63990c745809e730f95ab0783e3
RX(theta₂₁)
5d4a4ee2d86e4051a0824695b06dded8--8ef5c63990c745809e730f95ab0783e3
0928e5758a3b49ebb020c1904140c3e3
RY(theta₂₇)
8ef5c63990c745809e730f95ab0783e3--0928e5758a3b49ebb020c1904140c3e3
a8755ca5e49a44ea93249626370fafd5
RX(theta₃₃)
0928e5758a3b49ebb020c1904140c3e3--a8755ca5e49a44ea93249626370fafd5
d8436be78de64ba9ad56415c27e864a1
t = theta_t₁
a8755ca5e49a44ea93249626370fafd5--d8436be78de64ba9ad56415c27e864a1
d8436be78de64ba9ad56415c27e864a1--d03002bb6d9a4e0f8750432b1b5a9bb6
b58570e3305549ab8419d5bd46b8ce12
cc925e3f060942e19e9fcad6599266be
RX(theta₄)
914b0281a0de4569bec65abd502ba9bd--cc925e3f060942e19e9fcad6599266be
352d07e0abd14ef9b8a95bbeb282b190
5
9d395378fdb04102b03277d2d3e382e1
RY(theta₁₀)
cc925e3f060942e19e9fcad6599266be--9d395378fdb04102b03277d2d3e382e1
e582910fa5e44ddea752512ca53aee75
RX(theta₁₆)
9d395378fdb04102b03277d2d3e382e1--e582910fa5e44ddea752512ca53aee75
b33371f90c574b35b9c602cae4cbe116
e582910fa5e44ddea752512ca53aee75--b33371f90c574b35b9c602cae4cbe116
d3985cab654d48028b4b37bead5a8412
RX(theta₂₂)
b33371f90c574b35b9c602cae4cbe116--d3985cab654d48028b4b37bead5a8412
67e3ac2405e640a9af4e57d7cdae3843
RY(theta₂₈)
d3985cab654d48028b4b37bead5a8412--67e3ac2405e640a9af4e57d7cdae3843
e4c35f1871d54535865295fd6387c991
RX(theta₃₄)
67e3ac2405e640a9af4e57d7cdae3843--e4c35f1871d54535865295fd6387c991
796eb16b23414d47a752c842defd215e
e4c35f1871d54535865295fd6387c991--796eb16b23414d47a752c842defd215e
796eb16b23414d47a752c842defd215e--b58570e3305549ab8419d5bd46b8ce12
a5517ec14e3d45d7ba39fc9d14a8460d
d23c1c8953c24fd28ec8a62dcae764ab
RX(theta₅)
352d07e0abd14ef9b8a95bbeb282b190--d23c1c8953c24fd28ec8a62dcae764ab
a28f63fb992945689db1ebc1bd6ffac6
RY(theta₁₁)
d23c1c8953c24fd28ec8a62dcae764ab--a28f63fb992945689db1ebc1bd6ffac6
1daf2c735e8e4041b30cd4c2098db211
RX(theta₁₇)
a28f63fb992945689db1ebc1bd6ffac6--1daf2c735e8e4041b30cd4c2098db211
effc26290ba64e7a9ec10570a9d4d1c4
1daf2c735e8e4041b30cd4c2098db211--effc26290ba64e7a9ec10570a9d4d1c4
d3eb2d4304d147119aeb8e95697b2310
RX(theta₂₃)
effc26290ba64e7a9ec10570a9d4d1c4--d3eb2d4304d147119aeb8e95697b2310
9edf5dd361a34e91973dc4b03005e4d9
RY(theta₂₉)
d3eb2d4304d147119aeb8e95697b2310--9edf5dd361a34e91973dc4b03005e4d9
875aad2c614740a1a42eb07e5fc008cc
RX(theta₃₅)
9edf5dd361a34e91973dc4b03005e4d9--875aad2c614740a1a42eb07e5fc008cc
1dc34b93920045c796881171c492ebee
875aad2c614740a1a42eb07e5fc008cc--1dc34b93920045c796881171c492ebee
1dc34b93920045c796881171c492ebee--a5517ec14e3d45d7ba39fc9d14a8460d
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_73d4a9f8d1814756b37ac4e115bca281
BPMA-1
cluster_f81c23212ad44a21acda8acb67de3a4e
BPMA-0
4770f84e4e744dcea09556a4d3b0eaa5
0
595024ca5a5940c5a82eb535497ca24a
RX(iia_α₀₀)
4770f84e4e744dcea09556a4d3b0eaa5--595024ca5a5940c5a82eb535497ca24a
7966559152cb4279991007a55f2bbc31
1
d3dce54f557b4adf99ab32b83fd91edc
RY(iia_α₀₃)
595024ca5a5940c5a82eb535497ca24a--d3dce54f557b4adf99ab32b83fd91edc
3a1ba24f24774ea0a1387c27d5557205
d3dce54f557b4adf99ab32b83fd91edc--3a1ba24f24774ea0a1387c27d5557205
672a8c748b37435eb1f38c5b9fe6126a
3a1ba24f24774ea0a1387c27d5557205--672a8c748b37435eb1f38c5b9fe6126a
f8e3a78b83cf49cab6dd5809fafa25b1
RX(iia_γ₀₀)
672a8c748b37435eb1f38c5b9fe6126a--f8e3a78b83cf49cab6dd5809fafa25b1
c1cd9e68686c48b5a7dbfdc63c285783
f8e3a78b83cf49cab6dd5809fafa25b1--c1cd9e68686c48b5a7dbfdc63c285783
980e87319e9645bc991f0303ec06202b
c1cd9e68686c48b5a7dbfdc63c285783--980e87319e9645bc991f0303ec06202b
52ff35a2d99146d9b4f7d8822221a89b
RY(iia_β₀₃)
980e87319e9645bc991f0303ec06202b--52ff35a2d99146d9b4f7d8822221a89b
c312fe1177e141d1a12fc57268b90df4
RX(iia_β₀₀)
52ff35a2d99146d9b4f7d8822221a89b--c312fe1177e141d1a12fc57268b90df4
d6209f9b13224445ae68d0782ab452fe
RX(iia_α₁₀)
c312fe1177e141d1a12fc57268b90df4--d6209f9b13224445ae68d0782ab452fe
02eee44994224536be0a11175af1fff9
RY(iia_α₁₃)
d6209f9b13224445ae68d0782ab452fe--02eee44994224536be0a11175af1fff9
bf2d256484ba486498032522cd0a716f
02eee44994224536be0a11175af1fff9--bf2d256484ba486498032522cd0a716f
27a44e026d634c6e905fb492175e663f
bf2d256484ba486498032522cd0a716f--27a44e026d634c6e905fb492175e663f
cf629fe6fc674cc88de035bc039bb0b5
RX(iia_γ₁₀)
27a44e026d634c6e905fb492175e663f--cf629fe6fc674cc88de035bc039bb0b5
a5c765186f634ab986e8a0d65ca389a7
cf629fe6fc674cc88de035bc039bb0b5--a5c765186f634ab986e8a0d65ca389a7
12b2dceb4a534212aefd28a5858489f6
a5c765186f634ab986e8a0d65ca389a7--12b2dceb4a534212aefd28a5858489f6
d9a51531f3c5487dbedc1243694439a1
RY(iia_β₁₃)
12b2dceb4a534212aefd28a5858489f6--d9a51531f3c5487dbedc1243694439a1
fe1d1da340b34553a67ef1a42a3a86a7
RX(iia_β₁₀)
d9a51531f3c5487dbedc1243694439a1--fe1d1da340b34553a67ef1a42a3a86a7
953de2ac36fc4a448f2ca0004192d753
fe1d1da340b34553a67ef1a42a3a86a7--953de2ac36fc4a448f2ca0004192d753
dcfc3e4473214d1cae7a8bde5df3595c
97261ffed9eb4a2babd45733c93e9e77
RX(iia_α₀₁)
7966559152cb4279991007a55f2bbc31--97261ffed9eb4a2babd45733c93e9e77
68580e0857a24effb9a7e6a691a00751
2
e7b4069bc87e4b819831abefeb920a4f
RY(iia_α₀₄)
97261ffed9eb4a2babd45733c93e9e77--e7b4069bc87e4b819831abefeb920a4f
6ff0abcb320846ad914050e24b46c1a0
X
e7b4069bc87e4b819831abefeb920a4f--6ff0abcb320846ad914050e24b46c1a0
6ff0abcb320846ad914050e24b46c1a0--3a1ba24f24774ea0a1387c27d5557205
4877eea5ed874ef78dc8be216b965036
6ff0abcb320846ad914050e24b46c1a0--4877eea5ed874ef78dc8be216b965036
f73d7c25089d4767bc33d585106b7a1e
RX(iia_γ₀₁)
4877eea5ed874ef78dc8be216b965036--f73d7c25089d4767bc33d585106b7a1e
425aa788fc6c4395a59e2c8efbeb84c5
f73d7c25089d4767bc33d585106b7a1e--425aa788fc6c4395a59e2c8efbeb84c5
1f233a3b3e9d4e508ea55dde464a583e
X
425aa788fc6c4395a59e2c8efbeb84c5--1f233a3b3e9d4e508ea55dde464a583e
1f233a3b3e9d4e508ea55dde464a583e--980e87319e9645bc991f0303ec06202b
0db50c5e59074023af6cecffee7015e4
RY(iia_β₀₄)
1f233a3b3e9d4e508ea55dde464a583e--0db50c5e59074023af6cecffee7015e4
40ddb7c9119e416994420d5857270634
RX(iia_β₀₁)
0db50c5e59074023af6cecffee7015e4--40ddb7c9119e416994420d5857270634
edbd291959ad41a9b26d7a1f72d5ecc4
RX(iia_α₁₁)
40ddb7c9119e416994420d5857270634--edbd291959ad41a9b26d7a1f72d5ecc4
dc0e81ba58e8419a8d1cba52bc9fe02e
RY(iia_α₁₄)
edbd291959ad41a9b26d7a1f72d5ecc4--dc0e81ba58e8419a8d1cba52bc9fe02e
49c6c900e3db449ba80f39450a7a5289
X
dc0e81ba58e8419a8d1cba52bc9fe02e--49c6c900e3db449ba80f39450a7a5289
49c6c900e3db449ba80f39450a7a5289--bf2d256484ba486498032522cd0a716f
8ee5396f415d411d955812e7e5b01136
49c6c900e3db449ba80f39450a7a5289--8ee5396f415d411d955812e7e5b01136
33b56a4411ff4f8ab0e46f5c86ac3994
RX(iia_γ₁₁)
8ee5396f415d411d955812e7e5b01136--33b56a4411ff4f8ab0e46f5c86ac3994
39d08667da3f43b2a02c62d66874f4cd
33b56a4411ff4f8ab0e46f5c86ac3994--39d08667da3f43b2a02c62d66874f4cd
b53393025e1545efaeed686aa471012c
X
39d08667da3f43b2a02c62d66874f4cd--b53393025e1545efaeed686aa471012c
b53393025e1545efaeed686aa471012c--12b2dceb4a534212aefd28a5858489f6
08baa996a674485b870293a296a946b9
RY(iia_β₁₄)
b53393025e1545efaeed686aa471012c--08baa996a674485b870293a296a946b9
48c169aa28414dea9cbdc468353f0e80
RX(iia_β₁₁)
08baa996a674485b870293a296a946b9--48c169aa28414dea9cbdc468353f0e80
48c169aa28414dea9cbdc468353f0e80--dcfc3e4473214d1cae7a8bde5df3595c
69ad249031114990ac6b656eb46b5914
06ec186aa1794bac9853deb060b48a36
RX(iia_α₀₂)
68580e0857a24effb9a7e6a691a00751--06ec186aa1794bac9853deb060b48a36
d726256848154da1a25f2d1bb4dd267e
RY(iia_α₀₅)
06ec186aa1794bac9853deb060b48a36--d726256848154da1a25f2d1bb4dd267e
dd9c88901454422fa7e258b0980a395f
d726256848154da1a25f2d1bb4dd267e--dd9c88901454422fa7e258b0980a395f
65b07f2b5951411d8f3eb8e5c81e4f21
X
dd9c88901454422fa7e258b0980a395f--65b07f2b5951411d8f3eb8e5c81e4f21
65b07f2b5951411d8f3eb8e5c81e4f21--4877eea5ed874ef78dc8be216b965036
670f92618eba44e3a58ea0e5542e1405
RX(iia_γ₀₂)
65b07f2b5951411d8f3eb8e5c81e4f21--670f92618eba44e3a58ea0e5542e1405
c3882375e8e444c095345f0826b96209
X
670f92618eba44e3a58ea0e5542e1405--c3882375e8e444c095345f0826b96209
c3882375e8e444c095345f0826b96209--425aa788fc6c4395a59e2c8efbeb84c5
309df0caeb824f30af52e8163a1ea17f
c3882375e8e444c095345f0826b96209--309df0caeb824f30af52e8163a1ea17f
8f82a874b57d4d839edb72e4090cf37f
RY(iia_β₀₅)
309df0caeb824f30af52e8163a1ea17f--8f82a874b57d4d839edb72e4090cf37f
fe51b94335ad4d909baf89525e944981
RX(iia_β₀₂)
8f82a874b57d4d839edb72e4090cf37f--fe51b94335ad4d909baf89525e944981
4b494eb6883b4c7d8860de36dde8fac2
RX(iia_α₁₂)
fe51b94335ad4d909baf89525e944981--4b494eb6883b4c7d8860de36dde8fac2
cb33212ea0b840f3b73f3032a9bdf07c
RY(iia_α₁₅)
4b494eb6883b4c7d8860de36dde8fac2--cb33212ea0b840f3b73f3032a9bdf07c
5a009b7f618d4c2a95dcf5b3fe739548
cb33212ea0b840f3b73f3032a9bdf07c--5a009b7f618d4c2a95dcf5b3fe739548
a0dc6176049b4482a88281e9807fe862
X
5a009b7f618d4c2a95dcf5b3fe739548--a0dc6176049b4482a88281e9807fe862
a0dc6176049b4482a88281e9807fe862--8ee5396f415d411d955812e7e5b01136
5a8b8801b4394e15b0c794c20ee0b4ba
RX(iia_γ₁₂)
a0dc6176049b4482a88281e9807fe862--5a8b8801b4394e15b0c794c20ee0b4ba
a27c390ab8c64d6ca71bfcf85b6f96f3
X
5a8b8801b4394e15b0c794c20ee0b4ba--a27c390ab8c64d6ca71bfcf85b6f96f3
a27c390ab8c64d6ca71bfcf85b6f96f3--39d08667da3f43b2a02c62d66874f4cd
f26db5395a484dd8b4d73a75465f118d
a27c390ab8c64d6ca71bfcf85b6f96f3--f26db5395a484dd8b4d73a75465f118d
7ad2e2f41f3d4c9995b6bd54986407dc
RY(iia_β₁₅)
f26db5395a484dd8b4d73a75465f118d--7ad2e2f41f3d4c9995b6bd54986407dc
913fa50804aa4b73857dc1b560ba3251
RX(iia_β₁₂)
7ad2e2f41f3d4c9995b6bd54986407dc--913fa50804aa4b73857dc1b560ba3251
913fa50804aa4b73857dc1b560ba3251--69ad249031114990ac6b656eb46b5914