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
| # | a | k | z_k | w_k |
|---|---|---|---|---|
| 502 | 6 | 120 | 63.130643859210 | 8.4338367779e-02 |
| 503 | 6 | 121 | 63.660702149622 | 8.4611817007e-02 |
| 504 | 6 | 122 | 64.193269606304 | 8.5702517760e-02 |
| 505 | 6 | 123 | 64.747578197124 | 9.7146851865e-02 |
| 506 | 6 | 124 | 65.124116577606 | 1.0644542249e+00 |
| 507 | 6 | 125 | 65.751236116949 | 8.7187243718e-02 |
| 508 | 6 | 126 | 66.297903150035 | 8.8175916576e-02 |
| 509 | 6 | 127 | 66.960083532884 | 3.7519745880e-01 |
| 510 | 6 | 128 | 67.133035478207 | 7.7762339055e-01 |
| 511 | 6 | 129 | 67.814924177568 | 8.8020609263e-02 |
| 512 | 6 | 130 | 68.357318518550 | 8.5891593446e-02 |
| 513 | 6 | 131 | 68.896960364573 | 8.6779593260e-02 |
| 514 | 6 | 132 | 69.532266682910 | 1.0544317620e+00 |
| 515 | 6 | 133 | 69.877450509199 | 1.0499802446e-01 |
| 516 | 6 | 134 | 70.441340567388 | 8.5683303827e-02 |
| 517 | 6 | 135 | 70.973479624054 | 8.4696459560e-02 |
| 518 | 6 | 136 | 71.503359624942 | 8.4657067928e-02 |
| 519 | 6 | 137 | 72.064132147670 | 1.0826354548e+00 |
| 520 | 6 | 138 | 72.552528866796 | 8.4711089819e-02 |
| 521 | 6 | 139 | 73.080458215968 | 8.4027281754e-02 |
| 522 | 6 | 140 | 73.607149508489 | 8.3827063448e-02 |
| 523 | 6 | 141 | 74.132969806069 | 8.3900445146e-02 |
| 524 | 6 | 142 | 74.659295744212 | 8.4218278265e-02 |
| 525 | 6 | 143 | 75.186965590670 | 8.4053246475e-02 |
| 526 | 6 | 144 | 75.705469964037 | 1.0842568939e+00 |
| 527 | 6 | 145 | 76.245949748157 | 8.5721277613e-02 |
| 528 | 6 | 146 | 76.804969653686 | 1.0215845714e-01 |
| 529 | 6 | 147 | 77.158090028967 | 1.0576568261e+00 |
| 530 | 6 | 148 | 77.786268117225 | 8.5999555082e-02 |
| 531 | 6 | 149 | 78.319559415424 | 8.4512184415e-02 |
| 532 | 6 | 150 | 78.849598824280 | 8.4996292017e-02 |
| 533 | 6 | 151 | 79.340278457111 | 1.0826585674e+00 |
| 534 | 6 | 152 | 79.899296896394 | 8.4443378038e-02 |
| 535 | 6 | 153 | 80.427179835536 | 8.4538721675e-02 |
| 536 | 6 | 154 | 80.955124111343 | 8.4295332909e-02 |
| 537 | 6 | 155 | 81.482489094482 | 8.4735648183e-02 |
| 538 | 6 | 156 | 82.016032671351 | 8.5726153980e-02 |
| 539 | 6 | 157 | 82.580347471087 | 1.0556698019e-01 |
| 540 | 6 | 158 | 82.924490043349 | 1.0544836533e+00 |
| 541 | 6 | 159 | 83.559984242108 | 8.6940438693e-02 |
| 542 | 6 | 160 | 84.100495263002 | 8.7069503186e-02 |
| 543 | 6 | 161 | 84.724201829986 | 1.0653962925e+00 |
| 544 | 6 | 162 | 85.103982359364 | 9.6380505711e-02 |
| 545 | 6 | 163 | 85.657527259730 | 8.5833276047e-02 |
| 546 | 6 | 164 | 86.193098249987 | 8.5572790235e-02 |
| 547 | 6 | 165 | 86.731035459128 | 8.7565632094e-02 |
| 548 | 6 | 166 | 87.398135136646 | 9.8205447104e-01 |
| 549 | 6 | 167 | 87.640934306095 | 1.7362947722e-01 |
| 550 | 6 | 168 | 88.252223621133 | 8.7536640975e-02 |
| 551 | 6 | 169 | 88.807563433737 | 1.0845489008e+00 |
| 552 | 6 | 170 | 89.318486534399 | 8.4560358966e-02 |
| 553 | 6 | 171 | 89.847309187825 | 8.4858461239e-02 |
| 554 | 6 | 172 | 90.374483473436 | 8.4286506363e-02 |
| 555 | 6 | 173 | 90.901779001785 | 8.4129195557e-02 |
| 556 | 6 | 174 | 91.426367222213 | 8.4758279770e-02 |
| 557 | 6 | 175 | 91.953862987687 | 8.4012731395e-02 |
| 558 | 6 | 176 | 92.491061372892 | 1.0844729400e+00 |
| 559 | 6 | 177 | 93.005965668189 | 8.4496322147e-02 |
| 560 | 6 | 178 | 93.534090709331 | 8.4287789698e-02 |
| 561 | 6 | 179 | 94.064394076198 | 8.5386729962e-02 |
| 562 | 6 | 180 | 94.646297495307 | 1.0824227504e+00 |
| 563 | 6 | 181 | 95.122618561265 | 8.9374854194e-02 |
| 564 | 6 | 182 | 95.803686575138 | 6.7338959283e-01 |
| 565 | 6 | 183 | 95.967352983386 | 4.8061407024e-01 |
| 566 | 6 | 184 | 96.637576628995 | 8.7916700391e-02 |
| 567 | 6 | 185 | 97.178865266182 | 8.5653994510e-02 |
| 568 | 6 | 186 | 97.707752467082 | 8.5108645086e-02 |
| 569 | 6 | 187 | 98.241359196064 | 8.5714438752e-02 |
| 570 | 6 | 188 | 98.825331837062 | 1.0800561176e+00 |
| 571 | 6 | 189 | 99.277958614878 | 8.6618229253e-02 |
| 572 | 6 | 190 | 99.812969921569 | 8.5881176187e-02 |
| 573 | 6 | 191 | 100.342038141186 | 8.6552924483e-02 |
| 574 | 6 | 192 | 100.876246324157 | 8.7022620113e-02 |
| 575 | 6 | 193 | 101.323947597866 | 1.0785921071e+00 |
| 576 | 6 | 194 | 101.913991864033 | 8.5922590024e-02 |
| 577 | 6 | 195 | 102.449141263781 | 8.5736409183e-02 |
| 578 | 6 | 196 | 102.992253812549 | 8.8968866335e-02 |
| 579 | 6 | 197 | 103.669843190839 | 7.6189701987e-01 |
| 580 | 6 | 198 | 103.842037191734 | 3.9219786336e-01 |
| 581 | 6 | 199 | 104.506151623159 | 9.0546425762e-02 |
| 582 | 6 | 200 | 105.070233651561 | 9.6625761788e-02 |
| 583 | 6 | 201 | 105.457700040093 | 1.0671327690e+00 |
| 584 | 6 | 202 | 106.076445359274 | 8.7389244911e-02 |
| 585 | 6 | 203 | 106.614661607078 | 8.6688519930e-02 |
| 586 | 6 | 204 | 107.166399033006 | 1.0841877112e+00 |
| 587 | 6 | 205 | 107.667550031237 | 8.4959932033e-02 |
| 588 | 6 | 206 | 108.197726237621 | 8.6407363248e-02 |
| 589 | 6 | 207 | 108.726482361448 | 8.4863307719e-02 |
| 590 | 6 | 208 | 109.255017277571 | 8.4591417853e-02 |
| 591 | 6 | 209 | 109.787788240232 | 8.5962434474e-02 |
| 592 | 6 | 210 | 110.322835108994 | 8.9561551058e-02 |
| 593 | 6 | 211 | 110.995705391062 | 9.3918474569e-01 |
| 594 | 6 | 212 | 111.213186045988 | 2.1724808869e-01 |
| 595 | 6 | 213 | 111.871982667499 | 1.0872329235e+00 |
| 596 | 6 | 214 | 112.380702334870 | 8.6388664626e-02 |
| 597 | 6 | 215 | 112.915619914890 | 8.7674669916e-02 |
| 598 | 6 | 216 | 113.454577718012 | 8.7670087239e-02 |
| 599 | 6 | 217 | 114.046059539689 | 1.3064142036e-01 |
| 600 | 6 | 218 | 114.340518366311 | 1.0290039003e+00 |
| 601 | 6 | 219 | 114.992319538603 | 8.8729622767e-02 |
| 602 | 6 | 220 | 115.544756924943 | 9.1069871581e-02 |
| 603 | 6 | 221 | 116.204087687603 | 1.0144842758e+00 |
| 604 | 6 | 222 | 116.480890056044 | 1.4462599969e-01 |
| 605 | 6 | 223 | 117.073991459622 | 8.8881116422e-02 |
| 606 | 6 | 224 | 117.617676562727 | 8.6320856703e-02 |
| 607 | 6 | 225 | 118.152797338160 | 8.9746423287e-02 |
| 608 | 6 | 226 | 118.779066963838 | 1.0642859185e+00 |
| 609 | 6 | 227 | 119.156043513311 | 9.8775176131e-02 |
| 610 | 6 | 228 | 119.703253304607 | 8.8506814176e-02 |
| 611 | 6 | 229 | 120.239096503180 | 8.5455411035e-02 |
| 612 | 6 | 230 | 120.773043132904 | 8.5689129420e-02 |
| 613 | 6 | 231 | 121.363764074397 | 1.0784013033e+00 |
| 614 | 6 | 232 | 121.810341670073 | 9.1159919445e-02 |
| 615 | 6 | 233 | 122.349246806810 | 8.7281280704e-02 |
| 616 | 6 | 234 | 122.940676187161 | 1.0841640482e+00 |
| 617 | 6 | 235 | 123.401375488887 | 8.9891597050e-02 |
| 618 | 6 | 236 | 123.996841338325 | 1.4326084444e-01 |
| 619 | 6 | 237 | 124.278872584508 | 1.0177403938e+00 |
| 620 | 6 | 238 | 124.935643676558 | 8.7417679133e-02 |
| 621 | 6 | 239 | 125.472551378855 | 8.5397748283e-02 |
| 622 | 6 | 240 | 126.007202613316 | 9.0210903466e-02 |
| 623 | 6 | 241 | 126.542168589755 | 8.8152410114e-02 |
| 624 | 6 | 242 | 127.068391938657 | 8.7799281138e-02 |
| 625 | 6 | 243 | 127.522559405708 | 1.0806623520e+00 |
| 626 | 6 | 244 | 128.106143502240 | 9.0068012870e-02 |
| 627 | 6 | 245 | 128.643701760936 | 8.6728587816e-02 |
| 628 | 6 | 246 | 129.196622691567 | 9.5911390091e-02 |
| 629 | 6 | 247 | 129.589972469476 | 1.0731113936e+00 |
| 630 | 6 | 248 | 130.212194497948 | 8.9070768167e-02 |
| 631 | 6 | 249 | 130.800324957100 | 1.2507021553e-01 |
| 632 | 6 | 250 | 131.106490174713 | 1.0354831820e+00 |
| 633 | 6 | 251 | 131.765086046974 | 9.2629336703e-02 |
| 634 | 6 | 252 | 132.297621547379 | 8.7051335494e-02 |
| 635 | 6 | 253 | 132.844333035916 | 9.2128235510e-02 |
| 636 | 6 | 254 | 133.481864418861 | 1.0506386590e+00 |
| 637 | 6 | 255 | 133.822059909908 | 1.1310395410e-01 |
| 638 | 6 | 256 | 134.433578354665 | 1.2083381885e-01 |
| 639 | 6 | 257 | 134.773299397181 | 1.0520043053e+00 |
| 640 | 6 | 258 | 135.406903650055 | 8.9113593441e-02 |
| 641 | 6 | 259 | 135.948176716397 | 8.6886133692e-02 |
| 642 | 6 | 260 | 136.480793412516 | 8.5456096393e-02 |
| 643 | 6 | 261 | 137.004911256791 | 9.0866480867e-02 |
| 644 | 6 | 262 | 137.541173049576 | 8.6091071222e-02 |
| 645 | 6 | 263 | 138.111788343102 | 1.0828444077e+00 |
| 646 | 6 | 264 | 138.593073068916 | 9.3128194417e-02 |
| 647 | 6 | 265 | 139.121929855258 | 8.7199709628e-02 |
| 648 | 6 | 266 | 139.728286361519 | 1.0780133703e+00 |
| 649 | 6 | 267 | 140.140257345323 | 9.5336326772e-02 |
| 650 | 6 | 268 | 140.698962644399 | 9.0707189362e-02 |
| 651 | 6 | 269 | 141.131518742791 | 1.0774699974e+00 |
| 652 | 6 | 270 | 141.736960455718 | 9.4589268932e-02 |
| 653 | 6 | 271 | 142.277715162952 | 8.8820216294e-02 |
| 654 | 6 | 272 | 142.881347649615 | 1.7186511807e-01 |
| 655 | 6 | 273 | 143.137743255115 | 9.9328863565e-01 |
| 656 | 6 | 274 | 143.804374160530 | 8.8698536089e-02 |
| 657 | 6 | 275 | 144.352041330906 | 9.3155661591e-02 |
| 658 | 6 | 276 | 144.869406627349 | 8.6735560499e-02 |
| 659 | 6 | 277 | 145.410755412217 | 9.4711067111e-02 |
| 660 | 6 | 278 | 145.994853522921 | 1.0819263506e+00 |
| 661 | 6 | 279 | 146.452809779388 | 9.6975267666e-02 |
| 662 | 6 | 280 | 146.988139426898 | 8.9748755087e-02 |
| 663 | 6 | 281 | 147.429940951097 | 1.0797896353e+00 |
| 664 | 6 | 282 | 148.027858806348 | 8.7141670434e-02 |
| 665 | 6 | 283 | 148.564643326253 | 8.6368586500e-02 |
| 666 | 6 | 284 | 149.103641442214 | 9.1858962352e-02 |
| 667 | 6 | 285 | 149.636805869112 | 9.9634256756e-02 |
| 668 | 6 | 286 | 150.064614244394 | 1.0840747814e+00 |
| 669 | 6 | 287 | 150.809429604848 | 4.1497645525e-01 |
| 670 | 6 | 288 | 150.985184784182 | 7.4600972464e-01 |
| 671 | 6 | 289 | 151.664918492536 | 9.9888374819e-02 |
| 672 | 6 | 290 | 152.228828409709 | 9.1881581682e-02 |
| 673 | 6 | 291 | 152.879205480948 | 3.2621964207e-01 |
| 674 | 6 | 292 | 153.072098668848 | 8.4079051067e-01 |
| 675 | 6 | 293 | 153.762415543282 | 9.1677472434e-02 |
| 676 | 6 | 294 | 154.315289384147 | 9.6495480532e-02 |
| 677 | 6 | 295 | 154.832218275045 | 8.9950471904e-02 |
| 678 | 6 | 296 | 155.394305296898 | 1.0019133594e-01 |
| 679 | 6 | 297 | 156.065736394638 | 8.4571769842e-01 |
| 680 | 6 | 298 | 156.255406743259 | 3.1452931205e-01 |
| 681 | 6 | 299 | 156.920435668877 | 9.2358993887e-02 |
| 682 | 6 | 300 | 157.579828024488 | 1.0625061756e+00 |
| 683 | 6 | 301 | 157.918325032480 | 1.1936606480e-01 |
| 684 | 6 | 302 | 158.547857379403 | 1.2584666455e-01 |
| 685 | 6 | 303 | 158.867847554742 | 1.0532004149e+00 |
| 686 | 6 | 304 | 159.518822682408 | 8.9278094762e-02 |
| 687 | 6 | 305 | 160.062993453125 | 8.7904172233e-02 |
| 688 | 6 | 306 | 160.610050161523 | 9.3141951889e-02 |
| 689 | 6 | 307 | 161.181314800218 | 1.0864681361e+00 |
| 690 | 6 | 308 | 161.648485318409 | 1.0568532161e-01 |
| 691 | 6 | 309 | 162.183560052154 | 9.2099286051e-02 |
| 692 | 6 | 310 | 162.770682343934 | 1.6398836169e-01 |
| 693 | 6 | 311 | 163.054692267916 | 1.0116520902e+00 |
| 694 | 6 | 312 | 163.722911249167 | 9.0012107814e-02 |
| 695 | 6 | 313 | 164.264682800736 | 1.0563785939e-01 |
| 696 | 6 | 314 | 164.810320138233 | 9.1975671123e-02 |
| 697 | 6 | 315 | 165.497940087278 | 9.0735000327e-01 |
| 698 | 6 | 316 | 165.707832259659 | 2.5385696244e-01 |
| 699 | 6 | 317 | 166.340879961631 | 1.0978963272e-01 |
| 700 | 6 | 318 | 167.006669069393 | 2.4057139562e-01 |
| 701 | 6 | 319 | 167.222073570277 | 9.2252881004e-01 |
| 702 | 6 | 320 | 167.918699555739 | 9.7185176964e-02 |
| 703 | 6 | 321 | 168.443758057592 | 1.0449418484e-01 |
| 704 | 6 | 322 | 169.076486222812 | 1.0663768951e+00 |
| 705 | 6 | 323 | 169.435848081862 | 1.1762202251e-01 |
| 706 | 6 | 324 | 169.919817961103 | 1.0829126406e+00 |
| 707 | 6 | 325 | 170.505960517141 | 1.0740568809e-01 |
| 708 | 6 | 326 | 171.059117565567 | 8.8845425063e-02 |
| 709 | 6 | 327 | 171.594008366285 | 9.0144160977e-02 |
| 710 | 6 | 328 | 172.104704410021 | 1.0512575776e-01 |
| 711 | 6 | 329 | 172.664170537481 | 9.1097866421e-02 |
| 712 | 6 | 330 | 173.349387051016 | 7.4981008558e-01 |
| 713 | 6 | 331 | 173.521804734735 | 4.3317125362e-01 |
| 714 | 6 | 332 | 174.209406698952 | 1.1017903890e-01 |
| 715 | 6 | 333 | 174.750984805902 | 1.0895849835e+00 |
| 716 | 6 | 334 | 175.249941301115 | 8.9876271840e-02 |
| 717 | 6 | 335 | 175.792801744050 | 8.9860713107e-02 |
| 718 | 6 | 336 | 176.428312063385 | 1.0654726197e+00 |
| 719 | 6 | 337 | 176.810729148238 | 1.2467330565e-01 |
| 720 | 6 | 338 | 177.346230288622 | 9.2060337745e-02 |
| 721 | 6 | 339 | 177.895387455028 | 9.6054779677e-02 |
| 722 | 6 | 340 | 178.377920719319 | 1.1026997826e+00 |
| 723 | 6 | 341 | 178.955148631153 | 1.0089587280e-01 |
| 724 | 6 | 342 | 179.439364507685 | 9.8256870067e-02 |
| 725 | 6 | 343 | 179.921647569872 | 1.0874535504e+00 |
| 726 | 6 | 344 | 180.517774637073 | 9.3437235321e-02 |
| 727 | 6 | 345 | 181.011209034468 | 1.1172413790e-01 |
| 728 | 6 | 346 | 181.546755953553 | 1.1635327207e-01 |
| 729 | 6 | 347 | 182.193607409372 | 1.0646672116e+00 |
| 730 | 6 | 348 | 182.564446662310 | 1.0566500496e-01 |
| 731 | 6 | 349 | 183.124244764063 | 9.2454968075e-02 |
| 732 | 6 | 350 | 183.680132828286 | 9.5291062166e-02 |
| 733 | 6 | 351 | 184.169723550393 | 1.1208151710e-01 |
| 734 | 6 | 352 | 184.852988395163 | 1.0358689751e+00 |
| 735 | 6 | 353 | 185.188800655969 | 1.5926096410e-01 |
| 736 | 6 | 354 | 185.609771231613 | 1.0887476381e+00 |
| 737 | 6 | 355 | 186.250678992766 | 9.5646577492e-02 |
| 738 | 6 | 356 | 186.750247651952 | 1.1929522000e-01 |
| 739 | 6 | 357 | 187.235325743868 | 1.0839513832e+00 |
| 740 | 6 | 358 | 187.830364397758 | 8.9110252526e-02 |
| 741 | 6 | 359 | 188.375100861774 | 1.2493765130e-01 |
| 742 | 6 | 360 | 188.896317707544 | 9.0017414553e-02 |
| 743 | 6 | 361 | 189.418793474186 | 1.1008577665e+00 |
| 744 | 6 | 362 | 189.912778465320 | 1.0952537028e-01 |
| 745 | 6 | 363 | 190.488786871132 | 1.0461577501e-01 |
| 746 | 6 | 364 | 190.953086433434 | 1.0843529711e-01 |
| 747 | 6 | 365 | 191.512473718208 | 9.0950231878e-02 |
| 748 | 6 | 366 | 192.030953401626 | 1.1198904648e+00 |
| 749 | 6 | 367 | 192.550551180892 | 9.5509169018e-02 |
| 750 | 6 | 368 | 193.080897279081 | 1.0898014505e+00 |
| 751 | 6 | 369 | 193.623489288937 | 9.3664432845e-02 |
| 752 | 6 | 370 | 194.175285065719 | 1.0560783161e-01 |
| 753 | 6 | 371 | 194.637399613615 | 1.0995408854e-01 |
| 754 | 6 | 372 | 195.258518050467 | 1.0847311686e+00 |
| 755 | 6 | 373 | 195.712932694489 | 9.3702557251e-02 |
| 756 | 6 | 374 | 196.233216541263 | 1.3588542306e-01 |
| 757 | 6 | 375 | 196.869443405906 | 1.1069560121e+00 |
| 758 | 6 | 376 | 197.268900143201 | 1.1379355386e-01 |
| 759 | 6 | 377 | 197.975559385431 | 9.5826171623e-01 |
| 760 | 6 | 378 | 198.189250715053 | 2.5526802939e-01 |
| 761 | 6 | 379 | 198.829131598870 | 9.6226059027e-02 |
| 762 | 6 | 380 | 199.387928439786 | 9.3588522133e-02 |
| 763 | 6 | 381 | 199.953496925192 | 1.1321545427e-01 |
| 764 | 6 | 382 | 200.404588384963 | 1.1615280408e-01 |
| 765 | 6 | 383 | 201.077181107823 | 2.7078086046e-01 |
| 766 | 6 | 384 | 201.299424611402 | 9.4896636373e-01 |
| 767 | 6 | 385 | 201.972757269994 | 9.5774443504e-02 |
| 768 | 6 | 386 | 202.496559613489 | 1.0955941531e+00 |
| 769 | 6 | 387 | 203.104015781535 | 1.2774170835e-01 |
| 770 | 6 | 388 | 203.554300913144 | 1.0588998857e-01 |
| 771 | 6 | 389 | 204.181729326724 | 1.0848736469e+00 |
| 772 | 6 | 390 | 204.626027399256 | 1.5693216183e-01 |
| 773 | 6 | 391 | 205.330292143153 | 7.2588962713e-01 |
| 774 | 6 | 392 | 205.506608146482 | 4.4120747163e-01 |
| 775 | 6 | 393 | 206.204861334350 | 1.5387660151e-01 |
| 776 | 6 | 394 | 206.724834055671 | 9.5881480587e-02 |
| 777 | 6 | 395 | 207.291559581769 | 1.0236820855e-01 |
| 778 | 6 | 396 | 207.881528663343 | 1.0991025719e+00 |
| 779 | 6 | 397 | 208.286958939146 | 1.7111010121e-01 |
| 780 | 6 | 398 | 208.794100621152 | 1.1423597992e-01 |
| 781 | 6 | 399 | 209.518344874693 | 8.1696557111e-01 |
| 782 | 6 | 400 | 209.739109272289 | 4.0984634224e-01 |
| 783 | 6 | 401 | 210.331753792849 | 1.0504341115e-01 |
| 784 | 6 | 402 | 210.913745791708 | 9.9957882501e-02 |
| 785 | 6 | 403 | 211.590082913975 | 5.1104300169e-01 |
| 786 | 6 | 404 | 211.766447101144 | 6.6181476942e-01 |
| 787 | 6 | 405 | 212.475094037144 | 1.0680812781e-01 |
| 788 | 6 | 406 | 212.978659321077 | 1.8293668931e-01 |
| 789 | 6 | 407 | 213.361931539670 | 1.1255070864e+00 |
| 790 | 6 | 408 | 214.010419845027 | 9.7552612292e-02 |
| 791 | 6 | 409 | 214.547879018703 | 1.0928857618e+00 |
| 792 | 6 | 410 | 215.073929007700 | 1.6714659086e-01 |
| 793 | 6 | 411 | 215.634084077939 | 9.7848584856e-02 |
| 794 | 6 | 412 | 216.174603267299 | 1.1452003120e+00 |
| 795 | 6 | 413 | 216.625545404380 | 1.1424735526e-01 |
| 796 | 6 | 414 | 217.194470292974 | 9.5853616933e-02 |
| 797 | 6 | 415 | 217.764851965392 | 1.7663759201e-01 |
| 798 | 6 | 416 | 218.276347747418 | 9.9507174694e-02 |
| 799 | 6 | 417 | 218.966016854438 | 5.4751514839e-01 |
| 800 | 6 | 418 | 219.167633857799 | 6.9092745191e-01 |
| 801 | 6 | 419 | 219.761596561201 | 1.1428752189e-01 |
| 802 | 6 | 420 | 220.356328108908 | 1.2039484624e-01 |
| 803 | 6 | 421 | 220.730669525166 | 1.1535376291e+00 |
| 804 | 6 | 422 | 221.425225801439 | 1.0957032894e+00 |
| 805 | 6 | 423 | 221.901036716936 | 9.9228801851e-02 |
| 806 | 6 | 424 | 222.438955082538 | 1.0047506864e-01 |
| 807 | 6 | 425 | 223.034343133829 | 1.5274065308e-01 |
| 808 | 6 | 426 | 223.445444094167 | 1.2175529071e-01 |
| 809 | 6 | 427 | 224.012971138006 | 1.1884863283e+00 |
| 810 | 6 | 428 | 224.561378572326 | 1.0656065473e-01 |
| 811 | 6 | 429 | 224.993577725140 | 1.0946884339e+00 |
| 812 | 6 | 430 | 225.537984926875 | 1.8941397446e-01 |
| 813 | 6 | 431 | 226.145617217513 | 1.1339593193e-01 |
| 814 | 6 | 432 | 226.587965483292 | 1.7997951256e-01 |
| 815 | 6 | 433 | 227.316181089956 | 5.0805747177e-01 |
| 816 | 6 | 434 | 227.497258479582 | 6.7458909987e-01 |
| 817 | 6 | 435 | 228.241458853277 | 1.9523342579e-01 |
| 818 | 6 | 436 | 228.693908634064 | 1.1247491619e-01 |
| 819 | 6 | 437 | 229.326147780597 | 1.0880635356e+00 |
| 820 | 6 | 438 | 229.751349424562 | 1.0668270399e-01 |
| 821 | 6 | 439 | 230.355143873401 | 2.0845264198e-01 |
| 822 | 6 | 440 | 230.851797716153 | 1.1508964573e-01 |
| 823 | 6 | 441 | 231.262676249974 | 1.0835293623e+00 |
| 824 | 6 | 442 | 231.972242221673 | 1.2058458328e+00 |
| 825 | 6 | 443 | 232.427901195651 | 1.3266902838e-01 |
| 826 | 6 | 444 | 232.857314977475 | 1.9460000828e-01 |
| 827 | 6 | 445 | 233.609093485181 | 6.2298960622e-01 |
| 828 | 6 | 446 | 233.788275818956 | 5.6054696296e-01 |
| 829 | 6 | 447 | 234.486330834679 | 1.0870933015e-01 |
| 830 | 6 | 448 | 234.950806432797 | 2.2265374951e-01 |
| 831 | 6 | 449 | 235.554607198178 | 1.0550799935e-01 |
| 832 | 6 | 450 | 236.096089993667 | 2.5268703191e-01 |
| 833 | 6 | 451 | 236.544294969989 | 1.1216426421e+00 |
| 834 | 6 | 452 | 237.029244066535 | 1.8465806032e-01 |
| 835 | 6 | 453 | 237.749499534725 | 1.0584761264e+00 |
| 836 | 6 | 454 | 238.091512193611 | 1.4249387198e-01 |
| 837 | 6 | 455 | 238.684857064510 | 1.0429300867e-01 |
| 838 | 6 | 456 | 239.319169243611 | 2.2254394682e-01 |
| 839 | 6 | 457 | 239.576022765452 | 1.1157792901e+00 |
| 840 | 6 | 458 | 240.264638831046 | 1.1407123596e-01 |
| 841 | 6 | 459 | 240.936716759429 | 4.7956872916e-01 |
| 842 | 6 | 460 | 241.116546362311 | 8.5575831161e-01 |
| 843 | 6 | 461 | 241.812881034638 | 1.0756969023e-01 |
| 844 | 6 | 462 | 242.412141448189 | 2.5485429127e-01 |
| 845 | 6 | 463 | 242.828212122583 | 1.1063995162e+00 |
| 846 | 6 | 464 | 243.387065966650 | 2.6430492489e-01 |
| 847 | 6 | 465 | 244.052890404534 | 1.0726276822e+00 |
| 848 | 6 | 466 | 244.413621088735 | 1.3329640779e-01 |
| 849 | 6 | 467 | 244.913048474233 | 2.6707383088e-01 |
| 850 | 6 | 468 | 245.511824331968 | 1.1028069884e-01 |
| 851 | 6 | 469 | 246.059675121662 | 1.1021375527e-01 |
| 852 | 6 | 470 | 246.685783524534 | 2.0998849174e-01 |
| 853 | 6 | 471 | 247.121365828309 | 1.1525145259e+00 |
| 854 | 6 | 472 | 247.628033905843 | 1.3042677450e-01 |
| 855 | 6 | 473 | 248.117496196315 | 1.1451453152e+00 |
| 856 | 6 | 474 | 248.573866361727 | 2.3922272195e-01 |
| 857 | 6 | 475 | 249.300030750559 | 2.1272253859e-01 |
| 858 | 6 | 476 | 249.625348763715 | 1.1060808863e+00 |
| 859 | 6 | 477 | 250.132307533962 | 1.7650228717e-01 |
| 860 | 6 | 478 | 250.896001290950 | 4.9237363951e-01 |
| 861 | 6 | 479 | 251.093125427943 | 7.1895870899e-01 |
| 862 | 6 | 480 | 251.887015459480 | 2.7023760067e-01 |
| 863 | 6 | 481 | 252.362647849141 | 3.0360617847e-01 |
| 864 | 6 | 482 | 252.885037642738 | 3.8526204027e-01 |
| 865 | 6 | 483 | 253.129726568086 | 8.5655626151e-01 |
| 866 | 6 | 484 | 253.840382796862 | 1.1865086014e-01 |
| 867 | 6 | 485 | 254.428157424509 | 3.2603266311e-01 |
| 868 | 6 | 486 | 254.977655802970 | 1.5168784792e-01 |
| 869 | 6 | 487 | 255.314531820996 | 1.2825374714e+00 |
| 870 | 6 | 488 | 255.976856351373 | 1.2958866097e-01 |
| 871 | 6 | 489 | 256.394180233597 | 1.0894179362e+00 |
| 872 | 6 | 490 | 257.016901054739 | 1.2127677631e-01 |
| 873 | 6 | 491 | 257.578791599370 | 1.1374543449e-01 |
| 874 | 6 | 492 | 258.198928467839 | 3.1379125575e-01 |
| 875 | 6 | 493 | 258.608562837700 | 1.1440213102e+00 |
| 876 | 6 | 494 | 259.269885339857 | 3.2732233586e-01 |
| 877 | 6 | 495 | 259.822330916122 | 9.8586273115e-01 |
| 878 | 6 | 496 | 260.175594013969 | 4.5094013415e-01 |
| 879 | 6 | 497 | 260.761925755182 | 1.0589332625e+00 |
| 880 | 6 | 498 | 261.088977307592 | 2.0474929142e-01 |
| 881 | 6 | 499 | 261.731027830525 | 1.3469343767e-01 |
| 882 | 6 | 500 | 262.161069438318 | 3.5915528303e-01 |
| 883 | 6 | 501 | 262.782713815182 | 1.2236610036e-01 |
| 884 | 6 | 502 | 263.482593820120 | 6.9035532805e-01 |
| 885 | 6 | 503 | 263.655966068623 | 7.9828397816e-01 |
| 886 | 6 | 504 | 264.335638350173 | 1.2379783768e-01 |
| 887 | 6 | 505 | 264.955464638773 | 3.9927293723e-01 |
| 888 | 6 | 506 | 265.533243762243 | 1.0658416841e+00 |
| 889 | 6 | 507 | 265.876772908402 | 1.5896422956e-01 |
| 890 | 6 | 508 | 266.588949343599 | 1.0727331352e+00 |
| 891 | 6 | 509 | 266.988028040124 | 4.5486432229e-01 |
| 892 | 6 | 510 | 267.501042697589 | 1.3749908223e-01 |
| 893 | 6 | 511 | 267.934983875047 | 1.1031507897e+00 |
| 894 | 6 | 512 | 268.568321198051 | 4.3514561485e-01 |
| 895 | 6 | 513 | 269.122026425711 | 1.2294601805e-01 |
| 896 | 6 | 514 | 269.806874525732 | 4.1272021785e-01 |
| 897 | 6 | 515 | 270.063729195058 | 9.3179821715e-01 |
| 898 | 6 | 516 | 270.518896801913 | 3.1630383198e-01 |
| 899 | 6 | 517 | 271.190586539343 | 5.3473081181e-01 |
| 900 | 6 | 518 | 271.526900466322 | 1.0394434341e+00 |
| 901 | 6 | 519 | 272.271636619557 | 4.5697297798e-01 |
| 902 | 6 | 520 | 272.734880035234 | 1.3750746681e-01 |
| 903 | 6 | 521 | 273.420261981213 | 9.8684648902e-01 |
| 904 | 6 | 522 | 273.687237977246 | 2.4242425845e-01 |
| 905 | 6 | 523 | 274.301284792504 | 1.3265970098e-01 |
| 906 | 6 | 524 | 274.837231714936 | 4.9919310501e-01 |
| 907 | 6 | 525 | 275.540432220614 | 9.4809323779e-01 |
| 908 | 6 | 526 | 275.789600867503 | 2.8596030973e-01 |
| 909 | 6 | 527 | 276.445961318061 | 1.5158900460e+00 |
| 910 | 6 | 528 | 276.980350937838 | 1.2748597586e-01 |
| 911 | 6 | 529 | 277.589664664231 | 1.9669931612e-01 |
| 912 | 6 | 530 | 278.048551953437 | 8.0844332611e-01 |
| 913 | 6 | 531 | 278.346554368922 | 7.5765827795e-01 |
| 914 | 6 | 532 | 279.086871528570 | 1.0491725113e+00 |
| 915 | 6 | 533 | 279.352665342097 | 5.8994741758e-01 |
| 916 | 6 | 534 | 280.043171469361 | 1.4575576044e-01 |
| 917 | 6 | 535 | 280.611356336471 | 1.4046749148e-01 |
| 918 | 6 | 536 | 281.073183995619 | 5.4837286831e-01 |
| 919 | 6 | 537 | 281.799736201338 | 3.3204762679e-01 |
| 920 | 6 | 538 | 282.144594954388 | 4.7803220687e-01 |
| 921 | 6 | 539 | 282.511553600001 | 1.0047613057e+00 |
| 922 | 6 | 540 | 283.208661277080 | 1.1461881133e+00 |
| 923 | 6 | 541 | 283.675362035771 | 5.8764021497e-01 |
| 924 | 6 | 542 | 284.263517514510 | 1.3916942328e-01 |
| 925 | 6 | 543 | 284.831299513646 | 1.1332409225e+00 |
| 926 | 6 | 544 | 285.355286348686 | 1.4228900655e-01 |
| 927 | 6 | 545 | 285.958159655250 | 2.0113465950e-01 |
| 928 | 6 | 546 | 286.357660633943 | 6.8837262868e-01 |
| 929 | 6 | 547 | 286.716936476745 | 9.8850173656e-01 |
| 930 | 6 | 548 | 287.302048066694 | 6.2736824776e-01 |
| 931 | 6 | 549 | 287.914432359509 | 1.1514538786e+00 |
| 932 | 6 | 550 | 288.461469705271 | 6.5616499331e-01 |
| 933 | 6 | 551 | 289.017357324000 | 1.3854972206e-01 |
| 934 | 6 | 552 | 289.575577925426 | 1.1531212376e+00 |
| 935 | 6 | 553 | 290.000319056422 | 6.6432472303e-01 |
| 936 | 6 | 554 | 290.612969505395 | 1.6480143942e-01 |
| 937 | 6 | 555 | 291.284369824377 | 3.6061710564e-01 |
| 938 | 6 | 556 | 291.667228026456 | 9.2587502191e-01 |
| 939 | 6 | 557 | 291.962181476879 | 6.6738336480e-01 |
| 940 | 6 | 558 | 292.684595121498 | 1.6377411555e-01 |
| 941 | 6 | 559 | 293.337067856811 | 3.3961387441e-01 |
| 942 | 6 | 560 | 293.624639390692 | 9.8695751445e-01 |
| 943 | 6 | 561 | 294.166810766400 | 7.4441269057e-01 |
| 944 | 6 | 562 | 294.776148921764 | 1.1872264085e+00 |
| 945 | 6 | 563 | 295.103925721866 | 6.9452644839e-01 |
| 946 | 6 | 564 | 295.603239491996 | 1.0938874232e+00 |
| 947 | 6 | 565 | 296.284407103600 | 1.5868666312e-01 |
| 948 | 6 | 566 | 296.841005787738 | 7.9331648238e-01 |
| 949 | 6 | 567 | 297.366988908029 | 1.5533264037e-01 |
| 950 | 6 | 568 | 297.972118815475 | 1.1562266755e+00 |
| 951 | 6 | 569 | 298.381074387306 | 8.2643998613e-01 |
| 952 | 6 | 570 | 299.083428227062 | 3.3435381107e-01 |
| 953 | 6 | 571 | 299.378273172070 | 6.8061610502e-01 |
| 954 | 6 | 572 | 299.868051380748 | 1.1200643847e+00 |
| 955 | 8 | 1 | 0.562101262810 | 6.5645093444e-02 |
| 956 | 8 | 2 | 0.966387712065 | 6.3595420564e-02 |
| 957 | 8 | 3 | 1.364048610833 | 6.3073618021e-02 |
| 958 | 8 | 4 | 1.759609068364 | 6.2863779223e-02 |
| 959 | 8 | 5 | 2.154231042340 | 6.2758829618e-02 |
| 960 | 8 | 6 | 2.548352632577 | 6.2698953475e-02 |
| 961 | 8 | 7 | 2.942176853856 | 6.2661729954e-02 |
| 962 | 8 | 8 | 3.335809701748 | 6.2637086164e-02 |
| 963 | 8 | 9 | 3.729314788296 | 6.2620156619e-02 |
| 964 | 8 | 10 | 4.122726279872 | 6.2607296680e-02 |
| 965 | 8 | 11 | 4.516072836607 | 6.2599244611e-02 |
| 966 | 8 | 12 | 4.909374362568 | 6.2592458371e-02 |
| 967 | 8 | 13 | 5.302635341579 | 6.2586549565e-02 |
| 968 | 8 | 14 | 5.695868457680 | 6.2584206901e-02 |
| 969 | 8 | 15 | 6.089094583077 | 6.2582607275e-02 |
| 970 | 8 | 16 | 6.482298416328 | 6.2578704887e-02 |
| 971 | 8 | 17 | 6.875495020878 | 6.2579429234e-02 |
| 972 | 8 | 18 | 7.268686818940 | 6.2577742961e-02 |
| 973 | 8 | 19 | 7.661885441785 | 6.2581201280e-02 |
| 974 | 8 | 20 | 8.055091022969 | 6.2579678332e-02 |
| 975 | 8 | 21 | 8.448301836269 | 6.2583820839e-02 |
| 976 | 8 | 22 | 8.841529238036 | 6.2583717124e-02 |
| 977 | 8 | 23 | 9.234775840260 | 6.2592495894e-02 |
| 978 | 8 | 24 | 9.628077417783 | 6.2597354454e-02 |
| 979 | 8 | 25 | 10.021404355417 | 6.2604410542e-02 |
| 980 | 8 | 26 | 10.414792525863 | 6.2614779628e-02 |
| 981 | 8 | 27 | 10.808266456809 | 6.2634169912e-02 |
| 982 | 8 | 28 | 11.201873177950 | 6.2653775310e-02 |
| 983 | 8 | 29 | 11.595636815802 | 6.2690902381e-02 |
| 984 | 8 | 30 | 11.989709807418 | 6.2747277838e-02 |
| 985 | 8 | 31 | 12.384217390841 | 6.2841558933e-02 |
| 986 | 8 | 32 | 12.779617431856 | 6.3041546844e-02 |
| 987 | 8 | 33 | 13.176980424605 | 6.3528912044e-02 |
| 988 | 8 | 34 | 13.580554790445 | 6.5445683998e-02 |
| 989 | 8 | 35 | 14.094847764913 | 6.9252562370e-01 |
| 990 | 8 | 36 | 14.202969969499 | 4.2088584025e-01 |
| 991 | 8 | 37 | 14.708345985468 | 6.5433201552e-02 |
| 992 | 8 | 38 | 15.111913496220 | 6.3533665035e-02 |
| 993 | 8 | 39 | 15.509264140918 | 6.3032123074e-02 |
| 994 | 8 | 40 | 15.904626701973 | 6.2842707110e-02 |
| 995 | 8 | 41 | 16.299150348375 | 6.2746749841e-02 |
| 996 | 8 | 42 | 16.693204960528 | 6.2690088959e-02 |
| 997 | 8 | 43 | 17.086968937564 | 6.2654223027e-02 |
| 998 | 8 | 44 | 17.480581318301 | 6.2636374031e-02 |
| 999 | 8 | 45 | 17.874051502220 | 6.2612041761e-02 |
| 1000 | 8 | 46 | 18.267428815505 | 6.2605793340e-02 |
| 1001 | 8 | 47 | 18.660755683433 | 6.2595142229e-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())