The code below should be put into a script and run using mpiexec. It's primary function is to pass a MPI Comm object to pygsti.algorithms.germselection.build_up_breadth
.
from __future__ import print_function
import time
import pygsti
from pygsti.modelpacks import smq2Q_XYICNOT
from pygsti.algorithms import germselection as germsel
from mpi4py import MPI
comm = MPI.COMM_WORLD
def do_greedy_germsel(target_model, forced_germs, candidate_counts,
seedStart, outFilename, comm):
#candidate_counts is a dict of keys = germ lengths, values = # of germs at that length
tStart = time.time()
candidate_germs = []
for i,(germLength, count) in enumerate(candidate_counts.items()):
if count == "all upto":
candidate_germs.extend( pygsti.circuits.list_all_circuits_without_powers_and_cycles(
target_model.operations.keys(), max_length=germLength) )
else:
candidate_germs.extend( pygsti.circuits.list_random_circuits_onelen(
target_model.operations.keys(), germLength, count, seed=seedStart+i))
available_germs = pygsti.tools.remove_duplicates( forced_germs + candidate_germs )
print("%d available germs" % len(available_germs))
germs = germsel.find_germs_breadthfirst(target_model, available_germs,
randomization_strength=1e-3, num_copies=3, seed=1234,
op_penalty=10.0, score_func='all', tol=1e-6, threshold=1e5,
pretest=False, force=forced_germs, verbosity=5, comm=comm, mem_limit=0.5*(1024**3))
if comm is None or comm.Get_rank() == 0:
print("Germs (%d) = \n" % len(germs), "\n".join(map(str,germs)))
print("Total time = %mdl" % (time.time()-tStart))
pickle.dump(germs,open(outFilename,"wb"))
return germs
#2Q case
target_model = smq2Q_XYICNOT.target_model()
forced_germs = pygsti.circuits.to_circuits([(gl,) for gl in target_model.operations.keys()]) #singletons
candidate_counts = { 3:"all upto", 4:30, 5:20, 6:20, 7:20, 8:20} # germLength:num_candidates
seedStart = 4
do_greedy_germsel(target_model, forced_germs, candidate_counts,
seedStart, "germs_EXAMPLE.pkl", comm)
201 available germs Starting germ set optimization. Lower score is better. Memory estimate of 13.6 GB (0.5 GB limit) for all-Jac mode. Memory estimate of 0.2 GB (0.5 GB limit) for single-Jac mode. Initial germ set computation Iter 1 of 6 []: Initial germ set computation Iter 2 of 6 Gxpi2:1@(1): Initial germ set computation Iter 3 of 6 Gypi2:1@(1): Initial germ set computation Iter 4 of 6 Gxpi2:0@(0): Initial germ set computation Iter 5 of 6 Gypi2:0@(0): Initial germ set computation Iter 6 of 6 Gcnot:0:1@(0,1): Outer iteration: 1 of 1282 amplified, 6 germs Inner iter over candidate germs Iter 001 of 195 []Gxpi2:1@(1): Score: major=-114.0 minor=275.75502325607374, N: 194 Inner iter over candidate germs Iter 002 of 195 []Gypi2:1@(1): Score: major=-114.0 minor=275.7522442827058, N: 194 Inner iter over candidate germs Iter 003 of 195 []Gxpi2:0@(0): Score: major=-114.0 minor=303.12985712455327, N: 194 Inner iter over candidate germs Iter 004 of 195 []Gypi2:0@(0): Score: major=-114.0 minor=359.3300959231056, N: 194 Inner iter over candidate germs Iter 005 of 195 []Gcnot:0:1@(0,1): Score: major=-114.0 minor=276.2687268384209, N: 194 Inner iter over candidate germs Iter 006 of 195 Gxpi2:1Gypi2:1@(1): Score: major=-114.0 minor=257.4426897879869, N: 194 Inner iter over candidate germs Iter 007 of 195 Gxpi2:1Gxpi2:0@(0,1): Score: major=-114.0 minor=341.5696468598107, N: 194 Inner iter over candidate germs Iter 008 of 195 Gxpi2:1Gypi2:0@(0,1): Score: major=-114.0 minor=282.33867449240967, N: 194 Inner iter over candidate germs Iter 009 of 195 Gxpi2:1Gcnot:0:1@(0,1): Score: major=-114.0 minor=577.5866443200728, N: 194 Inner iter over candidate germs Iter 010 of 195 Gypi2:1Gxpi2:0@(0,1): Score: major=-114.0 minor=294.8087354034565, N: 194 Inner iter over candidate germs Iter 011 of 195 Gypi2:1Gypi2:0@(0,1): Score: major=-114.0 minor=274.01388120453663, N: 194 Inner iter over candidate germs Iter 012 of 195 Gypi2:1Gcnot:0:1@(0,1): Score: major=-114.0 minor=292.4187770509612, N: 194 Inner iter over candidate germs Iter 013 of 195 Gxpi2:0Gypi2:0@(0): Score: major=-114.0 minor=257.14469808616434, N: 194 Inner iter over candidate germs Iter 014 of 195 Gxpi2:0Gcnot:0:1@(0,1): Score: major=-114.0 minor=295.19014734006885, N: 194 Inner iter over candidate germs Iter 015 of 195 Gypi2:0Gcnot:0:1@(0,1): Score: major=-114.0 minor=262.24440122325245, N: 194 Inner iter over candidate germs Iter 016 of 195 [][]Gxpi2:1@(1): Score: major=-104.0 minor=245.73088449107402, N: 194 Inner iter over candidate germs Iter 017 of 195 [][]Gypi2:1@(1): Score: major=-104.0 minor=236.10434931549213, N: 194 Inner iter over candidate germs Iter 018 of 195 [][]Gxpi2:0@(0): Score: major=-104.0 minor=257.4811389850849, N: 194 Inner iter over candidate germs Iter 019 of 195 [][]Gypi2:0@(0): Score: major=-104.0 minor=295.3201744814295, N: 194 Inner iter over candidate germs Iter 020 of 195 [][]Gcnot:0:1@(0,1): Score: major=-104.0 minor=274.60740870875253, N: 194 Inner iter over candidate germs Iter 021 of 195 []Gxpi2:1Gxpi2:1@(1): Score: major=-104.0 minor=453.249391861165, N: 194 Inner iter over candidate germs Iter 022 of 195 []Gxpi2:1Gypi2:1@(1): Score: major=-104.0 minor=275.15640639818923, N: 194 Inner iter over candidate germs Iter 023 of 195 []Gxpi2:1Gxpi2:0@(0,1): Score: major=-104.0 minor=304.4741877376931, N: 194 Inner iter over candidate germs Iter 024 of 195 []Gxpi2:1Gypi2:0@(0,1): Score: major=-104.0 minor=278.4412022818787, N: 194 Inner iter over candidate germs Iter 025 of 195 []Gxpi2:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=352.17218106799453, N: 194 Inner iter over candidate germs Iter 026 of 195 []Gypi2:1Gxpi2:1@(1): Score: major=-104.0 minor=266.57020870563065, N: 194 Inner iter over candidate germs Iter 027 of 195 []Gypi2:1Gypi2:1@(1): Score: major=-104.0 minor=448.3210471748148, N: 194 Inner iter over candidate germs Iter 028 of 195 []Gypi2:1Gxpi2:0@(0,1): Score: major=-104.0 minor=297.3316824804557, N: 194 Inner iter over candidate germs Iter 029 of 195 []Gypi2:1Gypi2:0@(0,1): Score: major=-104.0 minor=283.54615357574977, N: 194 Inner iter over candidate germs Iter 030 of 195 []Gypi2:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=297.1285459219355, N: 194 Inner iter over candidate germs Iter 031 of 195 []Gxpi2:0Gxpi2:1@(0,1): Score: major=-104.0 minor=307.7119918376173, N: 194 Inner iter over candidate germs Iter 032 of 195 []Gxpi2:0Gypi2:1@(0,1): Score: major=-104.0 minor=307.767484172384, N: 194 Inner iter over candidate germs Iter 033 of 195 []Gxpi2:0Gxpi2:0@(0): Score: major=-104.0 minor=410.0988255344461, N: 194 Inner iter over candidate germs Iter 034 of 195 []Gxpi2:0Gypi2:0@(0): Score: major=-104.0 minor=284.31530927417134, N: 194 Inner iter over candidate germs Iter 035 of 195 []Gxpi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=303.81022808541604, N: 194 Inner iter over candidate germs Iter 036 of 195 []Gypi2:0Gxpi2:1@(0,1): Score: major=-104.0 minor=283.58925204893234, N: 194 Inner iter over candidate germs Iter 037 of 195 []Gypi2:0Gypi2:1@(0,1): Score: major=-104.0 minor=283.3226206509188, N: 194 Inner iter over candidate germs Iter 038 of 195 []Gypi2:0Gxpi2:0@(0): Score: major=-104.0 minor=273.5504913809535, N: 194 Inner iter over candidate germs Iter 039 of 195 []Gypi2:0Gypi2:0@(0): Score: major=-104.0 minor=563.1049081486959, N: 194 Inner iter over candidate germs Iter 040 of 195 []Gypi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=277.18869907206295, N: 194 Inner iter over candidate germs Iter 041 of 195 []Gcnot:0:1Gxpi2:1@(0,1): Score: major=-104.0 minor=352.3317810063276, N: 194 Inner iter over candidate germs Iter 042 of 195 []Gcnot:0:1Gypi2:1@(0,1): Score: major=-104.0 minor=298.1019089981342, N: 194 Inner iter over candidate germs Iter 043 of 195 []Gcnot:0:1Gxpi2:0@(0,1): Score: major=-104.0 minor=309.67789479015, N: 194 Inner iter over candidate germs Iter 044 of 195 []Gcnot:0:1Gypi2:0@(0,1): Score: major=-104.0 minor=279.34781126447456, N: 194 Inner iter over candidate germs Iter 045 of 195 []Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=375.6548612782154, N: 194 Inner iter over candidate germs Iter 046 of 195 Gxpi2:1Gxpi2:1Gypi2:1@(1): Score: major=-104.0 minor=327.9840714902054, N: 194 Inner iter over candidate germs Iter 047 of 195 Gxpi2:1Gxpi2:1Gxpi2:0@(0,1): Score: major=-104.0 minor=755.1272055917946, N: 194 Inner iter over candidate germs Iter 048 of 195 Gxpi2:1Gxpi2:1Gypi2:0@(0,1): Score: major=-104.0 minor=362.97934478596034, N: 194 Inner iter over candidate germs Iter 049 of 195 Gxpi2:1Gxpi2:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=532.4198103374483, N: 194 Inner iter over candidate germs Iter 050 of 195 Gxpi2:1Gypi2:1Gypi2:1@(1): Score: major=-104.0 minor=293.57122809494916, N: 194 Inner iter over candidate germs Iter 051 of 195 Gxpi2:1Gypi2:1Gxpi2:0@(0,1): Score: major=-104.0 minor=313.06071440109497, N: 194 Inner iter over candidate germs Iter 052 of 195 Gxpi2:1Gypi2:1Gypi2:0@(0,1): Score: major=-104.0 minor=291.50473798603406, N: 194 Inner iter over candidate germs Iter 053 of 195 Gxpi2:1Gypi2:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=284.2173572664498, N: 194 Inner iter over candidate germs Iter 054 of 195 Gxpi2:1Gxpi2:0Gypi2:1@(0,1): Score: major=-104.0 minor=319.0891517686061, N: 194 Inner iter over candidate germs Iter 055 of 195 Gxpi2:1Gxpi2:0Gxpi2:0@(0,1): Score: major=-104.0 minor=540.3153010508224, N: 194 Inner iter over candidate germs Iter 056 of 195 Gxpi2:1Gxpi2:0Gypi2:0@(0,1): Score: major=-104.0 minor=336.7157072809993, N: 194 Inner iter over candidate germs Iter 057 of 195 Gxpi2:1Gxpi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=372.19137704629526, N: 194 Inner iter over candidate germs Iter 058 of 195 Gxpi2:1Gypi2:0Gypi2:1@(0,1): Score: major=-104.0 minor=274.66957692318255, N: 194 Inner iter over candidate germs Iter 059 of 195 Gxpi2:1Gypi2:0Gxpi2:0@(0,1): Score: major=-104.0 minor=350.28096814090617, N: 194 Inner iter over candidate germs Iter 060 of 195 Gxpi2:1Gypi2:0Gypi2:0@(0,1): Score: major=-104.0 minor=383.22427055934395, N: 194 Inner iter over candidate germs Iter 061 of 195 Gxpi2:1Gypi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=321.6587593118419, N: 194 Inner iter over candidate germs Iter 062 of 195 Gxpi2:1Gcnot:0:1Gypi2:1@(0,1): Score: major=-104.0 minor=290.15085601667516, N: 194 Inner iter over candidate germs Iter 063 of 195 Gxpi2:1Gcnot:0:1Gxpi2:0@(0,1): Score: major=-104.0 minor=360.71660562377974, N: 194 Inner iter over candidate germs Iter 064 of 195 Gxpi2:1Gcnot:0:1Gypi2:0@(0,1): Score: major=-104.0 minor=308.8900481389973, N: 194 Inner iter over candidate germs Iter 065 of 195 Gxpi2:1Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=3769.1180162485166, N: 194 Inner iter over candidate germs Iter 066 of 195 Gypi2:1Gypi2:1Gxpi2:0@(0,1): Score: major=-104.0 minor=452.7643899524529, N: 194 Inner iter over candidate germs Iter 067 of 195 Gypi2:1Gypi2:1Gypi2:0@(0,1): Score: major=-104.0 minor=374.97038589168807, N: 194 Inner iter over candidate germs Iter 068 of 195 Gypi2:1Gypi2:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=331.3662851574834, N: 194 Inner iter over candidate germs Iter 069 of 195 Gypi2:1Gxpi2:0Gxpi2:0@(0,1): Score: major=-104.0 minor=405.68196783233617, N: 194 Inner iter over candidate germs Iter 070 of 195 Gypi2:1Gxpi2:0Gypi2:0@(0,1): Score: major=-104.0 minor=301.8879330130442, N: 194 Inner iter over candidate germs Iter 071 of 195 Gypi2:1Gxpi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=263.89036253364696, N: 194 Inner iter over candidate germs Iter 072 of 195 Gypi2:1Gypi2:0Gxpi2:0@(0,1): Score: major=-104.0 minor=294.9421892854741, N: 194 Inner iter over candidate germs Iter 073 of 195 Gypi2:1Gypi2:0Gypi2:0@(0,1): Score: major=-104.0 minor=375.6699554342669, N: 194 Inner iter over candidate germs Iter 074 of 195 Gypi2:1Gypi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=271.0758455134012, N: 194 Inner iter over candidate germs Iter 075 of 195 Gypi2:1Gcnot:0:1Gxpi2:0@(0,1): Score: major=-104.0 minor=267.7463780515304, N: 194 Inner iter over candidate germs Iter 076 of 195 Gypi2:1Gcnot:0:1Gypi2:0@(0,1): Score: major=-104.0 minor=262.38089131433765, N: 194 Inner iter over candidate germs Iter 077 of 195 Gypi2:1Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=908.7073076764865, N: 194 Inner iter over candidate germs Iter 078 of 195 Gxpi2:0Gxpi2:0Gypi2:0@(0): Score: major=-104.0 minor=295.2464245465842, N: 194 Inner iter over candidate germs Iter 079 of 195 Gxpi2:0Gxpi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=362.2094815521802, N: 194 Inner iter over candidate germs Iter 080 of 195 Gxpi2:0Gypi2:0Gypi2:0@(0): Score: major=-104.0 minor=308.6963511258912, N: 194 Inner iter over candidate germs Iter 081 of 195 Gxpi2:0Gypi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=291.8901699683321, N: 194 Inner iter over candidate germs Iter 082 of 195 Gxpi2:0Gcnot:0:1Gypi2:0@(0,1): Score: major=-104.0 minor=295.8368173452569, N: 194 Inner iter over candidate germs Iter 083 of 195 Gxpi2:0Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=403.6870514762408, N: 194 Inner iter over candidate germs Iter 084 of 195 Gypi2:0Gypi2:0Gcnot:0:1@(0,1): Score: major=-104.0 minor=298.6783305816116, N: 194 Inner iter over candidate germs Iter 085 of 195 Gypi2:0Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-104.0 minor=374.6045132030695, N: 194 Inner iter over candidate germs Iter 086 of 195 Gxpi2:1Gcnot:0:1Gxpi2:1Gcnot:0:1@(0,1): Score: major=-94.0 minor=577.5866443200727, N: 194 Inner iter over candidate germs Iter 087 of 195 Gypi2:1Gxpi2:0Gypi2:0Gxpi2:0@(0,1): Score: major=-94.0 minor=308.1769913484613, N: 194 Inner iter over candidate germs Iter 088 of 195 Gxpi2:1Gxpi2:1[]Gypi2:0@(0,1): Score: major=-94.0 minor=320.52573988523926, N: 194 Inner iter over candidate germs Iter 089 of 195 Gypi2:1[]Gcnot:0:1Gxpi2:1@(0,1): Score: major=-94.0 minor=316.46872537247805, N: 194 Inner iter over candidate germs Iter 090 of 195 Gypi2:1Gxpi2:1Gxpi2:0Gxpi2:0@(0,1): Score: major=-94.0 minor=392.72591920193804, N: 194 Inner iter over candidate germs Iter 091 of 195 Gxpi2:0Gxpi2:1Gxpi2:1Gxpi2:1@(0,1): Score: major=-94.0 minor=458.3667868832161, N: 194 Inner iter over candidate germs Iter 092 of 195 Gxpi2:1[][]Gcnot:0:1@(0,1): Score: major=-94.0 minor=298.16427513311606, N: 194 Inner iter over candidate germs Iter 093 of 195 Gcnot:0:1Gxpi2:1[]Gxpi2:1@(0,1): Score: major=-94.0 minor=397.34391985713916, N: 194 Inner iter over candidate germs Iter 094 of 195 Gypi2:0Gypi2:0[]Gxpi2:0@(0): Score: major=-94.0 minor=351.3000547622187, N: 194 Inner iter over candidate germs Iter 095 of 195 []Gxpi2:0Gxpi2:0Gcnot:0:1@(0,1): Score: major=-94.0 minor=362.99723348062093, N: 194 Inner iter over candidate germs Iter 096 of 195 Gxpi2:1Gypi2:0Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-94.0 minor=349.3918897693615, N: 194 Inner iter over candidate germs Iter 097 of 195 []Gypi2:1Gcnot:0:1Gypi2:1@(0,1): Score: major=-94.0 minor=326.817006563792, N: 194 Inner iter over candidate germs Iter 098 of 195 Gypi2:0Gxpi2:0Gypi2:0Gypi2:1@(0,1): Score: major=-94.0 minor=304.41554827777804, N: 194 Inner iter over candidate germs Iter 099 of 195 [][][]Gxpi2:1@(1): Score: major=-94.0 minor=238.7930965911735, N: 194 Inner iter over candidate germs Iter 100 of 195 Gcnot:0:1Gxpi2:0Gypi2:0Gxpi2:0@(0,1): Score: major=-94.0 minor=338.5290985545118, N: 194 Inner iter over candidate germs Iter 101 of 195 Gxpi2:0Gypi2:0Gcnot:0:1Gcnot:0:1@(0,1): Score: major=-94.0 minor=318.0378405468122, N: 194 Inner iter over candidate germs Iter 102 of 195 Gypi2:0[]Gypi2:1[]@(0,1): Score: major=-94.0 minor=285.29173900315766, N: 194 Inner iter over candidate germs Iter 103 of 195 Gxpi2:0Gypi2:0[]Gxpi2:1@(0,1): Score: major=-94.0 minor=331.88078535666017, N: 194 Inner iter over candidate germs Iter 104 of 195 Gypi2:1Gxpi2:1Gypi2:0Gypi2:1@(0,1): Score: major=-94.0 minor=284.45425983306416, N: 194 Inner iter over candidate germs Iter 105 of 195 Gxpi2:0Gypi2:1Gxpi2:0Gcnot:0:1@(0,1): Score: major=-94.0 minor=309.6276688870052, N: 194 Inner iter over candidate germs Iter 106 of 195 Gcnot:0:1[]Gcnot:0:1Gypi2:1@(0,1): Score: major=-94.0 minor=411.6446140183881, N: 194 Inner iter over candidate germs Iter 107 of 195 []Gypi2:1Gxpi2:0Gcnot:0:1@(0,1): Score: major=-94.0 minor=295.3713752850506, N: 194 Inner iter over candidate germs Iter 108 of 195 Gypi2:1[]Gcnot:0:1[]@(0,1): Score: major=-94.0 minor=284.9049325856405, N: 194 Inner iter over candidate germs Iter 109 of 195 Gypi2:1Gcnot:0:1Gxpi2:0Gypi2:1@(0,1): Score: major=-94.0 minor=284.6340341715858, N: 194 Inner iter over candidate germs Iter 110 of 195 Gypi2:0[]Gxpi2:0Gypi2:1@(0,1): Score: major=-94.0 minor=314.18422001916264, N: 194 Inner iter over candidate germs Iter 111 of 195 Gcnot:0:1Gypi2:0[]Gxpi2:1@(0,1): Score: major=-94.0 minor=327.2175177518719, N: 194 Inner iter over candidate germs Iter 112 of 195 Gypi2:1Gypi2:0Gxpi2:1Gypi2:1@(0,1): Score: major=-94.0 minor=298.3837522963494, N: 194 Inner iter over candidate germs Iter 113 of 195 Gcnot:0:1Gcnot:0:1Gypi2:1Gcnot:0:1@(0,1): Score: major=-94.0 minor=379.95901181922903, N: 194 Inner iter over candidate germs Iter 114 of 195 Gxpi2:1[]Gxpi2:0Gxpi2:0@(0,1): Score: major=-94.0 minor=448.9009890713226, N: 194 Inner iter over candidate germs Iter 115 of 195 Gcnot:0:1Gcnot:0:1Gypi2:0Gypi2:0@(0,1): Score: major=-94.0 minor=443.26152607568946, N: 194 Inner iter over candidate germs Iter 116 of 195 Gcnot:0:1Gxpi2:1Gypi2:0[][]@(0,1): Score: major=-84.0 minor=298.67107136817015, N: 194 Inner iter over candidate germs Iter 117 of 195 Gxpi2:0Gxpi2:0Gypi2:1Gypi2:1Gxpi2:0@(0,1): Score: major=-84.0 minor=376.0305516180176, N: 194 Inner iter over candidate germs Iter 118 of 195 Gypi2:1Gypi2:0Gxpi2:0Gxpi2:0Gxpi2:0@(0,1): Score: major=-84.0 minor=353.9303258750909, N: 194 Inner iter over candidate germs Iter 119 of 195 Gcnot:0:1Gypi2:0Gypi2:1Gcnot:0:1Gypi2:0@(0,1): Score: major=-84.0 minor=357.2009523265197, N: 194 Inner iter over candidate germs Iter 120 of 195 []Gypi2:0Gypi2:0Gypi2:0Gypi2:0@(0): Score: major=-84.0 minor=971.0785500373642, N: 194 Inner iter over candidate germs Iter 121 of 195 Gxpi2:0[]Gcnot:0:1Gypi2:1Gxpi2:1@(0,1): Score: major=-84.0 minor=331.8875279858153, N: 194 Inner iter over candidate germs Iter 122 of 195 Gypi2:0Gcnot:0:1Gxpi2:1Gypi2:0Gxpi2:0@(0,1): Score: major=-84.0 minor=332.42593323110407, N: 194 Inner iter over candidate germs Iter 123 of 195 Gypi2:0Gcnot:0:1Gypi2:1Gxpi2:1Gypi2:1@(0,1): Score: major=-84.0 minor=328.7369430334087, N: 194 Inner iter over candidate germs Iter 124 of 195 Gypi2:0Gypi2:0Gypi2:1Gcnot:0:1Gypi2:1@(0,1): Score: major=-84.0 minor=313.5420416767267, N: 194 Inner iter over candidate germs Iter 125 of 195 Gypi2:1Gypi2:0[]Gypi2:1Gypi2:0@(0,1): Score: major=-84.0 minor=510.95763416505764, N: 194 Inner iter over candidate germs Iter 126 of 195 Gypi2:0Gxpi2:1Gxpi2:1Gypi2:1Gypi2:1@(0,1): Score: major=-84.0 minor=330.6930757688388, N: 194 Inner iter over candidate germs Iter 127 of 195 Gypi2:0Gxpi2:1Gxpi2:1Gcnot:0:1Gxpi2:0@(0,1): Score: major=-84.0 minor=386.17166777276225, N: 194 Inner iter over candidate germs Iter 128 of 195 Gcnot:0:1Gcnot:0:1Gcnot:0:1Gxpi2:1Gxpi2:0@(0,1): Score: major=-84.0 minor=364.0653495784519, N: 194 Inner iter over candidate germs Iter 129 of 195 Gypi2:1Gypi2:1Gypi2:0Gypi2:0Gypi2:0@(0,1): Score: major=-84.0 minor=341.94058483065515, N: 194 Inner iter over candidate germs Iter 130 of 195 []Gypi2:0[]Gxpi2:1Gcnot:0:1@(0,1): Score: major=-84.0 minor=314.3592787510886, N: 194 Inner iter over candidate germs Iter 131 of 195 Gypi2:1[]Gypi2:0[]Gxpi2:0@(0,1): Score: major=-84.0 minor=309.35710771636286, N: 194 Inner iter over candidate germs Iter 132 of 195 Gxpi2:1[]Gcnot:0:1[]Gxpi2:0@(0,1): Score: major=-84.0 minor=343.8850032630201, N: 194 Inner iter over candidate germs Iter 133 of 195 Gypi2:1Gxpi2:0Gcnot:0:1Gxpi2:0Gxpi2:0@(0,1): Score: major=-84.0 minor=358.3346585933009, N: 194 Inner iter over candidate germs Iter 134 of 195 []Gypi2:0Gxpi2:1Gypi2:1[]@(0,1): Score: major=-84.0 minor=317.46573244728836, N: 194 Inner iter over candidate germs Iter 135 of 195 Gxpi2:1Gcnot:0:1Gxpi2:0Gxpi2:0Gypi2:1@(0,1): Score: major=-84.0 minor=317.6249069120215, N: 194 Inner iter over candidate germs Iter 136 of 195 []Gypi2:0Gypi2:1Gypi2:0Gcnot:0:1Gxpi2:0@(0,1): Score: major=-74.0 minor=347.9345853492575, N: 194 Inner iter over candidate germs Iter 137 of 195 Gxpi2:0[]Gxpi2:1Gypi2:1Gypi2:0Gypi2:0@(0,1): Score: major=-74.0 minor=360.91563844275487, N: 194 Inner iter over candidate germs Iter 138 of 195 Gypi2:1[]Gxpi2:1Gcnot:0:1Gxpi2:1Gypi2:1@(0,1): Score: major=-74.0 minor=356.85142056531583, N: 194 Inner iter over candidate germs Iter 139 of 195 Gcnot:0:1[]Gxpi2:0Gcnot:0:1Gxpi2:1Gxpi2:0@(0,1): Score: major=-74.0 minor=405.6761117015897, N: 194 Inner iter over candidate germs Iter 140 of 195 Gcnot:0:1[]Gxpi2:0Gypi2:0Gypi2:0Gypi2:1@(0,1): Score: major=-74.0 minor=341.8855929724163, N: 194 Inner iter over candidate germs Iter 141 of 195 Gxpi2:1Gypi2:1Gypi2:1Gypi2:1Gypi2:1Gcnot:0:1@(0,1): Score: major=-74.0 minor=934.8013754058892, N: 194 Inner iter over candidate germs Iter 142 of 195 Gypi2:0Gxpi2:1Gxpi2:0Gxpi2:1Gypi2:1Gypi2:1@(0,1): Score: major=-74.0 minor=357.50310312352957, N: 194 Inner iter over candidate germs Iter 143 of 195 Gxpi2:0Gypi2:1Gypi2:1Gypi2:0Gypi2:1Gcnot:0:1@(0,1): Score: major=-74.0 minor=352.4400728271357, N: 194 Inner iter over candidate germs Iter 144 of 195 Gxpi2:1Gypi2:0Gypi2:1Gypi2:1Gxpi2:0Gxpi2:0@(0,1): Score: major=-74.0 minor=341.6038929208077, N: 194 Inner iter over candidate germs Iter 145 of 195 Gypi2:1[][]Gypi2:0Gxpi2:0Gypi2:0@(0,1): Score: major=-74.0 minor=305.2025971423251, N: 194 Inner iter over candidate germs Iter 146 of 195 Gcnot:0:1Gypi2:0[]Gxpi2:1Gxpi2:0Gxpi2:1@(0,1): Score: major=-74.0 minor=412.51648280613034, N: 194 Inner iter over candidate germs Iter 147 of 195 Gcnot:0:1Gcnot:0:1Gcnot:0:1Gypi2:1Gcnot:0:1[]@(0,1): Score: major=-74.0 minor=519.5115697217947, N: 194 Inner iter over candidate germs Iter 148 of 195 Gxpi2:1Gypi2:1Gypi2:0Gypi2:1[]Gypi2:1@(0,1): Score: major=-74.0 minor=354.16166410496834, N: 194 Inner iter over candidate germs Iter 149 of 195 Gxpi2:1Gxpi2:1[]Gypi2:1Gypi2:1Gypi2:0@(0,1): Score: major=-74.0 minor=363.7958705961543, N: 194 Inner iter over candidate germs Iter 150 of 195 Gypi2:0Gxpi2:0Gypi2:1Gypi2:0Gcnot:0:1Gypi2:0@(0,1): Score: major=-74.0 minor=351.09578203817057, N: 194 Inner iter over candidate germs Iter 151 of 195 Gypi2:0Gcnot:0:1[]Gcnot:0:1Gxpi2:1Gypi2:1@(0,1): Score: major=-74.0 minor=392.88799999564435, N: 194 Inner iter over candidate germs Iter 152 of 195 Gypi2:0Gypi2:0[]Gxpi2:0[]Gypi2:1@(0,1): Score: major=-74.0 minor=350.1531357398894, N: 194 Inner iter over candidate germs Iter 153 of 195 Gypi2:0Gypi2:1Gxpi2:0Gypi2:0Gypi2:0Gypi2:0@(0,1): Score: major=-74.0 minor=490.8439238156233, N: 194 Inner iter over candidate germs Iter 154 of 195 []Gypi2:1Gypi2:1[]Gxpi2:0Gxpi2:0@(0,1): Score: major=-74.0 minor=342.4051974490339, N: 194 Inner iter over candidate germs Iter 155 of 195 Gypi2:0Gcnot:0:1[]Gxpi2:1Gxpi2:0[]@(0,1): Score: major=-74.0 minor=355.1432533235403, N: 194 Inner iter over candidate germs Iter 156 of 195 Gcnot:0:1Gcnot:0:1Gcnot:0:1Gxpi2:0Gxpi2:1[]Gypi2:1@(0,1): Score: major=-64.0 minor=364.36060753437016, N: 194 Inner iter over candidate germs Iter 157 of 195 Gypi2:1Gxpi2:0Gypi2:1Gxpi2:0Gxpi2:0Gypi2:0Gypi2:0@(0,1): Score: major=-64.0 minor=399.4100208226087, N: 194 Inner iter over candidate germs Iter 158 of 195 Gxpi2:0Gypi2:1Gxpi2:1Gcnot:0:1Gypi2:1Gxpi2:1[]@(0,1): Score: major=-64.0 minor=371.9445531441971, N: 194 Inner iter over candidate germs Iter 159 of 195 Gcnot:0:1[]Gxpi2:1[]Gxpi2:1Gypi2:1Gcnot:0:1@(0,1): Score: major=-64.0 minor=372.6746297025966, N: 194 Inner iter over candidate germs Iter 160 of 195 Gypi2:1Gcnot:0:1[]Gypi2:1Gypi2:1Gypi2:0Gcnot:0:1@(0,1): Score: major=-64.0 minor=465.6885939936185, N: 194 Inner iter over candidate germs Iter 161 of 195 Gxpi2:1Gypi2:1Gxpi2:1Gypi2:0Gxpi2:0[]Gxpi2:0@(0,1): Score: major=-64.0 minor=374.7441246590539, N: 194 Inner iter over candidate germs Iter 162 of 195 Gypi2:0[]Gypi2:1Gypi2:0Gcnot:0:1Gxpi2:0[]@(0,1): Score: major=-64.0 minor=363.4551127114756, N: 194 Inner iter over candidate germs Iter 163 of 195 Gypi2:1Gxpi2:1Gxpi2:0Gxpi2:1[]Gxpi2:0[]@(0,1): Score: major=-64.0 minor=429.2055929849511, N: 194 Inner iter over candidate germs Iter 164 of 195 Gypi2:0Gcnot:0:1Gcnot:0:1Gypi2:1Gxpi2:0Gxpi2:0Gxpi2:0@(0,1): Score: major=-64.0 minor=433.2928794063891, N: 194 Inner iter over candidate germs Iter 165 of 195 Gypi2:1[][]Gypi2:1Gypi2:1Gxpi2:1Gxpi2:0@(0,1): Score: major=-64.0 minor=352.9182571100688, N: 194 Inner iter over candidate germs Iter 166 of 195 Gxpi2:0Gypi2:0Gxpi2:1Gypi2:1Gypi2:0Gxpi2:0Gypi2:0@(0,1): Score: major=-64.0 minor=411.42289236289804, N: 194 Inner iter over candidate germs Iter 167 of 195 Gxpi2:0Gypi2:0Gypi2:0Gcnot:0:1Gxpi2:1Gxpi2:1Gypi2:1@(0,1): Score: major=-64.0 minor=367.8169072770399, N: 194 Inner iter over candidate germs Iter 168 of 195 Gypi2:1Gxpi2:0Gypi2:0Gxpi2:0Gcnot:0:1Gypi2:0Gxpi2:1@(0,1): Score: major=-64.0 minor=366.25757479214724, N: 194 Inner iter over candidate germs Iter 169 of 195 Gxpi2:0Gxpi2:0Gypi2:0Gypi2:0Gxpi2:1[]Gxpi2:0@(0,1): Score: major=-64.0 minor=465.6852303340242, N: 194 Inner iter over candidate germs Iter 170 of 195 []Gypi2:0Gxpi2:0Gcnot:0:1Gcnot:0:1Gxpi2:1Gcnot:0:1@(0,1):
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) <ipython-input-1-418549cf6e2b> in <module> 42 candidate_counts = { 3:"all upto", 4:30, 5:20, 6:20, 7:20, 8:20} # germLength:num_candidates 43 seedStart = 4 ---> 44 do_greedy_germsel(target_model, forced_germs, candidate_counts, 45 seedStart, "germs_EXAMPLE.pkl", comm) <ipython-input-1-418549cf6e2b> in do_greedy_germsel(target_model, forced_germs, candidate_counts, seedStart, outFilename, comm) 26 available_germs = pygsti.tools.remove_duplicates( forced_germs + candidate_germs ) 27 print("%d available germs" % len(available_germs)) ---> 28 germs = germsel.find_germs_breadthfirst(target_model, available_germs, 29 randomization_strength=1e-3, num_copies=3, seed=1234, 30 op_penalty=10.0, score_func='all', tol=1e-6, threshold=1e5, ~/pyGSTi/pygsti/algorithms/germselection.py in find_germs_breadthfirst(model_list, germs_list, randomize, randomization_strength, num_copies, seed, op_penalty, score_func, tol, threshold, check, force, pretest, mem_limit, comm, profiler, verbosity) 1565 _np.array([len(germ) for germ in 1566 (goodGerms + [germs_list[candidateGermIdx]])]) -> 1567 worstScore = max(worstScore, compute_composite_germ_set_score( 1568 partial_deriv_dagger_deriv=testDDD[None, :, :], init_n=initN, 1569 **nonAC_kwargs)) ~/pyGSTi/pygsti/algorithms/germselection.py in compute_composite_germ_set_score(score_fn, threshold_ac, init_n, partial_deriv_dagger_deriv, model, partial_germs_list, eps, num_gauge_params, op_penalty, germ_lengths, l1_penalty) 490 491 combinedDDD = _np.sum(partial_deriv_dagger_deriv, axis=0) --> 492 sortedEigenvals = _np.sort(_np.real(_nla.eigvalsh(combinedDDD))) 493 observableEigenvals = sortedEigenvals[num_gauge_params:] 494 N_AC = 0 <__array_function__ internals> in eigvalsh(*args, **kwargs) ~/.pyenv/versions/3.8.5/lib/python3.8/site-packages/numpy/linalg/linalg.py in eigvalsh(a, UPLO) 1174 t, result_t = _commonType(a) 1175 signature = 'D->d' if isComplexType(t) else 'd->d' -> 1176 w = gufunc(a, signature=signature, extobj=extobj) 1177 return w.astype(_realType(result_t), copy=False) 1178 KeyboardInterrupt:
Above is keyboard-interrupted on purpose, as this output was produced with a single processor and it would have taken a very long time.