Current task: —

E-022-spectral-measure.py

Experiments: E-022 · script updated 08-19-2026

E-022-spectral-measure.csv — 153.1 KB, updated 08-19-2026

page 1 of 8 · 500/page · 3815 rows next →
# akz_kw_k
2 4 1 1.126073400698 1.3150969738e-01
3 4 2 1.936008038247 1.2740670325e-01
4 4 3 2.732694368566 1.2636621211e-01
5 4 4 3.525210874953 1.2595312341e-01
6 4 5 4.315900171424 1.2575252173e-01
7 4 6 5.105657834108 1.2564554270e-01
8 4 7 5.894913599662 1.2558829852e-01
9 4 8 6.683914401274 1.2556250831e-01
10 4 9 7.472831226972 1.2556100101e-01
11 4 10 8.261811860851 1.2558322675e-01
12 4 11 9.051019751986 1.2563499919e-01
13 4 12 9.840682412767 1.2573202239e-01
14 4 13 10.631188000706 1.2591308387e-01
15 4 14 11.423335439498 1.2628281622e-01
16 4 15 12.219198761634 1.2720705733e-01
17 4 16 13.026769688219 1.3082036040e-01
18 4 17 14.023520678236 7.4562634887e-01
19 4 18 14.318494499143 4.8317221263e-01
20 4 19 15.293885607707 1.3081752958e-01
21 4 20 16.101786100544 1.2729956533e-01
22 4 21 16.898446754006 1.2644831498e-01
23 4 22 17.691931600186 1.2618381164e-01
24 4 23 18.484669367837 1.2619664153e-01
25 4 24 19.278465403299 1.2656797621e-01
26 4 25 20.077767583641 1.2838024329e-01
27 4 26 20.998876808348 1.1010029703e+00
28 4 27 21.584644069573 1.4137439081e-01
29 4 28 22.408773728392 1.2792693910e-01
30 4 29 23.209795949755 1.2743931654e-01
31 4 30 24.015305976659 1.2973596313e-01
32 4 31 24.974079880271 1.0654312715e+00
33 4 32 25.459337224345 1.7137738089e-01
34 4 33 26.320677650424 1.2896061921e-01
35 4 34 27.122885874619 1.2694305519e-01
36 4 35 27.918817668261 1.2653281929e-01
37 4 36 28.714013503756 1.2668827353e-01
38 4 37 29.512796281109 1.2797203865e-01
39 4 38 30.408651023660 1.1143997676e+00
40 4 39 31.062578881866 1.3372112514e-01
41 4 40 31.885415199595 1.3151295775e-01
42 4 41 32.876666319498 9.8703156710e-01
43 4 42 33.262749009879 2.4598059561e-01
44 4 43 34.178600582902 1.3060644943e-01
45 4 44 34.988031999061 1.2788597841e-01
46 4 45 35.790421171366 1.2779685595e-01
47 4 46 36.598031219834 1.3004332874e-01
48 4 47 37.552927687540 1.0775199238e+00
49 4 48 38.067850708356 1.6236947810e-01
50 4 49 38.927649473319 1.3068092697e-01
51 4 50 39.750027068041 1.3256944188e-01
52 4 51 40.739600779939 5.0729161462e-01
53 4 52 41.037561317314 7.2474979169e-01
54 4 53 42.055098218874 1.3587157812e-01
55 4 54 42.986413745455 2.4004485802e-01
56 4 55 43.384192985687 9.9556411495e-01
57 4 56 44.377326364792 1.3147744678e-01
58 4 57 45.190637795950 1.2845268450e-01
59 4 58 45.996483317830 1.2844013216e-01
60 4 59 46.809759537040 1.3151567494e-01
61 4 60 47.770221275034 3.7114503766e-01
62 4 61 48.092490336667 8.6038537067e-01
63 4 62 49.105451012138 1.3602616821e-01
64 4 63 49.788419654876 1.1180896725e+00
65 4 64 50.680697489760 1.2829564168e-01
66 4 65 51.481686596016 1.2724928330e-01
67 4 66 52.283278834205 1.2894973814e-01
68 4 67 52.981304056158 1.1207292208e+00
69 4 68 53.849638784138 1.2747069460e-01
70 4 69 54.648606438486 1.2738010968e-01
71 4 70 55.453404025106 1.2972083673e-01
72 4 71 56.410187351478 1.0677478162e+00
73 4 72 56.900094197862 1.6942860172e-01
74 4 73 57.759554106506 1.2901921556e-01
75 4 74 58.561525517517 1.2709357412e-01
76 4 75 59.348309134753 1.1269080719e+00
77 4 76 60.159024137605 1.2943983933e-01
78 4 77 60.843979092039 1.1192072302e+00
79 4 78 61.717645976414 1.2746819540e-01
80 4 79 62.514448814611 1.2674153418e-01
81 4 80 63.311443051625 1.2722921086e-01
82 4 81 64.115905559840 1.3014052765e-01
83 4 82 65.075733771066 1.0663371254e+00
84 4 83 65.565146068746 1.7208947137e-01
85 4 84 66.441910300214 1.3587752054e-01
86 4 85 67.096585830474 1.1141933794e+00
87 4 86 67.996294989017 1.2853275463e-01
88 4 87 68.796480035075 1.2733073989e-01
89 4 88 69.551188361421 1.1254235067e+00
90 4 89 70.381485842942 1.2696616531e-01
91 4 90 71.178341837894 1.2786982738e-01
92 4 91 72.054670472848 1.1193636506e+00
93 4 92 72.740091553286 1.3047277859e-01
94 4 93 73.546710204438 1.2808293551e-01
95 4 94 74.354564506743 1.3022569897e-01
96 4 95 75.215073537372 1.6395099399e-01
97 4 96 75.739621987192 1.0816363376e+00
98 4 97 76.835169724346 2.7945397813e-01
99 4 98 77.212440220319 9.6004146826e-01
100 4 99 78.232242428785 1.3695237164e-01
101 4 100 79.253474622315 8.8255782911e-01
102 4 101 79.586331059637 3.5143364771e-01
103 4 102 80.544317556758 1.3237521303e-01
104 4 103 81.358323919004 1.2905341353e-01
105 4 104 82.163516713287 1.2834705490e-01
106 4 105 82.916149951832 1.1269086479e+00
107 4 106 83.766232671166 1.3096188253e-01
108 4 107 84.708061020307 1.0943666001e+00
109 4 108 85.272860954400 1.5026826241e-01
110 4 109 86.126934360505 1.3385988304e-01
111 4 110 87.038010064343 2.1330678551e-01
112 4 111 87.477238627833 1.0306954504e+00
113 4 112 88.668765448977 6.5541944318e-01
114 4 113 88.967995742568 5.8120773003e-01
115 4 114 89.969176766821 1.3359599892e-01
116 4 115 90.787310682979 1.2939945362e-01
117 4 116 91.592772161137 1.2967878844e-01
118 4 117 92.479149199733 1.1209938105e+00
119 4 118 93.169814209339 1.3231225610e-01
120 4 119 93.996168432417 1.3543282015e-01
121 4 120 94.668141730948 1.1212000668e+00
122 4 121 95.776743466501 8.4052257610e-01
123 4 122 96.096923355455 3.9495379739e-01
124 4 123 97.069231503530 1.3334225062e-01
125 4 124 97.888807191767 1.3137943465e-01
126 4 125 98.810848615019 1.1114609953e+00
127 4 126 99.440835089095 1.3953526338e-01
128 4 127 100.275312097162 1.3556535073e-01
129 4 128 101.267920750702 1.0268566519e+00
130 4 129 101.701219327299 2.1251727236e-01
131 4 130 102.619949688272 1.3704846366e-01
132 4 131 103.642675199487 8.9929933371e-01
133 4 132 103.991928261242 3.4233185723e-01
134 4 133 105.044388777110 2.0997731496e-01
135 4 134 105.495861287604 1.0355490373e+00
136 4 135 106.496812474728 1.3852184063e-01
137 4 136 107.183218507410 1.1202856733e+00
138 4 137 108.081574615391 1.3145516897e-01
139 4 138 108.887089640068 1.2939246143e-01
140 4 139 109.699892366081 1.3165348433e-01
141 4 140 110.563263942104 1.7440195372e-01
142 4 141 111.067798548754 1.0750549612e+00
143 4 142 111.891430589789 1.1200777916e+00
144 4 143 112.804642326306 1.3279578727e-01
145 4 144 113.616523237691 1.3146399634e-01
146 4 145 114.331266054607 1.1253269746e+00
147 4 146 115.213705372427 1.3398596230e-01
148 4 147 116.184869450467 1.0572742667e+00
149 4 148 116.661796643340 1.8805775659e-01
150 4 149 117.554724598333 1.3649588850e-01
151 4 150 118.499377204375 2.9787859853e-01
152 4 151 118.862355321863 9.4096246355e-01
153 4 152 119.860764696352 1.3596806226e-01
154 4 153 120.691203347424 1.3389469395e-01
155 4 154 121.384160052157 1.1227195337e+00
156 4 155 122.286165347640 1.3911830380e-01
157 4 156 122.963752368550 1.1253097720e+00
158 4 157 124.040934780701 4.2966722539e-01
159 4 158 124.357898951426 8.0987206184e-01
160 4 159 125.373140347538 1.3463657443e-01
161 4 160 126.198119077062 1.3818208011e-01
162 4 161 127.081275533830 1.8942459003e-01
163 4 162 127.559775978786 1.0585360062e+00
164 4 163 128.541727108632 1.3816169053e-01
165 4 164 129.536946193897 1.0612090152e+00
166 4 165 130.018386010665 1.8987069607e-01
167 4 166 131.055560890932 1.0911306282e+00
168 4 167 131.611981593095 1.6325007570e-01
169 4 168 132.470876297228 1.3733620761e-01
170 4 169 133.451631215905 1.0472644942e+00
171 4 170 133.912661795556 1.9917633479e-01
172 4 171 134.760661421884 1.1381264182e+00
173 4 172 135.593525509062 1.3142811944e-01
174 4 173 136.400418093930 1.3055654417e-01
175 4 174 137.193789051634 1.3438048422e-01
176 4 175 138.099555641902 1.1180770305e+00
177 4 176 138.760422165655 1.4424630291e-01
178 4 177 139.711620116786 1.1060301024e+00
179 4 178 140.289978447800 1.4927066797e-01
180 4 179 141.124944525392 1.1327703936e+00
181 4 180 141.943640989805 1.4062003176e-01
182 4 181 142.936562911521 5.3761383369e-01
183 4 182 143.236415426636 7.0525773988e-01
184 4 183 144.252290847609 1.4139687008e-01
185 4 184 145.064951278415 1.3690274029e-01
186 4 185 145.977762515279 1.1119032402e+00
187 4 186 146.584496026887 1.5213970927e-01
188 4 187 147.422469614313 1.1323104819e+00
189 4 188 148.229497858366 1.3127611388e-01
190 4 189 149.056229702571 1.4125633750e-01
191 4 190 150.018340339036 1.0979235274e+00
192 4 191 150.744355678230 6.2216750081e-01
193 4 192 151.078458424437 6.5680797290e-01
194 4 193 152.084303739931 1.4182704735e-01
195 4 194 153.004869043557 1.1248718938e+00
196 4 195 153.661434355345 1.4001657654e-01
197 4 196 154.479758927089 1.4398972680e-01
198 4 197 155.297256116072 1.3910651416e-01
199 4 198 156.108753406036 1.1328726528e+00
200 4 199 156.894386654131 1.3459885709e-01
201 4 200 157.609205707319 1.1430741079e+00
202 4 201 158.681830081408 5.6389839578e-01
203 4 202 158.982035509551 6.9014989930e-01
204 4 203 160.007169803867 1.4070512626e-01
205 4 204 161.017911420570 5.8118244217e-01
206 4 205 161.330335131167 6.8262603651e-01
207 4 206 162.326956272340 1.5041769479e-01
208 4 207 163.040524350676 1.1328587264e+00
209 4 208 163.934107192227 1.4161354000e-01
210 4 209 164.700879558203 1.3757142545e-01
211 4 210 165.534430446918 1.1315365343e+00
212 4 211 166.309678086015 1.4998668754e-01
213 4 212 167.177323365700 1.1328679801e+00
214 4 213 167.959869753328 1.5101909055e-01
215 4 214 168.954977010984 7.5387335736e-01
216 4 215 169.326126018227 5.8162126084e-01
217 4 216 169.968375890354 1.0585649681e+00
218 4 217 170.945534177077 1.4364106780e-01
219 4 218 171.792169743942 1.5038786126e-01
220 4 219 172.574006847492 1.3533498778e-01
221 4 220 173.407692403661 1.1576119896e+00
222 4 221 174.252104915015 1.8435409779e-01
223 4 222 174.786283959244 1.0926008374e+00
224 4 223 175.755480147861 1.4153075106e-01
225 4 224 176.458569759377 1.1364256533e+00
226 4 225 177.326696528227 1.4981774590e-01
227 4 226 178.328290374145 1.0803342073e+00
228 4 227 178.836101555401 2.1579260152e-01
229 4 228 179.866632438119 1.0605734961e+00
230 4 229 180.361397090786 2.1188196730e-01
231 4 230 181.234240373663 1.7760620286e-01
232 4 231 182.177440698064 1.1092098755e+00
233 4 232 182.780084740879 1.6129677520e-01
234 4 233 183.678036016782 1.6052314006e-01
235 4 234 184.651364624737 5.2697413004e-01
236 4 235 185.050318043444 8.5322059370e-01
237 4 236 185.665493797882 1.0334072156e+00
238 4 237 186.760372574826 2.3312244760e-01
239 4 238 187.275081862011 1.0605219715e+00
240 4 239 188.308167094180 1.7927003392e-01
241 4 240 189.313130379702 8.2601861755e-01
242 4 241 189.646398304339 4.5955986423e-01
243 4 242 190.642812025648 1.7855811903e-01
244 4 243 191.478656530335 1.6154083497e-01
245 4 244 192.059578676819 1.1391845197e+00
246 4 245 193.068374712073 1.1346063766e+00
247 4 246 193.795564692635 1.4544897461e-01
248 4 247 194.573140105511 1.7549033320e-01
249 4 248 195.281041453731 1.1270235508e+00
250 4 249 196.194391726414 1.8905736474e-01
251 4 250 196.896322839877 1.1711346592e+00
252 4 251 197.962166680022 1.0763986059e+00
253 4 252 198.399884190317 2.2794376670e-01
254 4 253 199.308656823123 1.4160582756e-01
255 4 254 200.146764318737 1.9294748610e-01
256 4 255 201.143403444663 8.0137081695e-01
257 4 256 201.457175550263 5.0109040519e-01
258 4 257 202.487146513380 1.1432014489e+00
259 4 258 203.263531912488 1.9678624028e-01
260 4 259 204.176037491206 1.1427417058e+00
261 4 260 204.849874679974 2.1820500432e-01
262 4 261 205.431101341913 1.0920801387e+00
263 4 262 206.357067359834 1.9992958386e-01
264 4 263 207.243033351103 1.5926741486e-01
265 4 264 207.916276260209 1.1864533256e+00
266 4 265 208.713523583848 1.8716296437e-01
267 4 266 209.581948726093 1.1756748069e+00
268 4 267 210.311687734719 1.6720737096e-01
269 4 268 211.234460130213 1.9936225090e-01
270 4 269 211.734648749577 1.0724131586e+00
271 4 270 212.775899153334 2.3118080116e-01
272 4 271 213.369885130706 1.1937005968e+00
273 4 272 214.495244677221 1.0522149799e+00
274 4 273 214.992169574511 2.9303522716e-01
275 4 274 216.075704449453 8.9750246897e-01
276 4 275 216.421163738806 4.5193299935e-01
277 4 276 217.451971310764 1.8281293788e-01
278 4 277 218.136533311375 1.8377379377e-01
279 4 278 219.064986858809 1.1839929458e+00
280 4 279 219.728760741443 1.8528027107e-01
281 4 280 220.695869852404 1.2161024957e+00
282 4 281 221.418424301498 1.1523460912e+00
283 4 282 222.168135573364 1.5506104512e-01
284 4 283 223.055673994152 2.3147228163e-01
285 4 284 223.971993415224 1.1911454906e+00
286 4 285 224.667230285982 4.3252199684e-01
287 4 286 225.108082006983 9.6323292314e-01
288 4 287 226.073656709148 2.0969400572e-01
289 4 288 226.817704185729 2.2967693122e-01
290 4 289 227.455846656383 1.1143966888e+00
291 4 290 228.389830768559 2.6259211104e-01
292 4 291 229.325430354161 1.1542141470e+00
293 4 292 230.170013242452 2.3711149240e-01
294 4 293 231.071885409378 7.4469101961e-01
295 4 294 231.542960808938 7.9720510507e-01
296 4 295 232.095593776452 1.0454240140e+00
297 4 296 233.021013203316 2.5395733690e-01
298 4 297 233.724725323535 1.1278659803e+00
299 4 298 234.773690823111 2.7610182895e-01
300 4 299 235.546510282015 1.9139618312e-01
301 4 300 236.414293987878 1.0335805244e+00
302 4 301 236.850212570441 4.8151491285e-01
303 4 302 237.775214527584 1.1617710962e+00
304 4 303 238.627248453987 1.5502368480e-01
305 4 304 239.528586537942 1.2870249384e+00
306 4 305 240.217104495247 1.6713835612e-01
307 4 306 241.052893636842 1.3050806349e+00
308 4 307 241.897092500465 1.7934993362e-01
309 4 308 242.739093641379 1.1636165902e+00
310 4 309 243.289069814027 4.1133518836e-01
311 4 310 244.080779021252 1.1662526696e+00
312 4 311 244.916745530859 3.2620507183e-01
313 4 312 245.785574627973 1.6809664784e-01
314 4 313 246.729745280782 3.7219900859e-01
315 4 314 247.186355462680 1.1120720466e+00
316 4 315 248.132683305327 1.2797423278e+00
317 4 316 248.888489478492 2.4244007871e-01
318 4 317 249.628320203559 1.2874959729e+00
319 4 318 250.518534911052 2.4979975728e-01
320 4 319 251.070471925918 1.0979693076e+00
321 4 320 252.088254026577 4.5347911346e-01
322 4 321 252.939835707545 1.0132654323e+00
323 4 322 253.383022195867 3.9690567817e-01
324 4 323 254.409485767776 3.9012400632e-01
325 4 324 255.284534770535 1.3946103764e+00
326 4 325 256.208188815975 6.7092865170e-01
327 4 326 256.561099737045 6.5092777901e-01
328 4 327 257.609743661197 1.9907571248e-01
329 4 328 258.498706146185 1.2412243036e+00
330 4 329 259.124504516837 4.8721757767e-01
331 4 330 259.890475805623 1.3148300497e+00
332 4 331 260.726294338394 1.2313885325e+00
333 4 332 261.346161418970 2.4714496553e-01
334 4 333 262.171187742591 4.4153255255e-01
335 4 334 263.184703249997 3.0129014636e-01
336 4 335 263.636091083948 1.3136368380e+00
337 4 336 264.778701094641 3.7899846567e-01
338 4 337 265.507205889767 1.2223115881e+00
339 4 338 266.381628818896 6.3407093699e-01
340 4 339 266.840538839548 1.0096731188e+00
341 4 340 267.870104595078 1.1451366989e+00
342 4 341 268.524464136761 5.3922952267e-01
343 4 342 269.430652762204 2.5360417568e-01
344 4 343 270.062958483089 1.3345947798e+00
345 4 344 270.907620639477 4.6160115087e-01
346 4 345 271.500215644221 1.3155393607e+00
347 4 346 272.357270441760 5.2854823055e-01
348 4 347 273.410539388100 1.1193193207e+00
349 4 348 273.959585008734 2.4299224808e-01
350 4 349 274.830275635188 5.6403786121e-01
351 4 350 275.598154373949 1.1884783776e+00
352 4 351 276.451312734625 1.5814573154e+00
353 4 352 277.375957023021 2.4927563065e-01
354 4 353 278.137927603990 1.4204557931e+00
355 4 354 278.910801337905 8.4000114167e-01
356 4 355 279.335874768542 1.0215350329e+00
357 4 356 280.392046339912 2.3149335237e-01
358 4 357 281.120376505425 6.2066457216e-01
359 4 358 282.088054393052 9.5380227985e-01
360 4 359 282.679479822598 1.0754312942e+00
361 4 360 283.400793008497 1.3401633827e+00
362 4 361 284.225843361103 3.3504978994e-01
363 4 362 284.892035864635 1.1547371918e+00
364 4 363 286.053105511906 5.2264795842e-01
365 4 364 286.654953292392 1.4468284299e+00
366 4 365 287.469689716435 9.1765995910e-01
367 4 366 288.132000609574 1.2567470749e+00
368 4 367 288.905618635943 4.3931962436e-01
369 4 368 289.694970297817 1.5146477492e+00
370 4 369 290.394377662124 3.7818935990e-01
371 4 370 291.462219163651 9.3271654211e-01
372 4 371 291.936965929480 1.0613423348e+00
373 4 372 293.072603470469 3.7236419302e-01
374 4 373 293.699467024285 1.3694533248e+00
375 4 374 294.526306850065 1.2020509449e+00
376 4 375 295.120694233362 1.4097893932e+00
377 4 376 295.729922013249 9.0974638257e-01
378 4 377 296.827288107129 8.9360969231e-01
379 4 378 297.813575415555 8.3033122202e-01
380 4 379 298.290454389659 1.2664686200e+00
381 4 380 299.245750267075 9.2913766936e-01
382 4 381 299.864674769467 1.2452349685e+00
383 6 1 0.749901622507 8.7577509316e-02
384 6 2 1.289263862185 8.4843395939e-02
385 6 3 1.819789247058 8.4147691608e-02
386 6 4 2.347516749891 8.3868673869e-02
387 6 5 2.873998164738 8.3729580323e-02
388 6 6 3.399818294241 8.3650802310e-02
389 6 7 3.925249901458 8.3602809151e-02
390 6 8 4.450438718079 8.3571909772e-02
391 6 9 4.975468100145 8.3551376281e-02
392 6 10 5.500392911339 8.3538186172e-02
393 6 11 6.025249976227 8.3529331910e-02
394 6 12 6.550061363720 8.3523882625e-02
395 6 13 7.074854367225 8.3523614072e-02
396 6 14 7.599657225653 8.3526262591e-02
397 6 15 8.124478124483 8.3529659148e-02
398 6 16 8.649334881192 8.3538660943e-02
399 6 17 9.174272059732 8.3554711351e-02
400 6 18 9.699320134518 8.3573948543e-02
401 6 19 10.224514234101 8.3603154821e-02
402 6 20 10.749949591179 8.3651684992e-02
403 6 21 11.275762660864 8.3725032085e-02
404 6 22 11.802179301337 8.3852077642e-02
405 6 23 12.329752658045 8.4113275652e-02
406 6 24 12.859927045961 8.4755455629e-02
407 6 25 13.398199323303 8.7253186965e-02
408 6 26 14.076082781417 7.2989419952e-01
409 6 27 14.242310336326 4.2186775638e-01
410 6 28 14.905210493196 8.7244427729e-02
411 6 29 15.443563696520 8.4783413759e-02
412 6 30 15.974000222083 8.4168941618e-02
413 6 31 16.502009066456 8.3935060849e-02
414 6 32 17.029025513393 8.3836391489e-02
415 6 33 17.555672032756 8.3810218399e-02
416 6 34 18.082302084449 8.3830593402e-02
417 6 35 18.609243242663 8.3915336932e-02
418 6 36 19.137067718639 8.4128181146e-02
419 6 37 19.667068168968 8.4671804428e-02
420 6 38 20.203940707402 8.6784054717e-02
421 6 39 20.823654655914 1.9127547762e-01
422 6 40 21.051795250058 9.6240066146e-01
423 6 41 21.720034736505 8.6989947093e-02
424 6 42 22.257706903076 8.4775209461e-02
425 6 43 22.788444857266 8.4271286826e-02
426 6 44 23.317470369026 8.4167640100e-02
427 6 45 23.846721414562 8.4371394382e-02
428 6 46 24.379599533958 8.5623360351e-02
429 6 47 24.999607015568 1.0645211561e+00
430 6 48 25.376305971747 9.6107184017e-02
431 6 49 25.927184816039 8.5036987384e-02
432 6 50 26.458194693235 8.4208921323e-02
433 6 51 26.986529295264 8.4013756651e-02
434 6 52 27.514194481827 8.3970115901e-02
435 6 53 28.041926195870 8.4039777838e-02
436 6 54 28.570648463765 8.4302984368e-02
437 6 55 29.101958907944 8.4938523232e-02
438 6 56 29.641252355276 8.7382128712e-02
439 6 57 30.296812895741 3.4399010128e-01
440 6 58 30.474199517216 8.0859793539e-01
441 6 59 31.155345501433 8.7816371123e-02
442 6 60 31.698676765904 8.5905147753e-02
443 6 61 32.241086929866 8.7466970272e-02
444 6 62 32.908349043359 9.8501190356e-01
445 6 63 33.153271766686 1.6978081095e-01
446 6 64 33.765438076732 8.6846108674e-02
447 6 65 34.302910570812 8.4795410063e-02
448 6 66 34.833671898985 8.4273762143e-02
449 6 67 35.362678782542 8.4155066922e-02
450 6 68 35.891383524389 8.4185723328e-02
451 6 69 36.420725393057 8.4400818429e-02
452 6 70 36.953808474300 8.5701750455e-02
453 6 71 37.574823961178 1.0643774533e+00
454 6 72 37.951313788050 9.6502072316e-02
455 6 73 38.503942241292 8.5341481478e-02
456 6 74 39.037312097921 8.4700898864e-02
457 6 75 39.570005647854 8.5013093115e-02
458 6 76 40.108953845389 8.7174141872e-02
459 6 77 40.739952469886 2.2128243033e-01
460 6 78 40.952665270305 9.3225063048e-01
461 6 79 41.626465411590 8.7409033410e-02
462 6 80 42.166858259195 8.5341898347e-02
463 6 81 42.703130316926 8.5840453566e-02
464 6 82 43.317251968871 1.0693711641e+00
465 6 83 43.713659798592 9.2735008026e-02
466 6 84 44.259406619328 8.4891969908e-02
467 6 85 44.789931227835 8.4207495870e-02
468 6 86 45.318053514761 8.4020314069e-02
469 6 87 45.845601780144 8.3942992119e-02
470 6 88 46.372823803125 8.3985586885e-02
471 6 89 46.900594696941 8.4093995187e-02
472 6 90 47.429992717210 8.4544325659e-02
473 6 91 48.001128399644 1.0818559223e+00
474 6 92 48.480516052128 8.5991284893e-02
475 6 93 49.023065257383 8.7782869505e-02
476 6 94 49.701144751912 6.2675195875e-01
477 6 95 49.862087009081 5.2551319021e-01
478 6 96 50.535754782870 8.7762413981e-02
479 6 97 51.077689188761 8.5482927264e-02
480 6 98 51.613266479809 8.5385134977e-02
481 6 99 52.153733155109 8.7309666451e-02
482 6 100 52.780169410274 2.0413252751e-01
483 6 101 53.001977410382 9.4992430938e-01
484 6 102 53.673742046723 8.7352921063e-02
485 6 103 54.213312062197 8.5095096221e-02
486 6 104 54.745631154493 8.4649421530e-02
487 6 105 55.276990671041 8.4687461034e-02
488 6 106 55.811690684616 8.6043607794e-02
489 6 107 56.434657459739 1.0637671252e+00
490 6 108 56.809074766912 9.7254066056e-02
491 6 109 57.363709855732 8.5580930143e-02
492 6 110 57.898408161747 8.4987532710e-02
493 6 111 58.433164977509 8.5796501210e-02
494 6 112 58.992403614474 9.9985716100e-02
495 6 113 59.359673998101 1.0618154172e+00
496 6 114 59.997676377497 8.8991343657e-02
497 6 115 60.621187847215 1.8003392006e-01
498 6 116 60.860046501809 9.7532742632e-01
499 6 117 61.528943643952 8.7363970160e-02
500 6 118 62.068004450124 8.5123228426e-02
501 6 119 62.600377426546 8.4556885872e-02

E-022-spectral-measure.json — 4.3 KB, updated 08-19-2026

JSON sidecar (click to expand)
{
  "experiment": "E-022",
  "task": "2.10 (D-035 D2): spectral-measure convergence",
  "script": "research/numerics/scripts/E-022-spectral-measure.py",
  "parameters": {
    "a_list": [
      4.0,
      6.0,
      8.0,
      10.0,
      12.0
    ],
    "h": 0.01,
    "lam": -1.0,
    "z_max": 300.0,
    "z_metric": 280.0,
    "sigma_bump": 8.0,
    "n_grid": 40000
  },
  "checks": {
    "V0_schur_vs_solve_v": true,
    "V1_weights_positive": true,
    "V2_refinement": true,
    "V3_lattice_and_z1law": true
  },
  "key_values": {
    "4": {
      "n_zeros": 381,
      "z1": 1.1260734006983593,
      "z1_times_a": 4.504293602793437,
      "lattice_expected": 381.9718634205488,
      "mass_total_Zmetric": 184.02432245308052,
      "O1_cumulative_Linf": 0.030472775278319375,
      "O1_cumulative_L2": 0.015369322417422383,
      "O2_logw_slope": 0.004773175983096674,
      "O2_logw_R2": 0.17155831473911887,
      "O2_logw_std_resid": 0.8476672146023767,
      "O3_weak_metric": 0.010527875427328966,
      "O5_mass_near_gamma": 1.6069393990772483,
      "O5_mass_near_random": 1.239913792291073,
      "O5_ratio": 1.2960089718076262,
      "elapsed_s": 2.9
    },
    "6": {
      "n_zeros": 572,
      "z1": 0.7499016225074712,
      "z1_times_a": 4.499409735044827,
      "lattice_expected": 572.9577951308232,
      "mass_total_Zmetric": 184.01489106241632,
      "O1_cumulative_Linf": 0.02723380344436621,
      "O1_cumulative_L2": 0.015298102993183555,
      "O2_logw_slope": 0.004573680792971365,
      "O2_logw_R2": 0.13177706690264612,
      "O2_logw_std_resid": 0.9483241546589634,
      "O3_weak_metric": 0.010569164981132785,
      "O5_mass_near_gamma": 1.6173747450375149,
      "O5_mass_near_random": 1.257329769139859,
      "O5_ratio": 1.2863568371120038,
      "elapsed_s": 4.8
    },
    "8": {
      "n_zeros": 763,
      "z1": 0.5621012628096893,
      "z1_times_a": 4.4968101024775144,
      "lattice_expected": 763.9437268410976,
      "mass_total_Zmetric": 184.13312237431055,
      "O1_cumulative_Linf": 0.027258094320286474,
      "O1_cumulative_L2": 0.015486596743652112,
      "O2_logw_slope": 0.004185396789595135,
      "O2_logw_R2": 0.10532818940743971,
      "O2_logw_std_resid": 0.986518773772079,
      "O3_weak_metric": 0.010568959142405882,
      "O5_mass_near_gamma": 1.6196075350475192,
      "O5_mass_near_random": 1.2561234028070363,
      "O5_ratio": 1.2893697636937673,
      "elapsed_s": 8.2
    },
    "10": {
      "n_zeros": 954,
      "z1": 0.44959701245436284,
      "z1_times_a": 4.4959701245436285,
      "lattice_expected": 954.9296585513721,
      "mass_total_Zmetric": 184.1239991524169,
      "O1_cumulative_Linf": 0.024844169503423608,
      "O1_cumulative_L2": 0.015446208652370818,
      "O2_logw_slope": 0.0038097364559334847,
      "O2_logw_R2": 0.08653440341105123,
      "O2_logw_std_resid": 1.0006504172097648,
      "O3_weak_metric": 0.010581710686957842,
      "O5_mass_near_gamma": 1.6290317856739722,
      "O5_mass_near_random": 1.2562149964535079,
      "O5_ratio": 1.2967778527345915,
      "elapsed_s": 13.4
    },
    "12": {
      "n_zeros": 1145,
      "z1": 0.3746087478472408,
      "z1_times_a": 4.495304974166889,
      "lattice_expected": 1145.9155902616465,
      "mass_total_Zmetric": 184.10483484645468,
      "O1_cumulative_Linf": 0.028584131798192303,
      "O1_cumulative_L2": 0.015417413187446537,
      "O2_logw_slope": 0.003682406300531162,
      "O2_logw_R2": 0.08233450272296328,
      "O2_logw_std_resid": 0.9935774298804366,
      "O3_weak_metric": 0.010592268896428007,
      "O5_mass_near_gamma": 1.6165573705799765,
      "O5_mass_near_random": 1.2532365071394718,
      "O5_ratio": 1.2899060643148588,
      "elapsed_s": 20.9
    },
    "O4_trend": {
      "a": [
        4.0,
        6.0,
        8.0,
        10.0,
        12.0
      ],
      "d_a": [
        0.010527875427328966,
        0.010569164981132785,
        0.010568959142405882,
        0.010581710686957842,
        0.010592268896428007
      ],
      "monotone_decreasing": false
    },
    "V0_max_dev": 3.560323900663321e-14,
    "V2_rel": 0.0011243096862693027
  },
  "elapsed_seconds": 743.1,
  "timestamp_utc": "2026-08-19T17:19:38.162052+00:00"
}

Source code

Python script (click to expand)
"""E-022 — task 2.10 (D-035 deliverable D2): spectral-measure
convergence of Suzuki's D_{a,pi} toward the gamma-target measure.

For each a in {4,6,8,10,12} (theta=pi, all zeros real, E-016 F1):
  - locate zeros z_k of W(a,pi;z) on (0, Z_MAX] (E-016/E-019 route:
    grid sign-changes of g(z) = z Im V+ - Re V+ + brentq);
  - compute the Clark/de Branges spectral weights
        w_k = 1 / K_a(z_k, z_k),
    K_a(z,z) = Re(b_z^H v),  v solves the BORDERED (mean-zero, L^2_0)
    Galerkin system  T v + mu e = b_z,  e.v = 0,
    T = Q - lam M (lam = -1),  b_z = h sinc^2(zh/2pi) e^{-i z x}
    (exact hat-basis quadrature), via Schur reduction on shared
    u1 = T^{-1} e: v = T^{-1}(b_z - mu e), mu = (e.u0)/(e.u1).
    Toeplitz solves (scipy solve_toeplitz); V0 validates the Schur
    solve against E16.solve_v (bordered dense) for b[+1].

Target measure: unit atoms at the Riemann zeros gamma_k (mpmath
zetazero, dps 30, float64 sufficient for statistics).

Observables:
  O1. normalized cumulative mass M_a(x)/M_a(Z') vs N_gamma(x)/N(Z'),
      Z' = 280 (Linfty + L2 discrepancy).
  O2. weight profile: linear fit log w_k vs z_k (slope, spread R^2).
  O3. weak metric: Gaussian bumps f_j (30 log-spaced centers in
      [15,250], sigma=8): d_a = max_j |mu~_a(f_j) - nu~(f_j)|,
      normalized by total mass in (0, Z'].
  O4. d_a vs a  -> convergence-rate estimate (headline).
  O5. gamma-concentration: mean mu_a-mass within +/-1 of each gamma
      vs within +/-1 of random points (does the WEIGHT carry gamma
      information even though positions don't lock? — E-019 B2 found
      chance-level POSITION proximity).

Checks:
  V0. Schur-Toeplitz bordered solve vs E16.solve_v (b[+1]): < 1e-8.
  V1. all weights > 0.
  V2. refinement a=4, h=0.005: weight rel dev on first 50 zeros < 5e-3.
  V3. z1*a in [4.3, 4.7] (stiff law, E-019) and count = maximal
      lattice (a*Z_MAX/pi +/- 2) at every a.
  V4. total mass M_a(Z') recorded vs a (scaling documented).

Outputs: research/numerics/data/E-022-spectral-measure.csv (+ .json)
LONG RUN: detached + log file (per STATE.md protocol).
"""
import importlib.util
import json
import sys
import time
from datetime import datetime, timezone
from pathlib import Path

import mpmath as mp
import numpy as np
import scipy.linalg
import scipy.optimize

REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-022-spectral-measure.csv"
JSON = DATA / "E-022-spectral-measure.json"

_spec = importlib.util.spec_from_file_location(
    "E16", Path(__file__).with_name("E-016-herglotz-fine-structure.py"))
E16 = importlib.util.module_from_spec(_spec)
_spec.loader.exec_module(E16)                     # runs the e^20 sieve

sys.path.insert(0, str(Path(__file__).parent))
from prime_backend_v2 import PrimeBackendV2       # noqa: E402

H_MAIN = E16.H_MAIN          # 0.01
LAM = E16.LAM_SHIFT          # -1.0
A_LIST = [4.0, 6.0, 8.0, 10.0, 12.0]
Z_MAX = 300.0
Z_METRIC = 280.0
N_GRID = 40000
SIGMA_BUMP = 8.0
mp.mp.dps = 40

XN, XW = E16.XN, E16.XW
hat_FT = E16.hat_FT


def collect_t_points(a, h):
    """Copy of E-019's collector (E-016 S_full/quad segment structure)."""
    n_elem = int(round(2 * a / h))
    pts = []

    def add_quad(lo, hi, peak):
        n_lo = int(np.ceil(np.exp(lo)))
        n_hi = int(np.floor(np.exp(hi)))
        if n_hi - n_lo > 64:
            for aa, bb in ((lo, peak), (peak, hi)):
                if bb - aa > 0:
                    mid, half = 0.5 * (aa + bb), 0.5 * (bb - aa)
                    pts.extend(mid + half * XN)
            return
        segs = sorted({lo, peak, hi} |
                      {float(np.log(n))
                       for n in range(max(n_lo, 2), n_hi + 1)
                       if lo < np.log(n) < hi})
        for p0, p1 in zip(segs, segs[1:]):
            if p1 - p0 > 0:
                mid, half = 0.5 * (p0 + p1), 0.5 * (p1 - p0)
                pts.extend(mid + half * XN)

    for k in range(n_elem):
        if k == 0:
            add_quad(0.0, h, 0.0)
        else:
            add_quad((k - 1) * h, (k + 1) * h, k * h)
    return np.array(pts)


def locate_zeros(cp, x, h, z_max=Z_MAX, n_grid=N_GRID):
    zg = np.linspace(1e-3, z_max, n_grid)
    Vpr, _ = E16.V_and_dV(zg, cp, x, h)
    g = zg * Vpr.imag - Vpr.real

    def g_direct(zz):
        V = hat_FT(np.array([zz]), h)[0] * complex(
            np.exp(1j * zz * x) @ cp)
        return zz * V.imag - V.real

    idx = np.flatnonzero(np.sign(g[:-1]) * np.sign(g[1:]) < 0)
    zeros = []
    for i in idx:
        try:
            zeros.append(scipy.optimize.brentq(g_direct, zg[i], zg[i + 1],
                                               xtol=1e-13, rtol=1e-13))
        except ValueError:
            pass
    return np.array(zeros)


class ToeplitzBordered:
    """Schur-reduced bordered solve for T = toeplitz(tc), constraint
    e.v = 0 (e = ones):  v = u0 - mu u1, mu = sum(u0)/sum(u1)."""

    def __init__(self, tc):
        self.tc = tc
        n = len(tc)
        self.u1 = scipy.linalg.solve_toeplitz((tc, tc), np.ones(n))
        self.s1 = float(self.u1.sum())

    def solve(self, b):
        u0 = scipy.linalg.solve_toeplitz((self.tc, self.tc), b)
        return u0 - (u0.sum() / self.s1) * self.u1


def weights_for(a, h, zeros, x):
    """K_k and w_k for the given zero list (build(a,h) cached)."""
    _, _, Q, M, _b = E16.build(a, h)
    n = Q.shape[0]
    mc = np.zeros(n)
    mc[0] = 2 * h / 3
    if n > 1:
        mc[1] = h / 6
    tc = Q[:, 0] - LAM * mc
    solver = ToeplitzBordered(tc)
    Ks = np.empty(len(zeros))
    for i, z in enumerate(zeros):
        bz = hat_FT(np.array([z]), h)[0] * np.exp(-1j * z * x)
        v = solver.solve(bz)
        Ks[i] = float(np.real(np.conj(bz) @ v))
    return Ks


def main() -> int:
    if JSON.exists() and "--force" not in sys.argv:
        print(f"cached: {JSON} (use --force to recompute)")
        return 0
    t0 = time.time()

    # ---- backend v2 (e^24) ------------------------------------------
    print("collecting quadrature t-points ...", flush=True)
    tq = np.concatenate([collect_t_points(a, H_MAIN) for a in A_LIST]
                        + [collect_t_points(4.0, 0.005)])
    print(f"  {tq.size} points; building/loading backend ...", flush=True)
    CACHE = DATA / "E-022-backend-cache.npz"
    be = PrimeBackendV2(tq)
    if CACHE.exists() and "--force" not in sys.argv:
        be.load_cache(CACHE)
        print("  backend loaded from cache", flush=True)
    else:
        be.build(verbose=True)
        be.save_cache(CACHE)
    E16._BUILD.clear()
    E16.prime_sum_vec = be.prime_sum

    # ---- gamma target ------------------------------------------------
    print("target: first 200 Riemann zeros (zetazero) ...", flush=True)
    mp.mp.dps = 30
    gam = np.array([float(mp.zetazero(k).imag) for k in range(1, 201)])
    gam = gam[gam <= Z_METRIC]

    # ---- main sweep --------------------------------------------------
    rows = []
    report = {"per_a": {}}
    v0_max = 0.0
    v1_ok = True
    v3_ok = True
    zc = np.linspace(10.0, Z_METRIC, 800)
    centers = np.geomspace(15.0, 250.0, 30)

    for a in A_LIST:
        ta = time.time()
        x, h, Q, M, b = E16.build(a, H_MAIN)
        n = len(x)
        # V0: Schur-Toeplitz vs E16.solve_v on b[+1]
        mc = np.zeros(n)
        mc[0] = 2 * h / 3
        mc[1] = h / 6
        tc = Q[:, 0] - LAM * mc
        solver = ToeplitzBordered(tc)
        cp_ref, _T = E16.solve_v(Q, M, b[+1.0], LAM, n)
        cp_schur = solver.solve(b[+1.0])
        dev = float(np.max(np.abs(cp_ref - cp_schur))
                    / max(1.0, float(np.max(np.abs(cp_ref)))))
        v0_max = max(v0_max, dev)

        cp, _ = E16.solve_v(Q, M, b[+1.0], LAM, n)
        cm, _ = E16.solve_v(Q, M, b[-1.0], LAM, n)
        zeros = locate_zeros(cp, x, h)

        Ks = weights_for(a, H_MAIN, zeros, x)
        ws = 1.0 / Ks
        if np.any(Ks <= 0):
            v1_ok = False

        z1 = float(zeros[0])
        lat = a * Z_MAX / np.pi
        if not (4.3 < z1 * a < 4.7) or abs(len(zeros) - lat) > 2:
            v3_ok = False

        # --- metrics (zeros in (0, Z_METRIC])
        zm = zeros[zeros <= Z_METRIC]
        wm = ws[zeros <= Z_METRIC]
        Mtot = float(wm.sum())
        # O1: cumulative shape vs unit-weight gamma measure
        Ma = np.array([wm[zm <= t].sum() for t in zc]) / Mtot
        Ng = np.array([np.sum(gam <= t) for t in zc]) / len(gam)
        o1_linf = float(np.max(np.abs(Ma - Ng)))
        o1_l2 = float(np.sqrt(np.mean((Ma - Ng) ** 2)))
        # O2: weight profile
        A_ = np.vstack([zm, np.ones_like(zm)]).T
        slope, intercept = np.linalg.lstsq(A_, np.log(wm), rcond=None)[0]
        pred = slope * zm + intercept
        ss_res = float(np.sum((np.log(wm) - pred) ** 2))
        ss_tot = float(np.sum((np.log(wm) - np.log(wm).mean()) ** 2))
        r2 = 1.0 - ss_res / max(ss_tot, 1e-300)
        # O3: Gaussian-bump weak metric
        def bump(z, c):
            return np.exp(-0.5 * ((z - c) / SIGMA_BUMP) ** 2)
        mu_f = np.array([np.dot(wm, bump(zm, c)) for c in centers]) / Mtot
        nu_f = np.array([bump(gam, c).sum() for c in centers]) / len(gam)
        o3 = float(np.max(np.abs(mu_f - nu_f)))
        # O5: gamma-concentration of mass
        mass_near_g = float(np.mean([wm[np.abs(zm - g) <= 1.0].sum()
                                     for g in gam]))
        rng = np.random.default_rng(7)
        rpts = rng.uniform(15.0, 250.0, len(gam))
        mass_near_r = float(np.mean([wm[np.abs(zm - r) <= 1.0].sum()
                                     for r in rpts]))

        for k, (zz, ww) in enumerate(zip(zeros, ws), 1):
            rows.append((a, k, zz, ww))
        report["per_a"][f"{a:g}"] = {
            "n_zeros": int(len(zeros)), "z1": z1, "z1_times_a": z1 * a,
            "lattice_expected": lat,
            "mass_total_Zmetric": Mtot,
            "O1_cumulative_Linf": o1_linf, "O1_cumulative_L2": o1_l2,
            "O2_logw_slope": float(slope), "O2_logw_R2": r2,
            "O2_logw_std_resid": float(np.sqrt(ss_res / max(len(zm) - 2, 1))),
            "O3_weak_metric": o3,
            "O5_mass_near_gamma": mass_near_g,
            "O5_mass_near_random": mass_near_r,
            "O5_ratio": mass_near_g / max(mass_near_r, 1e-300),
            "elapsed_s": round(time.time() - ta, 1),
        }
        print(f"a={a:g}: {len(zeros)} zeros, z1a={z1 * a:.3f}, "
              f"mass={Mtot:.3e}, O3={o3:.4f}, "
              f"O5={mass_near_g:.3e}/{mass_near_r:.3e} "
              f"({report['per_a'][f'{a:g}']['elapsed_s']}s)", flush=True)

    # ---- V2: refinement at a=4, h=0.005 ------------------------------
    print("V2: refinement a=4 h=0.005 (first 50 zeros) ...", flush=True)
    x5, h5, Q5, M5, b5 = E16.build(4.0, 0.005)
    cp5, _ = E16.solve_v(Q5, M5, b5[+1.0], LAM, len(x5))
    zeros5 = locate_zeros(cp5, x5, h5)
    K5 = weights_for(4.0, 0.005, zeros5[:50], x5)
    x01, _, _, _, _ = E16.build(4.0, H_MAIN)
    K4 = weights_for(4.0, H_MAIN, zeros5[:50], x01)  # same z's, h=0.01
    v2_rel = float(np.max(np.abs(K5 - K4) / np.abs(K5)))
    print(f"  V2 max rel dev K(h=0.005) vs K(h=0.01): {v2_rel:.2e}",
          flush=True)

    # ---- O4: convergence trend --------------------------------------
    avals = np.array(A_LIST)
    dvals = np.array([report["per_a"][f"{a:g}"]["O3_weak_metric"]
                      for a in A_LIST])
    o4 = {"a": list(avals), "d_a": list(dvals),
          "monotone_decreasing": bool(np.all(np.diff(dvals) < 0))}

    checks = {
        "V0_schur_vs_solve_v": bool(v0_max < 1e-8),
        "V1_weights_positive": bool(v1_ok),
        "V2_refinement": bool(v2_rel < 5e-3),
        "V3_lattice_and_z1law": bool(v3_ok),
    }
    print("checks:", checks, flush=True)

    import csv as csvmod
    with open(CSV, "w", newline="") as f:
        w = csvmod.writer(f)
        w.writerow(["a", "k", "z_k", "w_k"])
        for a, k, zz, ww in rows:
            w.writerow([f"{a:g}", k, f"{zz:.12f}", f"{ww:.10e}"])

    meta = {
        "experiment": "E-022",
        "task": "2.10 (D-035 D2): spectral-measure convergence",
        "script": "research/numerics/scripts/E-022-spectral-measure.py",
        "parameters": {"a_list": A_LIST, "h": H_MAIN, "lam": LAM,
                       "z_max": Z_MAX, "z_metric": Z_METRIC,
                       "sigma_bump": SIGMA_BUMP, "n_grid": N_GRID},
        "checks": checks,
        "key_values": {**report["per_a"], "O4_trend": o4,
                       "V0_max_dev": v0_max, "V2_rel": v2_rel},
        "elapsed_seconds": round(time.time() - t0, 1),
        "timestamp_utc": datetime.now(timezone.utc).isoformat(),
    }
    JSON.write_text(json.dumps(meta, indent=2))
    print(f"wrote {CSV.name}, {JSON.name}; elapsed "
          f"{meta['elapsed_seconds']}s", flush=True)
    return 0 if all(checks.values()) else 1


if __name__ == "__main__":
    sys.exit(main())