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

← prev page 2 of 8 · 500/page · 3815 rows next →
# akz_kw_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())