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 →
| # | a | k | z_k | w_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())