E-016-herglotz-fine-structure.py
Experiments: E-016 · script updated 08-18-2026
E-016-herglotz-fine-structure.csv
— 130.1 KB, updated 08-18-2026
| # | series | a | y | rho |
|---|---|---|---|---|
| 502 | W_thpi | 4.0 | 5.950000 | 1.2726686965e+00 |
| 503 | W_thpi | 4.0 | 6.000000 | 1.2726325110e+00 |
| 504 | W_thpi | 4.0 | 6.050000 | 1.2725973504e+00 |
| 505 | W_thpi | 4.0 | 6.100000 | 1.2725631805e+00 |
| 506 | W_thpi | 4.0 | 6.150000 | 1.2725299687e+00 |
| 507 | W_thpi | 4.0 | 6.200000 | 1.2724976835e+00 |
| 508 | W_thpi | 4.0 | 6.250000 | 1.2724662948e+00 |
| 509 | W_thpi | 4.0 | 6.300000 | 1.2724357737e+00 |
| 510 | W_thpi | 4.0 | 6.350000 | 1.2724060925e+00 |
| 511 | W_thpi | 4.0 | 6.400000 | 1.2723772244e+00 |
| 512 | W_thpi | 4.0 | 6.450000 | 1.2723491438e+00 |
| 513 | W_thpi | 4.0 | 6.500000 | 1.2723218260e+00 |
| 514 | W_thpi | 4.0 | 6.550000 | 1.2722952474e+00 |
| 515 | W_thpi | 4.0 | 6.600000 | 1.2722693850e+00 |
| 516 | W_thpi | 4.0 | 6.650000 | 1.2722442169e+00 |
| 517 | W_thpi | 4.0 | 6.700000 | 1.2722197219e+00 |
| 518 | W_thpi | 4.0 | 6.750000 | 1.2721958798e+00 |
| 519 | W_thpi | 4.0 | 6.800000 | 1.2721726709e+00 |
| 520 | W_thpi | 4.0 | 6.850000 | 1.2721500762e+00 |
| 521 | W_thpi | 4.0 | 6.900000 | 1.2721280777e+00 |
| 522 | W_thpi | 4.0 | 6.950000 | 1.2721066576e+00 |
| 523 | W_thpi | 4.0 | 7.000000 | 1.2720857992e+00 |
| 524 | W_thpi | 4.0 | 7.050000 | 1.2720654860e+00 |
| 525 | W_thpi | 4.0 | 7.100000 | 1.2720457022e+00 |
| 526 | W_thpi | 4.0 | 7.150000 | 1.2720264328e+00 |
| 527 | W_thpi | 4.0 | 7.200000 | 1.2720076629e+00 |
| 528 | W_thpi | 4.0 | 7.250000 | 1.2719893784e+00 |
| 529 | W_thpi | 4.0 | 7.300000 | 1.2719715657e+00 |
| 530 | W_thpi | 4.0 | 7.350000 | 1.2719542114e+00 |
| 531 | W_thpi | 4.0 | 7.400000 | 1.2719373028e+00 |
| 532 | W_thpi | 4.0 | 7.450000 | 1.2719208276e+00 |
| 533 | W_thpi | 4.0 | 7.500000 | 1.2719047737e+00 |
| 534 | W_thpi | 4.0 | 7.550000 | 1.2718891296e+00 |
| 535 | W_thpi | 4.0 | 7.600000 | 1.2718738842e+00 |
| 536 | W_thpi | 4.0 | 7.650000 | 1.2718590266e+00 |
| 537 | W_thpi | 4.0 | 7.700000 | 1.2718445463e+00 |
| 538 | W_thpi | 4.0 | 7.750000 | 1.2718304333e+00 |
| 539 | W_thpi | 4.0 | 7.800000 | 1.2718166778e+00 |
| 540 | W_thpi | 4.0 | 7.850000 | 1.2718032701e+00 |
| 541 | W_thpi | 4.0 | 7.900000 | 1.2717902012e+00 |
| 542 | W_thpi | 4.0 | 7.950000 | 1.2717774621e+00 |
| 543 | W_thpi | 4.0 | 8.000000 | 1.2717650442e+00 |
| 544 | W_thpi | 4.0 | 8.050000 | 1.2717529391e+00 |
| 545 | W_thpi | 4.0 | 8.100000 | 1.2717411388e+00 |
| 546 | W_thpi | 4.0 | 8.150000 | 1.2717296353e+00 |
| 547 | W_thpi | 4.0 | 8.200000 | 1.2717184210e+00 |
| 548 | W_thpi | 4.0 | 8.250000 | 1.2717074886e+00 |
| 549 | W_thpi | 4.0 | 8.300000 | 1.2716968308e+00 |
| 550 | W_thpi | 4.0 | 8.350000 | 1.2716864407e+00 |
| 551 | W_thpi | 4.0 | 8.400000 | 1.2716763116e+00 |
| 552 | W_thpi | 4.0 | 8.450000 | 1.2716664369e+00 |
| 553 | W_thpi | 4.0 | 8.500000 | 1.2716568103e+00 |
| 554 | W_thpi | 4.0 | 8.550000 | 1.2716474255e+00 |
| 555 | W_thpi | 4.0 | 8.600000 | 1.2716382766e+00 |
| 556 | W_thpi | 4.0 | 8.650000 | 1.2716293577e+00 |
| 557 | W_thpi | 4.0 | 8.700000 | 1.2716206632e+00 |
| 558 | W_thpi | 4.0 | 8.750000 | 1.2716121876e+00 |
| 559 | W_thpi | 4.0 | 8.800000 | 1.2716039255e+00 |
| 560 | W_thpi | 4.0 | 8.850000 | 1.2715958718e+00 |
| 561 | W_thpi | 4.0 | 8.900000 | 1.2715880214e+00 |
| 562 | W_thpi | 4.0 | 8.950000 | 1.2715803695e+00 |
| 563 | W_thpi | 4.0 | 9.000000 | 1.2715729111e+00 |
| 564 | W_thpi | 4.0 | 9.050000 | 1.2715656418e+00 |
| 565 | W_thpi | 4.0 | 9.100000 | 1.2715585570e+00 |
| 566 | W_thpi | 4.0 | 9.150000 | 1.2715516522e+00 |
| 567 | W_thpi | 4.0 | 9.200000 | 1.2715449233e+00 |
| 568 | W_thpi | 4.0 | 9.250000 | 1.2715383662e+00 |
| 569 | W_thpi | 4.0 | 9.300000 | 1.2715319766e+00 |
| 570 | W_thpi | 4.0 | 9.350000 | 1.2715257508e+00 |
| 571 | W_thpi | 4.0 | 9.400000 | 1.2715196849e+00 |
| 572 | W_thpi | 4.0 | 9.450000 | 1.2715137751e+00 |
| 573 | W_thpi | 4.0 | 9.500000 | 1.2715080179e+00 |
| 574 | W_thpi | 4.0 | 9.550000 | 1.2715024097e+00 |
| 575 | W_thpi | 4.0 | 9.600000 | 1.2714969471e+00 |
| 576 | W_thpi | 4.0 | 9.650000 | 1.2714916267e+00 |
| 577 | W_thpi | 4.0 | 9.700000 | 1.2714864453e+00 |
| 578 | W_thpi | 4.0 | 9.750000 | 1.2714813997e+00 |
| 579 | W_thpi | 4.0 | 9.800000 | 1.2714764867e+00 |
| 580 | W_thpi | 4.0 | 9.850000 | 1.2714717034e+00 |
| 581 | W_thpi | 4.0 | 9.900000 | 1.2714670469e+00 |
| 582 | W_thpi | 4.0 | 9.950000 | 1.2714625143e+00 |
| 583 | W_thpi | 4.0 | 10.000000 | 1.2714581027e+00 |
| 584 | W_thpi | 4.0 | 10.050000 | 1.2714538095e+00 |
| 585 | W_thpi | 4.0 | 10.100000 | 1.2714496319e+00 |
| 586 | W_thpi | 4.0 | 10.150000 | 1.2714455675e+00 |
| 587 | W_thpi | 4.0 | 10.200000 | 1.2714416137e+00 |
| 588 | W_thpi | 4.0 | 10.250000 | 1.2714377681e+00 |
| 589 | W_thpi | 4.0 | 10.300000 | 1.2714340281e+00 |
| 590 | W_thpi | 4.0 | 10.350000 | 1.2714303916e+00 |
| 591 | W_thpi | 4.0 | 10.400000 | 1.2714268562e+00 |
| 592 | W_thpi | 4.0 | 10.450000 | 1.2714234196e+00 |
| 593 | W_thpi | 4.0 | 10.500000 | 1.2714200798e+00 |
| 594 | W_thpi | 4.0 | 10.550000 | 1.2714168346e+00 |
| 595 | W_thpi | 4.0 | 10.600000 | 1.2714136819e+00 |
| 596 | W_thpi | 4.0 | 10.650000 | 1.2714106196e+00 |
| 597 | W_thpi | 4.0 | 10.700000 | 1.2714076460e+00 |
| 598 | W_thpi | 4.0 | 10.750000 | 1.2714047589e+00 |
| 599 | W_thpi | 4.0 | 10.800000 | 1.2714019566e+00 |
| 600 | W_thpi | 4.0 | 10.850000 | 1.2713992371e+00 |
| 601 | W_thpi | 4.0 | 10.900000 | 1.2713965988e+00 |
| 602 | W_thpi | 4.0 | 10.950000 | 1.2713940398e+00 |
| 603 | W_thpi | 4.0 | 11.000000 | 1.2713915585e+00 |
| 604 | W_thpi | 4.0 | 11.050000 | 1.2713891532e+00 |
| 605 | W_thpi | 4.0 | 11.100000 | 1.2713868222e+00 |
| 606 | W_thpi | 4.0 | 11.150000 | 1.2713845640e+00 |
| 607 | W_thpi | 4.0 | 11.200000 | 1.2713823770e+00 |
| 608 | W_thpi | 4.0 | 11.250000 | 1.2713802597e+00 |
| 609 | W_thpi | 4.0 | 11.300000 | 1.2713782107e+00 |
| 610 | W_thpi | 4.0 | 11.350000 | 1.2713762284e+00 |
| 611 | W_thpi | 4.0 | 11.400000 | 1.2713743114e+00 |
| 612 | W_thpi | 4.0 | 11.450000 | 1.2713724584e+00 |
| 613 | W_thpi | 4.0 | 11.500000 | 1.2713706681e+00 |
| 614 | W_thpi | 4.0 | 11.550000 | 1.2713689390e+00 |
| 615 | W_thpi | 4.0 | 11.600000 | 1.2713672700e+00 |
| 616 | W_thpi | 4.0 | 11.650000 | 1.2713656597e+00 |
| 617 | W_thpi | 4.0 | 11.700000 | 1.2713641069e+00 |
| 618 | W_thpi | 4.0 | 11.750000 | 1.2713626105e+00 |
| 619 | W_thpi | 4.0 | 11.800000 | 1.2713611691e+00 |
| 620 | W_thpi | 4.0 | 11.850000 | 1.2713597818e+00 |
| 621 | W_thpi | 4.0 | 11.900000 | 1.2713584473e+00 |
| 622 | W_thpi | 4.0 | 11.950000 | 1.2713571645e+00 |
| 623 | W_thpi | 4.0 | 12.000000 | 1.2713559325e+00 |
| 624 | W_thpi | 4.0 | 12.050000 | 1.2713547500e+00 |
| 625 | W_thpi | 4.0 | 12.100000 | 1.2713536161e+00 |
| 626 | W_thpi | 4.0 | 12.150000 | 1.2713525299e+00 |
| 627 | W_thpi | 4.0 | 12.200000 | 1.2713514902e+00 |
| 628 | W_thpi | 4.0 | 12.250000 | 1.2713504962e+00 |
| 629 | W_thpi | 4.0 | 12.300000 | 1.2713495468e+00 |
| 630 | W_thpi | 4.0 | 12.350000 | 1.2713486412e+00 |
| 631 | W_thpi | 4.0 | 12.400000 | 1.2713477785e+00 |
| 632 | W_thpi | 4.0 | 12.450000 | 1.2713469578e+00 |
| 633 | W_thpi | 4.0 | 12.500000 | 1.2713461782e+00 |
| 634 | W_thpi | 4.0 | 12.550000 | 1.2713454389e+00 |
| 635 | W_thpi | 4.0 | 12.600000 | 1.2713447390e+00 |
| 636 | W_thpi | 4.0 | 12.650000 | 1.2713440777e+00 |
| 637 | W_thpi | 4.0 | 12.700000 | 1.2713434544e+00 |
| 638 | W_thpi | 4.0 | 12.750000 | 1.2713428680e+00 |
| 639 | W_thpi | 4.0 | 12.800000 | 1.2713423180e+00 |
| 640 | W_thpi | 4.0 | 12.850000 | 1.2713418036e+00 |
| 641 | W_thpi | 4.0 | 12.900000 | 1.2713413240e+00 |
| 642 | W_thpi | 4.0 | 12.950000 | 1.2713408785e+00 |
| 643 | W_thpi | 4.0 | 13.000000 | 1.2713404665e+00 |
| 644 | W_thpi | 4.0 | 13.050000 | 1.2713400873e+00 |
| 645 | W_thpi | 4.0 | 13.100000 | 1.2713397401e+00 |
| 646 | W_thpi | 4.0 | 13.150000 | 1.2713394243e+00 |
| 647 | W_thpi | 4.0 | 13.200000 | 1.2713391394e+00 |
| 648 | W_thpi | 4.0 | 13.250000 | 1.2713388846e+00 |
| 649 | W_thpi | 4.0 | 13.300000 | 1.2713386593e+00 |
| 650 | W_thpi | 4.0 | 13.350000 | 1.2713384630e+00 |
| 651 | W_thpi | 4.0 | 13.400000 | 1.2713382951e+00 |
| 652 | W_thpi | 4.0 | 13.450000 | 1.2713381550e+00 |
| 653 | W_thpi | 4.0 | 13.500000 | 1.2713380421e+00 |
| 654 | W_thpi | 4.0 | 13.550000 | 1.2713379558e+00 |
| 655 | W_thpi | 4.0 | 13.600000 | 1.2713378957e+00 |
| 656 | W_thpi | 4.0 | 13.650000 | 1.2713378612e+00 |
| 657 | W_thpi | 4.0 | 13.700000 | 1.2713378517e+00 |
| 658 | W_thpi | 4.0 | 13.750000 | 1.2713378668e+00 |
| 659 | W_thpi | 4.0 | 13.800000 | 1.2713379060e+00 |
| 660 | W_thpi | 4.0 | 13.850000 | 1.2713379688e+00 |
| 661 | W_thpi | 4.0 | 13.900000 | 1.2713380546e+00 |
| 662 | W_thpi | 4.0 | 13.950000 | 1.2713381631e+00 |
| 663 | W_thpi | 4.0 | 14.000000 | 1.2713382938e+00 |
| 664 | W_thpi | 4.0 | 14.050000 | 1.2713384462e+00 |
| 665 | W_thpi | 4.0 | 14.100000 | 1.2713386199e+00 |
| 666 | W_thpi | 4.0 | 14.150000 | 1.2713388144e+00 |
| 667 | W_thpi | 4.0 | 14.200000 | 1.2713390294e+00 |
| 668 | W_thpi | 4.0 | 14.250000 | 1.2713392643e+00 |
| 669 | W_thpi | 4.0 | 14.300000 | 1.2713395189e+00 |
| 670 | W_thpi | 4.0 | 14.350000 | 1.2713397926e+00 |
| 671 | W_thpi | 4.0 | 14.400000 | 1.2713400852e+00 |
| 672 | W_thpi | 4.0 | 14.450000 | 1.2713403962e+00 |
| 673 | W_thpi | 4.0 | 14.500000 | 1.2713407253e+00 |
| 674 | W_thpi | 4.0 | 14.550000 | 1.2713410720e+00 |
| 675 | W_thpi | 4.0 | 14.600000 | 1.2713414361e+00 |
| 676 | W_thpi | 4.0 | 14.650000 | 1.2713418172e+00 |
| 677 | W_thpi | 4.0 | 14.700000 | 1.2713422148e+00 |
| 678 | W_thpi | 4.0 | 14.750000 | 1.2713426288e+00 |
| 679 | W_thpi | 4.0 | 14.800000 | 1.2713430587e+00 |
| 680 | W_thpi | 4.0 | 14.850000 | 1.2713435042e+00 |
| 681 | W_thpi | 4.0 | 14.900000 | 1.2713439650e+00 |
| 682 | W_thpi | 4.0 | 14.950000 | 1.2713444408e+00 |
| 683 | W_thpi | 4.0 | 15.000000 | 1.2713449313e+00 |
| 684 | W_thpi | 4.0 | 15.050000 | 1.2713454362e+00 |
| 685 | W_thpi | 4.0 | 15.100000 | 1.2713459551e+00 |
| 686 | W_thpi | 4.0 | 15.150000 | 1.2713464878e+00 |
| 687 | W_thpi | 4.0 | 15.200000 | 1.2713470341e+00 |
| 688 | W_thpi | 4.0 | 15.250000 | 1.2713475935e+00 |
| 689 | W_thpi | 4.0 | 15.300000 | 1.2713481659e+00 |
| 690 | W_thpi | 4.0 | 15.350000 | 1.2713487510e+00 |
| 691 | W_thpi | 4.0 | 15.400000 | 1.2713493485e+00 |
| 692 | W_thpi | 4.0 | 15.450000 | 1.2713499582e+00 |
| 693 | W_thpi | 4.0 | 15.500000 | 1.2713505798e+00 |
| 694 | W_thpi | 4.0 | 15.550000 | 1.2713512130e+00 |
| 695 | W_thpi | 4.0 | 15.600000 | 1.2713518576e+00 |
| 696 | W_thpi | 4.0 | 15.650000 | 1.2713525134e+00 |
| 697 | W_thpi | 4.0 | 15.700000 | 1.2713531802e+00 |
| 698 | W_thpi | 4.0 | 15.750000 | 1.2713538576e+00 |
| 699 | W_thpi | 4.0 | 15.800000 | 1.2713545456e+00 |
| 700 | W_thpi | 4.0 | 15.850000 | 1.2713552437e+00 |
| 701 | W_thpi | 4.0 | 15.900000 | 1.2713559519e+00 |
| 702 | W_thpi | 4.0 | 15.950000 | 1.2713566700e+00 |
| 703 | W_thpi | 4.0 | 16.000000 | 1.2713573976e+00 |
| 704 | W_thpi | 4.0 | 16.050000 | 1.2713581347e+00 |
| 705 | W_thpi | 4.0 | 16.100000 | 1.2713588810e+00 |
| 706 | W_thpi | 4.0 | 16.150000 | 1.2713596362e+00 |
| 707 | W_thpi | 4.0 | 16.200000 | 1.2713604003e+00 |
| 708 | W_thpi | 4.0 | 16.250000 | 1.2713611730e+00 |
| 709 | W_thpi | 4.0 | 16.300000 | 1.2713619542e+00 |
| 710 | W_thpi | 4.0 | 16.350000 | 1.2713627436e+00 |
| 711 | W_thpi | 4.0 | 16.400000 | 1.2713635410e+00 |
| 712 | W_thpi | 4.0 | 16.450000 | 1.2713643464e+00 |
| 713 | W_thpi | 4.0 | 16.500000 | 1.2713651594e+00 |
| 714 | W_thpi | 4.0 | 16.550000 | 1.2713659800e+00 |
| 715 | W_thpi | 4.0 | 16.600000 | 1.2713668080e+00 |
| 716 | W_thpi | 4.0 | 16.650000 | 1.2713676432e+00 |
| 717 | W_thpi | 4.0 | 16.700000 | 1.2713684855e+00 |
| 718 | W_thpi | 4.0 | 16.750000 | 1.2713693346e+00 |
| 719 | W_thpi | 4.0 | 16.800000 | 1.2713701905e+00 |
| 720 | W_thpi | 4.0 | 16.850000 | 1.2713710530e+00 |
| 721 | W_thpi | 4.0 | 16.900000 | 1.2713719219e+00 |
| 722 | W_thpi | 4.0 | 16.950000 | 1.2713727971e+00 |
| 723 | W_thpi | 4.0 | 17.000000 | 1.2713736784e+00 |
| 724 | W_thpi | 4.0 | 17.050000 | 1.2713745658e+00 |
| 725 | W_thpi | 4.0 | 17.100000 | 1.2713754590e+00 |
| 726 | W_thpi | 4.0 | 17.150000 | 1.2713763579e+00 |
| 727 | W_thpi | 4.0 | 17.200000 | 1.2713772624e+00 |
| 728 | W_thpi | 4.0 | 17.250000 | 1.2713781724e+00 |
| 729 | W_thpi | 4.0 | 17.300000 | 1.2713790877e+00 |
| 730 | W_thpi | 4.0 | 17.350000 | 1.2713800081e+00 |
| 731 | W_thpi | 4.0 | 17.400000 | 1.2713809337e+00 |
| 732 | W_thpi | 4.0 | 17.450000 | 1.2713818642e+00 |
| 733 | W_thpi | 4.0 | 17.500000 | 1.2713827996e+00 |
| 734 | W_thpi | 4.0 | 17.550000 | 1.2713837396e+00 |
| 735 | W_thpi | 4.0 | 17.600000 | 1.2713846842e+00 |
| 736 | W_thpi | 4.0 | 17.650000 | 1.2713856334e+00 |
| 737 | W_thpi | 4.0 | 17.700000 | 1.2713865869e+00 |
| 738 | W_thpi | 4.0 | 17.750000 | 1.2713875446e+00 |
| 739 | W_thpi | 4.0 | 17.800000 | 1.2713885065e+00 |
| 740 | W_thpi | 4.0 | 17.850000 | 1.2713894724e+00 |
| 741 | W_thpi | 4.0 | 17.900000 | 1.2713904423e+00 |
| 742 | W_thpi | 4.0 | 17.950000 | 1.2713914160e+00 |
| 743 | W_thpi | 4.0 | 18.000000 | 1.2713923935e+00 |
| 744 | W_thpi | 4.0 | 18.050000 | 1.2713933746e+00 |
| 745 | W_thpi | 4.0 | 18.100000 | 1.2713943592e+00 |
| 746 | W_thpi | 4.0 | 18.150000 | 1.2713953472e+00 |
| 747 | W_thpi | 4.0 | 18.200000 | 1.2713963386e+00 |
| 748 | W_thpi | 4.0 | 18.250000 | 1.2713973333e+00 |
| 749 | W_thpi | 4.0 | 18.300000 | 1.2713983311e+00 |
| 750 | W_thpi | 4.0 | 18.350000 | 1.2713993320e+00 |
| 751 | W_thpi | 4.0 | 18.400000 | 1.2714003358e+00 |
| 752 | W_thpi | 4.0 | 18.450000 | 1.2714013426e+00 |
| 753 | W_thpi | 4.0 | 18.500000 | 1.2714023522e+00 |
| 754 | W_thpi | 4.0 | 18.550000 | 1.2714033645e+00 |
| 755 | W_thpi | 4.0 | 18.600000 | 1.2714043795e+00 |
| 756 | W_thpi | 4.0 | 18.650000 | 1.2714053970e+00 |
| 757 | W_thpi | 4.0 | 18.700000 | 1.2714064170e+00 |
| 758 | W_thpi | 4.0 | 18.750000 | 1.2714074395e+00 |
| 759 | W_thpi | 4.0 | 18.800000 | 1.2714084643e+00 |
| 760 | W_thpi | 4.0 | 18.850000 | 1.2714094913e+00 |
| 761 | W_thpi | 4.0 | 18.900000 | 1.2714105205e+00 |
| 762 | W_thpi | 4.0 | 18.950000 | 1.2714115519e+00 |
| 763 | W_thpi | 4.0 | 19.000000 | 1.2714125852e+00 |
| 764 | W_thpi | 4.0 | 19.050000 | 1.2714136206e+00 |
| 765 | W_thpi | 4.0 | 19.100000 | 1.2714146578e+00 |
| 766 | W_thpi | 4.0 | 19.150000 | 1.2714156969e+00 |
| 767 | W_thpi | 4.0 | 19.200000 | 1.2714167378e+00 |
| 768 | W_thpi | 4.0 | 19.250000 | 1.2714177804e+00 |
| 769 | W_thpi | 4.0 | 19.300000 | 1.2714188246e+00 |
| 770 | W_thpi | 4.0 | 19.350000 | 1.2714198704e+00 |
| 771 | W_thpi | 4.0 | 19.400000 | 1.2714209177e+00 |
| 772 | W_thpi | 4.0 | 19.450000 | 1.2714219664e+00 |
| 773 | W_thpi | 4.0 | 19.500000 | 1.2714230166e+00 |
| 774 | W_thpi | 4.0 | 19.550000 | 1.2714240681e+00 |
| 775 | W_thpi | 4.0 | 19.600000 | 1.2714251208e+00 |
| 776 | W_thpi | 4.0 | 19.650000 | 1.2714261748e+00 |
| 777 | W_thpi | 4.0 | 19.700000 | 1.2714272300e+00 |
| 778 | W_thpi | 4.0 | 19.750000 | 1.2714282862e+00 |
| 779 | W_thpi | 4.0 | 19.800000 | 1.2714293436e+00 |
| 780 | W_thpi | 4.0 | 19.850000 | 1.2714304019e+00 |
| 781 | W_thpi | 4.0 | 19.900000 | 1.2714314612e+00 |
| 782 | W_thpi | 4.0 | 19.950000 | 1.2714325213e+00 |
| 783 | W_thpi | 4.0 | 20.000000 | 1.2714335823e+00 |
| 784 | W_thzero | 4.0 | 0.500000 | 1.3187897722e+00 |
| 785 | W_thzero | 4.0 | 0.550000 | 1.3028692332e+00 |
| 786 | W_thzero | 4.0 | 0.600000 | 1.2922998396e+00 |
| 787 | W_thzero | 4.0 | 0.650000 | 1.2852592144e+00 |
| 788 | W_thzero | 4.0 | 0.700000 | 1.2805587783e+00 |
| 789 | W_thzero | 4.0 | 0.750000 | 1.2774161613e+00 |
| 790 | W_thzero | 4.0 | 0.800000 | 1.2753131760e+00 |
| 791 | W_thzero | 4.0 | 0.850000 | 1.2739051776e+00 |
| 792 | W_thzero | 4.0 | 0.900000 | 1.2729623008e+00 |
| 793 | W_thzero | 4.0 | 0.950000 | 1.2723309451e+00 |
| 794 | W_thzero | 4.0 | 1.000000 | 1.2719083417e+00 |
| 795 | W_thzero | 4.0 | 1.050000 | 1.2716256734e+00 |
| 796 | W_thzero | 4.0 | 1.100000 | 1.2714368315e+00 |
| 797 | W_thzero | 4.0 | 1.150000 | 1.2713109109e+00 |
| 798 | W_thzero | 4.0 | 1.200000 | 1.2712271914e+00 |
| 799 | W_thzero | 4.0 | 1.250000 | 1.2711717788e+00 |
| 800 | W_thzero | 4.0 | 1.300000 | 1.2711353553e+00 |
| 801 | W_thzero | 4.0 | 1.350000 | 1.2711116713e+00 |
| 802 | W_thzero | 4.0 | 1.400000 | 1.2710965352e+00 |
| 803 | W_thzero | 4.0 | 1.450000 | 1.2710871353e+00 |
| 804 | W_thzero | 4.0 | 1.500000 | 1.2710815857e+00 |
| 805 | W_thzero | 4.0 | 1.550000 | 1.2710786212e+00 |
| 806 | W_thzero | 4.0 | 1.600000 | 1.2710773931e+00 |
| 807 | W_thzero | 4.0 | 1.650000 | 1.2710773322e+00 |
| 808 | W_thzero | 4.0 | 1.700000 | 1.2710780564e+00 |
| 809 | W_thzero | 4.0 | 1.750000 | 1.2710793096e+00 |
| 810 | W_thzero | 4.0 | 1.800000 | 1.2710809196e+00 |
| 811 | W_thzero | 4.0 | 1.850000 | 1.2710827711e+00 |
| 812 | W_thzero | 4.0 | 1.900000 | 1.2710847866e+00 |
| 813 | W_thzero | 4.0 | 1.950000 | 1.2710869141e+00 |
| 814 | W_thzero | 4.0 | 2.000000 | 1.2710891186e+00 |
| 815 | W_thzero | 4.0 | 2.050000 | 1.2710913765e+00 |
| 816 | W_thzero | 4.0 | 2.100000 | 1.2710936722e+00 |
| 817 | W_thzero | 4.0 | 2.150000 | 1.2710959948e+00 |
| 818 | W_thzero | 4.0 | 2.200000 | 1.2710983371e+00 |
| 819 | W_thzero | 4.0 | 2.250000 | 1.2711006943e+00 |
| 820 | W_thzero | 4.0 | 2.300000 | 1.2711030629e+00 |
| 821 | W_thzero | 4.0 | 2.350000 | 1.2711054408e+00 |
| 822 | W_thzero | 4.0 | 2.400000 | 1.2711078262e+00 |
| 823 | W_thzero | 4.0 | 2.450000 | 1.2711102180e+00 |
| 824 | W_thzero | 4.0 | 2.500000 | 1.2711126155e+00 |
| 825 | W_thzero | 4.0 | 2.550000 | 1.2711150179e+00 |
| 826 | W_thzero | 4.0 | 2.600000 | 1.2711174249e+00 |
| 827 | W_thzero | 4.0 | 2.650000 | 1.2711198361e+00 |
| 828 | W_thzero | 4.0 | 2.700000 | 1.2711222511e+00 |
| 829 | W_thzero | 4.0 | 2.750000 | 1.2711246697e+00 |
| 830 | W_thzero | 4.0 | 2.800000 | 1.2711270917e+00 |
| 831 | W_thzero | 4.0 | 2.850000 | 1.2711295168e+00 |
| 832 | W_thzero | 4.0 | 2.900000 | 1.2711319449e+00 |
| 833 | W_thzero | 4.0 | 2.950000 | 1.2711343757e+00 |
| 834 | W_thzero | 4.0 | 3.000000 | 1.2711368091e+00 |
| 835 | W_thzero | 4.0 | 3.050000 | 1.2711392450e+00 |
| 836 | W_thzero | 4.0 | 3.100000 | 1.2711416830e+00 |
| 837 | W_thzero | 4.0 | 3.150000 | 1.2711441232e+00 |
| 838 | W_thzero | 4.0 | 3.200000 | 1.2711465652e+00 |
| 839 | W_thzero | 4.0 | 3.250000 | 1.2711490090e+00 |
| 840 | W_thzero | 4.0 | 3.300000 | 1.2711514543e+00 |
| 841 | W_thzero | 4.0 | 3.350000 | 1.2711539010e+00 |
| 842 | W_thzero | 4.0 | 3.400000 | 1.2711563490e+00 |
| 843 | W_thzero | 4.0 | 3.450000 | 1.2711587980e+00 |
| 844 | W_thzero | 4.0 | 3.500000 | 1.2711612480e+00 |
| 845 | W_thzero | 4.0 | 3.550000 | 1.2711636988e+00 |
| 846 | W_thzero | 4.0 | 3.600000 | 1.2711661502e+00 |
| 847 | W_thzero | 4.0 | 3.650000 | 1.2711686020e+00 |
| 848 | W_thzero | 4.0 | 3.700000 | 1.2711710541e+00 |
| 849 | W_thzero | 4.0 | 3.750000 | 1.2711735065e+00 |
| 850 | W_thzero | 4.0 | 3.800000 | 1.2711759588e+00 |
| 851 | W_thzero | 4.0 | 3.850000 | 1.2711784110e+00 |
| 852 | W_thzero | 4.0 | 3.900000 | 1.2711808629e+00 |
| 853 | W_thzero | 4.0 | 3.950000 | 1.2711833144e+00 |
| 854 | W_thzero | 4.0 | 4.000000 | 1.2711857653e+00 |
| 855 | W_thzero | 4.0 | 4.050000 | 1.2711882155e+00 |
| 856 | W_thzero | 4.0 | 4.100000 | 1.2711906649e+00 |
| 857 | W_thzero | 4.0 | 4.150000 | 1.2711931132e+00 |
| 858 | W_thzero | 4.0 | 4.200000 | 1.2711955605e+00 |
| 859 | W_thzero | 4.0 | 4.250000 | 1.2711980065e+00 |
| 860 | W_thzero | 4.0 | 4.300000 | 1.2712004511e+00 |
| 861 | W_thzero | 4.0 | 4.350000 | 1.2712028942e+00 |
| 862 | W_thzero | 4.0 | 4.400000 | 1.2712053356e+00 |
| 863 | W_thzero | 4.0 | 4.450000 | 1.2712077752e+00 |
| 864 | W_thzero | 4.0 | 4.500000 | 1.2712102129e+00 |
| 865 | W_thzero | 4.0 | 4.550000 | 1.2712126486e+00 |
| 866 | W_thzero | 4.0 | 4.600000 | 1.2712150821e+00 |
| 867 | W_thzero | 4.0 | 4.650000 | 1.2712175133e+00 |
| 868 | W_thzero | 4.0 | 4.700000 | 1.2712199421e+00 |
| 869 | W_thzero | 4.0 | 4.750000 | 1.2712223684e+00 |
| 870 | W_thzero | 4.0 | 4.800000 | 1.2712247921e+00 |
| 871 | W_thzero | 4.0 | 4.850000 | 1.2712272129e+00 |
| 872 | W_thzero | 4.0 | 4.900000 | 1.2712296309e+00 |
| 873 | W_thzero | 4.0 | 4.950000 | 1.2712320459e+00 |
| 874 | W_thzero | 4.0 | 5.000000 | 1.2712344578e+00 |
| 875 | W_thzero | 4.0 | 5.050000 | 1.2712368665e+00 |
| 876 | W_thzero | 4.0 | 5.100000 | 1.2712392719e+00 |
| 877 | W_thzero | 4.0 | 5.150000 | 1.2712416738e+00 |
| 878 | W_thzero | 4.0 | 5.200000 | 1.2712440722e+00 |
| 879 | W_thzero | 4.0 | 5.250000 | 1.2712464670e+00 |
| 880 | W_thzero | 4.0 | 5.300000 | 1.2712488580e+00 |
| 881 | W_thzero | 4.0 | 5.350000 | 1.2712512452e+00 |
| 882 | W_thzero | 4.0 | 5.400000 | 1.2712536284e+00 |
| 883 | W_thzero | 4.0 | 5.450000 | 1.2712560076e+00 |
| 884 | W_thzero | 4.0 | 5.500000 | 1.2712583826e+00 |
| 885 | W_thzero | 4.0 | 5.550000 | 1.2712607535e+00 |
| 886 | W_thzero | 4.0 | 5.600000 | 1.2712631200e+00 |
| 887 | W_thzero | 4.0 | 5.650000 | 1.2712654820e+00 |
| 888 | W_thzero | 4.0 | 5.700000 | 1.2712678396e+00 |
| 889 | W_thzero | 4.0 | 5.750000 | 1.2712701926e+00 |
| 890 | W_thzero | 4.0 | 5.800000 | 1.2712725409e+00 |
| 891 | W_thzero | 4.0 | 5.850000 | 1.2712748844e+00 |
| 892 | W_thzero | 4.0 | 5.900000 | 1.2712772230e+00 |
| 893 | W_thzero | 4.0 | 5.950000 | 1.2712795568e+00 |
| 894 | W_thzero | 4.0 | 6.000000 | 1.2712818855e+00 |
| 895 | W_thzero | 4.0 | 6.050000 | 1.2712842091e+00 |
| 896 | W_thzero | 4.0 | 6.100000 | 1.2712865275e+00 |
| 897 | W_thzero | 4.0 | 6.150000 | 1.2712888407e+00 |
| 898 | W_thzero | 4.0 | 6.200000 | 1.2712911485e+00 |
| 899 | W_thzero | 4.0 | 6.250000 | 1.2712934510e+00 |
| 900 | W_thzero | 4.0 | 6.300000 | 1.2712957479e+00 |
| 901 | W_thzero | 4.0 | 6.350000 | 1.2712980394e+00 |
| 902 | W_thzero | 4.0 | 6.400000 | 1.2713003251e+00 |
| 903 | W_thzero | 4.0 | 6.450000 | 1.2713026053e+00 |
| 904 | W_thzero | 4.0 | 6.500000 | 1.2713048796e+00 |
| 905 | W_thzero | 4.0 | 6.550000 | 1.2713071481e+00 |
| 906 | W_thzero | 4.0 | 6.600000 | 1.2713094108e+00 |
| 907 | W_thzero | 4.0 | 6.650000 | 1.2713116675e+00 |
| 908 | W_thzero | 4.0 | 6.700000 | 1.2713139182e+00 |
| 909 | W_thzero | 4.0 | 6.750000 | 1.2713161628e+00 |
| 910 | W_thzero | 4.0 | 6.800000 | 1.2713184013e+00 |
| 911 | W_thzero | 4.0 | 6.850000 | 1.2713206336e+00 |
| 912 | W_thzero | 4.0 | 6.900000 | 1.2713228596e+00 |
| 913 | W_thzero | 4.0 | 6.950000 | 1.2713250794e+00 |
| 914 | W_thzero | 4.0 | 7.000000 | 1.2713272928e+00 |
| 915 | W_thzero | 4.0 | 7.050000 | 1.2713294998e+00 |
| 916 | W_thzero | 4.0 | 7.100000 | 1.2713317003e+00 |
| 917 | W_thzero | 4.0 | 7.150000 | 1.2713338943e+00 |
| 918 | W_thzero | 4.0 | 7.200000 | 1.2713360817e+00 |
| 919 | W_thzero | 4.0 | 7.250000 | 1.2713382626e+00 |
| 920 | W_thzero | 4.0 | 7.300000 | 1.2713404368e+00 |
| 921 | W_thzero | 4.0 | 7.350000 | 1.2713426043e+00 |
| 922 | W_thzero | 4.0 | 7.400000 | 1.2713447650e+00 |
| 923 | W_thzero | 4.0 | 7.450000 | 1.2713469189e+00 |
| 924 | W_thzero | 4.0 | 7.500000 | 1.2713490660e+00 |
| 925 | W_thzero | 4.0 | 7.550000 | 1.2713512063e+00 |
| 926 | W_thzero | 4.0 | 7.600000 | 1.2713533396e+00 |
| 927 | W_thzero | 4.0 | 7.650000 | 1.2713554660e+00 |
| 928 | W_thzero | 4.0 | 7.700000 | 1.2713575853e+00 |
| 929 | W_thzero | 4.0 | 7.750000 | 1.2713596977e+00 |
| 930 | W_thzero | 4.0 | 7.800000 | 1.2713618030e+00 |
| 931 | W_thzero | 4.0 | 7.850000 | 1.2713639011e+00 |
| 932 | W_thzero | 4.0 | 7.900000 | 1.2713659922e+00 |
| 933 | W_thzero | 4.0 | 7.950000 | 1.2713680761e+00 |
| 934 | W_thzero | 4.0 | 8.000000 | 1.2713701527e+00 |
| 935 | W_thzero | 4.0 | 8.050000 | 1.2713722222e+00 |
| 936 | W_thzero | 4.0 | 8.100000 | 1.2713742844e+00 |
| 937 | W_thzero | 4.0 | 8.150000 | 1.2713763393e+00 |
| 938 | W_thzero | 4.0 | 8.200000 | 1.2713783869e+00 |
| 939 | W_thzero | 4.0 | 8.250000 | 1.2713804271e+00 |
| 940 | W_thzero | 4.0 | 8.300000 | 1.2713824600e+00 |
| 941 | W_thzero | 4.0 | 8.350000 | 1.2713844854e+00 |
| 942 | W_thzero | 4.0 | 8.400000 | 1.2713865035e+00 |
| 943 | W_thzero | 4.0 | 8.450000 | 1.2713885141e+00 |
| 944 | W_thzero | 4.0 | 8.500000 | 1.2713905172e+00 |
| 945 | W_thzero | 4.0 | 8.550000 | 1.2713925129e+00 |
| 946 | W_thzero | 4.0 | 8.600000 | 1.2713945010e+00 |
| 947 | W_thzero | 4.0 | 8.650000 | 1.2713964817e+00 |
| 948 | W_thzero | 4.0 | 8.700000 | 1.2713984547e+00 |
| 949 | W_thzero | 4.0 | 8.750000 | 1.2714004203e+00 |
| 950 | W_thzero | 4.0 | 8.800000 | 1.2714023782e+00 |
| 951 | W_thzero | 4.0 | 8.850000 | 1.2714043285e+00 |
| 952 | W_thzero | 4.0 | 8.900000 | 1.2714062712e+00 |
| 953 | W_thzero | 4.0 | 8.950000 | 1.2714082063e+00 |
| 954 | W_thzero | 4.0 | 9.000000 | 1.2714101338e+00 |
| 955 | W_thzero | 4.0 | 9.050000 | 1.2714120536e+00 |
| 956 | W_thzero | 4.0 | 9.100000 | 1.2714139657e+00 |
| 957 | W_thzero | 4.0 | 9.150000 | 1.2714158701e+00 |
| 958 | W_thzero | 4.0 | 9.200000 | 1.2714177668e+00 |
| 959 | W_thzero | 4.0 | 9.250000 | 1.2714196559e+00 |
| 960 | W_thzero | 4.0 | 9.300000 | 1.2714215372e+00 |
| 961 | W_thzero | 4.0 | 9.350000 | 1.2714234108e+00 |
| 962 | W_thzero | 4.0 | 9.400000 | 1.2714252767e+00 |
| 963 | W_thzero | 4.0 | 9.450000 | 1.2714271348e+00 |
| 964 | W_thzero | 4.0 | 9.500000 | 1.2714289852e+00 |
| 965 | W_thzero | 4.0 | 9.550000 | 1.2714308279e+00 |
| 966 | W_thzero | 4.0 | 9.600000 | 1.2714326628e+00 |
| 967 | W_thzero | 4.0 | 9.650000 | 1.2714344899e+00 |
| 968 | W_thzero | 4.0 | 9.700000 | 1.2714363093e+00 |
| 969 | W_thzero | 4.0 | 9.750000 | 1.2714381209e+00 |
| 970 | W_thzero | 4.0 | 9.800000 | 1.2714399247e+00 |
| 971 | W_thzero | 4.0 | 9.850000 | 1.2714417207e+00 |
| 972 | W_thzero | 4.0 | 9.900000 | 1.2714435090e+00 |
| 973 | W_thzero | 4.0 | 9.950000 | 1.2714452895e+00 |
| 974 | W_thzero | 4.0 | 10.000000 | 1.2714470622e+00 |
| 975 | W_thzero | 4.0 | 10.050000 | 1.2714488272e+00 |
| 976 | W_thzero | 4.0 | 10.100000 | 1.2714505843e+00 |
| 977 | W_thzero | 4.0 | 10.150000 | 1.2714523337e+00 |
| 978 | W_thzero | 4.0 | 10.200000 | 1.2714540753e+00 |
| 979 | W_thzero | 4.0 | 10.250000 | 1.2714558092e+00 |
| 980 | W_thzero | 4.0 | 10.300000 | 1.2714575352e+00 |
| 981 | W_thzero | 4.0 | 10.350000 | 1.2714592535e+00 |
| 982 | W_thzero | 4.0 | 10.400000 | 1.2714609641e+00 |
| 983 | W_thzero | 4.0 | 10.450000 | 1.2714626669e+00 |
| 984 | W_thzero | 4.0 | 10.500000 | 1.2714643619e+00 |
| 985 | W_thzero | 4.0 | 10.550000 | 1.2714660492e+00 |
| 986 | W_thzero | 4.0 | 10.600000 | 1.2714677287e+00 |
| 987 | W_thzero | 4.0 | 10.650000 | 1.2714694005e+00 |
| 988 | W_thzero | 4.0 | 10.700000 | 1.2714710646e+00 |
| 989 | W_thzero | 4.0 | 10.750000 | 1.2714727209e+00 |
| 990 | W_thzero | 4.0 | 10.800000 | 1.2714743695e+00 |
| 991 | W_thzero | 4.0 | 10.850000 | 1.2714760105e+00 |
| 992 | W_thzero | 4.0 | 10.900000 | 1.2714776437e+00 |
| 993 | W_thzero | 4.0 | 10.950000 | 1.2714792692e+00 |
| 994 | W_thzero | 4.0 | 11.000000 | 1.2714808871e+00 |
| 995 | W_thzero | 4.0 | 11.050000 | 1.2714824973e+00 |
| 996 | W_thzero | 4.0 | 11.100000 | 1.2714840998e+00 |
| 997 | W_thzero | 4.0 | 11.150000 | 1.2714856947e+00 |
| 998 | W_thzero | 4.0 | 11.200000 | 1.2714872819e+00 |
| 999 | W_thzero | 4.0 | 11.250000 | 1.2714888616e+00 |
| 1000 | W_thzero | 4.0 | 11.300000 | 1.2714904336e+00 |
| 1001 | W_thzero | 4.0 | 11.350000 | 1.2714919980e+00 |
E-016-herglotz-fine-structure.json
— 3.0 KB, updated 08-18-2026
JSON sidecar (click to expand)
{
"experiment": "E-016",
"task": "Q-S3c: Herglotz fine structure of W at theta=pi vs F",
"description": "Poisson-smoothed zero density -(1/pi) Im W'/W(iy) at theta=pi (and theta=0 control) vs rho_F; analytic Galerkin z-derivative; zero-Poisson reconstruction cross-check",
"script": "research/numerics/scripts/E-016-herglotz-fine-structure.py",
"parameters": {
"a_sweep": [
4.0,
6.0,
8.0,
10.0
],
"h": 0.01,
"lambda": -1.0,
"y_grid": [
0.5,
20.0,
391
],
"z_max_zeros": 300.0
},
"checks": {
"V1_plateau_density": true,
"V2_rhoF_finitediff": true,
"V3_poisson_reconstruction": false,
"V4_vmirror_symmetry": true
},
"key_values": {
"xi_flint_crosscheck_rel": 8.821833278620677e-17,
"rhoF_finitediff_max_rel": 1.3322584092623682e-08,
"metrics": {
"4.0": {
"n_zeros": 381,
"z1": 1.1260734006983593,
"plateau": 1.2713747663068067,
"density_a_over_pi": 1.2732395447351628,
"plateau_rel_dev": 0.0014645935527740487,
"v3_rel": 0.32451368257591473,
"kappa_shift": -0.21982980149584136,
"d_pi": 1.2200734562385358,
"d_zero": 1.2165204320831793
},
"6.0": {
"n_zeros": 572,
"z1": 0.7499016225074712,
"plateau": 1.9083309455490012,
"density_a_over_pi": 1.909859317102744,
"plateau_rel_dev": 0.00080025347419903,
"v3_rel": 0.2938167612479611,
"kappa_shift": -0.39086861455767985,
"d_pi": 1.855357135046592,
"d_zero": 1.8529753375094085
},
"8.0": {
"n_zeros": 763,
"z1": 0.5621012628096893,
"plateau": 2.5451204974114527,
"density_a_over_pi": 2.5464790894703255,
"plateau_rel_dev": 0.0005335178539225225,
"v3_rel": 0.2792472337188209,
"kappa_shift": -0.5618837715660804,
"d_pi": 2.4914430957151077,
"d_zero": 2.489482228965594
},
"10.0": {
"n_zeros": 954,
"z1": 0.44959700551214055,
"plateau": 3.1817851862991344,
"density_a_over_pi": 3.183098861837907,
"plateau_rel_dev": 0.00041270334218086014,
"v3_rel": 0.27086948306792724,
"kappa_shift": -0.7328752211905654,
"d_pi": 3.127620084707738,
"d_zero": 3.126136732274815
}
},
"vmirror_sym_err": 3.797860165317667e-14
},
"caveats": [
"Galerkin discretization h=0.01 (E-010 h-convergence: z1 rel drift 4e-4 between h=0.01 and 0.005 at a=4)",
"Poisson smoothing at height y averages over scale ~y: lattice oscillations at spacing pi/a are suppressed ~e^{-2ay}; the sensitive region is y <~ few (low zeros resolve individually)",
"theta=pi vs theta=0 comparison is the sharp test of the H4 read-off (D-023): if theta=pi is correct, d_pi should lie systematically below d_zero as a grows"
],
"elapsed_seconds": 32.7,
"timestamp_utc": "2026-08-18T10:57:35.113504+00:00",
"row_count": 3520
}
Source code
Python script (click to expand)
"""E-016 — Q-S3c: Herglotz (Poisson) fine structure of W at theta=pi vs F.
Theory (D-023 §4, item 3): for entire W with ALL REAL zeros z_j,
-Im(W'/W)(iy) = -Im(kappa) + sum_j y/(y^2 + z_j^2)
is (pi times) the Poisson-smoothed zero density at height y. Individual
zeros within |z_j| <~ y leave distinguishable fingerprints, so this
diagnostic detects sub-lattice-scale zero redistribution BEFORE the
density collapses (Cor 1.6 requires the a->inf zeros to become the
gamma_j / xi'-zeros of F = z^2 xi(1/2-iz)/xi'(1/2-iz)).
For F on the imaginary axis (z = iy, s = 1/2+y real):
rho_F(y) := -(1/pi) Im F'/F(iy)
= (1/pi)[ 2/y + xi'/xi(1/2+y) - xi''/xi'(1/2+y) ].
Equivalently rho_F(y) = (1/pi) d/dy log|F(iy)| (finite-diff check V2).
Diagnostics per a in {4,6,8,10} (h=0.01, lambda=-1, theta=pi; theta=0
control):
D1. rho_W(y; a, pi) on y in [0.5, 20] via the ANALYTIC z-derivative of
the Galerkin Fourier representation (no finite differences):
V(z) = hat(z) sum c_j e^{i z x_j}
V'(z) = hat'(z) sum c_j e^{i z x_j} + hat(z) sum (i x_j) c_j e^{i z x_j}
W(z) = (z-i) Vp + e^{i theta} (z+i) Vm (and z-derivative).
D2. rho_F(y) analytic; cross-checked vs finite differences of
log|F(iy)| (V2).
D3. Zero-Poisson reconstruction: zeros of W(.,pi) located on the real
axis (|W|-minima polished); rho from the Poisson sum must match D1
up to the additive constant -Im(kappa)/pi (mean-matched over the
window) — validates the derivative machinery (V3).
D4. Metrics vs a: plateau value vs a/pi (density law); L2 distance
d(a,theta) = ||rho_W - rho_F|| on [1,20] (theta=pi vs theta=0 —
does theta=pi actually sharpen the approach?); oscillation
envelope of rho_W at small y.
Checks:
V1. plateau: |mean rho_W(y in [10,20]) - a/pi| / (a/pi) < 0.05.
V2. rho_F analytic vs finite-diff of log|F|: max rel dev < 1e-6.
V3. Poisson reconstruction from located zeros matches D1 (mean-matched
L2 / rms < 0.02).
V4. mirror symmetry v-(x) = v+(-x) rel err < 1e-6 (machinery regression).
Outputs: research/numerics/data/E-016-herglotz-fine-structure.csv (+ .json)
"""
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
from numpy.polynomial.legendre import leggauss
REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-016-herglotz-fine-structure.csv"
JSON = DATA / "E-016-herglotz-fine-structure.json"
T_MAXG = 20.0 # sieve to e^20 covers 2a <= 20 (a <= 10)
T_LERCH = 0.05
GL_N = 8
A_SWEEP = [4.0, 6.0, 8.0, 10.0]
H_MAIN = 0.01
LAM_SHIFT = -1.0
Y_GRID = np.linspace(0.5, 20.0, 391)
Y_PLATEAU = (10.0, 20.0)
Z_MAX_ZERO = 300.0
N_GRID = 40000
# ---------------------------------------------------------- g (as E-014)
def mangoldt_sieve_fast(n_max: int) -> np.ndarray:
is_comp = np.zeros(n_max + 1, dtype=bool)
for p in range(2, int(n_max ** 0.5) + 1):
if not is_comp[p]:
is_comp[p * p::p] = True
lam_log = np.zeros(n_max + 1)
primes = np.flatnonzero(~is_comp[2:]) + 2
lp = np.log(primes)
pk = primes.copy()
while pk.size and pk[0] <= n_max:
lam_log[pk] = lp
pk = pk * primes[: pk.size]
keep = pk <= n_max
pk = pk[keep]
lp = lp[keep]
return lam_log
print("sieving von Mangoldt to e^20 ...", flush=True)
t_sv = time.time()
N_MAXG = int(np.exp(T_MAXG)) + 2
LAM_LOG = mangoldt_sieve_fast(N_MAXG)
NS = np.arange(2, N_MAXG + 1, dtype=np.float64)
LAM = LAM_LOG[2:] / np.sqrt(NS)
LOG_NS = np.log(NS)
C1 = np.cumsum(LAM)
C0 = np.cumsum(LAM * LOG_NS)
del LAM, LOG_NS, NS
print(f" sieve done: {time.time()-t_sv:.0f}s", flush=True)
mp.mp.dps = 30
DIG_COEFF = float(-(mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi)) / 2)
PHI1 = float(mp.lerchphi(1, 2, mp.mpf(1) / 4))
KK = np.arange(0, 400)
DENOM = (KK + 0.25) ** 2
def prime_sum_vec(t):
m = np.floor(np.exp(t) + 1e-9).astype(np.int64) - 1
out = np.zeros_like(t)
pos = m > 0
idx = m[pos] - 1
out[pos] = C1[idx] * t[pos] - C0[idx]
return out
def lerch_comb(t):
out = np.empty_like(t)
fast = t > T_LERCH
if fast.any():
z = np.exp(-2.0 * t[fast])
phi = (np.power.outer(z, KK) / DENOM).sum(axis=1)
out[fast] = -0.25 * (PHI1 - np.exp(-t[fast] / 2) * phi)
if (~fast).any():
for i in np.flatnonzero(~fast):
ti = mp.mpf(float(t[i]))
out[i] = float(-0.25 * (mp.lerchphi(1, 2, mp.mpf(1) / 4)
- mp.exp(-ti / 2)
* mp.lerchphi(mp.exp(-2 * ti), 2,
mp.mpf(1) / 4)))
return out
def g_float(t):
t = np.asarray(t, dtype=float)
g = -4.0 * (np.exp(t / 2) + np.exp(-t / 2) - 2.0)
g += prime_sum_vec(t)
g += DIG_COEFF * t
g += lerch_comb(t)
g[t == 0.0] = 0.0
return g
A_CONST = 0.5 * (np.log(2 * np.pi) + np.euler_gamma - 1.0)
def sigma_vec(t):
t = np.asarray(t, dtype=float)
with np.errstate(divide="ignore", invalid="ignore"):
return np.where(t > 0, 0.5 * t * np.log(t) + A_CONST * t, 0.0)
def F_sing(t):
if t <= 0:
return 0.0
return (A_CONST * t**3 / 6.0 + t**3 * np.log(t) / 12.0
- 5.0 * t**3 / 72.0)
def S_sing(k, h):
return (F_sing((k + 1) * h) - 2.0 * F_sing(k * h)
+ F_sing(abs(k - 1) * h))
XN, XW = leggauss(GL_N)
def S_full(k, h):
def quad_plain(lo, hi, peak):
tot = 0.0
for a, b in ((lo, peak), (peak, hi)):
if b - a <= 0:
continue
mid, half = 0.5 * (a + b), 0.5 * (b - a)
xs = mid + half * XN
rho = g_float(xs) - sigma_vec(xs)
tot += half * float(np.dot(XW, (h - np.abs(xs - peak)) * rho))
return tot
def 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:
return quad_plain(lo, hi, peak)
pts = 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})
tot = 0.0
for p0, p1 in zip(pts, pts[1:]):
if p1 - p0 <= 0:
continue
mid, half = 0.5 * (p0 + p1), 0.5 * (p1 - p0)
xs = mid + half * XN
rho = g_float(xs) - sigma_vec(xs)
tot += half * float(np.dot(XW, (h - np.abs(xs - peak)) * rho))
return tot
if k == 0:
return S_sing(0, h) + 2.0 * quad(0.0, h, 0.0)
return S_sing(k, h) + quad((k - 1) * h, (k + 1) * h, k * h)
def stiffness_first_col(n_elem, h):
n_q = n_elem - 1
s = np.array([S_full(k, h) for k in range(n_elem)])
q = np.empty(n_q)
q[0] = (2.0 * s[0] - 2.0 * s[1]) / h**2
for k in range(1, n_q):
q[k] = (2.0 * s[k] - s[k + 1] - s[k - 1]) / h**2
return q
_BUILD = {}
def build(a, h):
if (a, h) in _BUILD:
return _BUILD[(a, h)]
n_elem = int(round(2 * a / h))
n = n_elem - 1
q = stiffness_first_col(n_elem, h)
Q = scipy.linalg.toeplitz(q)
M = scipy.linalg.toeplitz(np.r_[2 * h / 3, h / 6,
np.zeros(max(n - 2, 0))])
ii = np.arange(1, n_elem)
x = -a + ii * h
xg, wg = leggauss(8)
b = {}
for sgn in (+1.0, -1.0):
mid1 = x - h / 2
xs1 = mid1[:, None] + (h / 2) * xg[None, :]
phi1 = (xs1 - (x - h)[:, None]) / h
mid2 = x + h / 2
xs2 = mid2[:, None] + (h / 2) * xg[None, :]
phi2 = ((x + h)[:, None] - xs2) / h
b[sgn] = ((h / 2) * (np.exp(sgn * xs1) * phi1) @ wg
+ (h / 2) * (np.exp(sgn * xs2) * phi2) @ wg)
_BUILD[(a, h)] = (x, h, Q, M, b)
return _BUILD[(a, h)]
def solve_v(Q, M, b_s, lam, n):
T = Q - lam * M
e = np.ones(n)
B = np.zeros((n + 1, n + 1))
B[:n, :n] = T
B[:n, n] = e
B[n, :n] = e
sol = scipy.linalg.solve(B, np.r_[b_s, 0.0], assume_a="sym")
return sol[:n], T
# ------------------------------------------- V(z), V'(z), W(z), W'(z)
def hat_FT(z, h):
return h * np.sinc(z * h / (2 * np.pi)) ** 2
def hat_FT_d(z, h):
"""d/dz [h sinc(zh/2pi)^2], sinc(x)=sin(pi x)/(pi x)."""
u = z * h / 2.0
s = np.sinc(z * h / (2 * np.pi)) # sin(u)/u
with np.errstate(divide="ignore", invalid="ignore"):
ds = np.where(np.abs(u) > 1e-8,
(u * np.cos(u) - np.sin(u)) / u**2,
-u / 3.0)
return h**2 * s * ds # d/dz[h s^2] = h^2 s ds/du
def V_and_dV(z, c, x, h):
E = np.exp(1j * np.outer(z, x))
S1 = E @ c
S2 = (1j * x * E) @ c
return hat_FT(z, h) * S1, hat_FT_d(z, h) * S1 + hat_FT(z, h) * S2
def W_and_dW(z, Vp, dVp, Vm, dVm, theta):
eit = np.exp(1j * theta)
W = (z - 1j) * Vp + eit * (z + 1j) * Vm
dW = Vp + (z - 1j) * dVp + eit * (Vm + (z + 1j) * dVm)
return W, dW
# --------------------------------------------------------------- F side
def xi_real(s):
s = mp.mpf(s)
if s == 1: # xi(1) = 1/2 (removable: zeta pole
return mp.mpf(0.5) # cancels the (s-1) factor)
return 0.5 * s * (s - 1) * mp.pi ** (-s / 2) * mp.gamma(s / 2) * mp.zeta(s)
mp.mp.dps = 40
def rho_F_analytic(y):
"""rho_F(y) = (1/pi)[2/y + xi'/xi(1/2+y) - xi''/xi'(1/2+y)]."""
s = mp.mpf(0.5) + mp.mpf(y)
f = lambda t: xi_real(t)
x0 = xi_real(s)
x1 = mp.diff(f, s)
x2 = mp.diff(f, s, 2)
return float((2.0 / mp.mpf(y) + x1 / x0 - x2 / x1) / mp.pi)
def logabs_F_imag(y):
s = mp.mpf(0.5) + mp.mpf(y)
xiv = xi_real(s)
dx = mp.diff(xi_real, s)
return mp.log(abs(-mp.mpf(y) ** 2 * xiv / dx))
def main() -> int:
if CSV.exists() and "--force" not in sys.argv:
print(f"cached: {CSV} (use --force to recompute)")
return 0
t0 = time.time()
# ---- F side
print("F side: rho_F analytic + finite-diff cross-check ...", flush=True)
# flint cross-check of xi_real (mpmath zeta is broken beyond ~16-19
# digits in this env; E-014 verified 1e-8 at s=2.5,10.5 — extend to
# the y-range endpoints used here)
import flint
flint.ctx.prec = 200
def xi_flint(s):
aa = flint.arb(str(s))
return float(0.5 * aa * (aa - 1) * (aa / 2).gamma()
* flint.arb.pi() ** (-aa / 2) * aa.zeta())
xi_err = float(max(abs(xi_real(s) - xi_flint(s)) / abs(xi_flint(s))
for s in (1.5, 10.5, 20.5))) # s=1: arb zeta pole
# (xi(1)=1/2 exact)
print(f" xi vs flint max rel err: {xi_err:.2e}", flush=True)
rhoF = np.array([rho_F_analytic(y) for y in Y_GRID])
dlogF = np.array([
float((logabs_F_imag(mp.mpf(y) + mp.mpf(1e-4))
- logabs_F_imag(mp.mpf(y) - mp.mpf(1e-4))) / mp.mpf(2e-4))
for y in Y_GRID]) / np.pi
rel = np.abs(rhoF - dlogF) / np.maximum(np.abs(rhoF), 1e-12)
v2_err = float(rel.max())
print(f" V2 finite-diff max rel dev: {v2_err:.2e}", flush=True)
rows = []
for y, r in zip(Y_GRID, rhoF):
rows.append(f"F,{y:.6f},{r:.10e}")
sym_err = 0.0
metrics = {}
for a in A_SWEEP:
print(f"a={a}: solve v±, Herglotz densities ...", flush=True)
x, hh, Q, M, b = build(a, H_MAIN)
n = len(x)
cp, T = solve_v(Q, M, b[+1.0], LAM_SHIFT, n)
cm, _ = solve_v(Q, M, b[-1.0], LAM_SHIFT, n)
np_ = float(cp @ T @ cp)
nm = float(cm @ T @ cm)
cm = cm * np.sqrt(np_ / nm)
sym_err = max(sym_err,
float(np.max(np.abs(cm - cp[::-1]))
/ max(1.0, float(np.max(np.abs(cp))))))
ziy = 1j * Y_GRID
Vp, dVp = V_and_dV(ziy, cp, x, hh)
Vm, dVm = V_and_dV(ziy, cm, x, hh)
out = {}
for th, tag in ((np.pi, "pi"), (0.0, "zero")):
W, dW = W_and_dW(ziy, Vp, dVp, Vm, dVm, th)
rhoW = -np.imag(dW / W) / np.pi
out[tag] = rhoW
for y, r in zip(Y_GRID, rhoW):
rows.append(f"W_th{tag},{a},{y:.6f},{r:.10e}")
# ---- zeros of W(., pi) on the real axis (for V3)
# c = sqrt(np_/nm) = 1 exactly (mirror symmetry), so for real z,
# Vm = conj(Vp) and W(z) = 2i*g(z) with the REAL gauge
# g(z) = z Im Vp - Re Vp. Zeros = sign changes of g -> brentq.
assert abs(np_ / nm - 1.0) < 1e-12, "norm asymmetry breaks gauge"
zg = np.linspace(1e-3, Z_MAX_ZERO, N_GRID)
Vpr, _ = V_and_dV(zg, cp, x, hh)
g = zg * Vpr.imag - Vpr.real
def g_direct(zz):
V = hat_FT(np.array([zz]), hh)[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
zeros = np.array(zeros)
# V3: Poisson reconstruction (+- symmetric located zeros to
# Z_MAX_ZERO + Euler-Maclaurin lattice tail beyond, spacing pi/a,
# phase matched to last located zero; mean-matched vs analytic).
d_lat = np.pi / a
z_last = zeros[-1] + d_lat / 2.0
recon = np.empty_like(Y_GRID)
for k, y in enumerate(Y_GRID):
tail = (y / d_lat) * (np.pi / 2.0 - np.arctan(z_last / y))
recon[k] = (2.0 * (np.sum(y / (y**2 + zeros**2)) + tail)) / np.pi
rhoW = out["pi"]
shift = float(np.mean(rhoW - recon))
rms = float(np.sqrt(np.mean(rhoW**2)))
v3_rel = float(np.sqrt(np.mean((rhoW - recon - shift)**2)) / rms)
# D4 metrics
pm = (Y_GRID >= Y_PLATEAU[0]) & (Y_GRID <= Y_PLATEAU[1])
plateau = float(np.mean(rhoW[pm]))
dens = a / np.pi
sel = Y_GRID >= 1.0
d_pi = float(np.sqrt(np.mean((out["pi"][sel] - rhoF[sel])**2)))
d_zero = float(np.sqrt(np.mean((out["zero"][sel] - rhoF[sel])**2)))
metrics[a] = {
"n_zeros": len(zeros), "z1": float(zeros[0]) if len(zeros) else None,
"plateau": plateau, "density_a_over_pi": dens,
"plateau_rel_dev": abs(plateau - dens) / dens,
"v3_rel": v3_rel, "kappa_shift": shift,
"d_pi": d_pi, "d_zero": d_zero,
}
print(f" zeros={len(zeros)} z1={metrics[a]['z1']:.4f} "
f"plateau={plateau:.4f} (a/pi={dens:.4f}) "
f"V3 rel={v3_rel:.2e} d_pi={d_pi:.4f} d_zero={d_zero:.4f}",
flush=True)
checks = {
"V1_plateau_density": bool(all(
metrics[a]["plateau_rel_dev"] < 0.05 for a in A_SWEEP)),
"V2_rhoF_finitediff": bool(v2_err < 1e-6),
"V3_poisson_reconstruction": bool(all(
metrics[a]["v3_rel"] < 0.02 for a in A_SWEEP)),
"V4_vmirror_symmetry": bool(sym_err < 1e-6),
}
with CSV.open("w", encoding="utf-8", newline="") as f:
f.write("series,a,y,rho\n")
for r in rows:
parts = r.split(",")
if parts[0] == "F":
f.write(f"F,-,{parts[1]},{parts[2]}\n")
else:
f.write(f"{parts[0]},{parts[1]},{parts[2]},{parts[3]}\n")
meta = {
"experiment": "E-016",
"task": "Q-S3c: Herglotz fine structure of W at theta=pi vs F",
"description": "Poisson-smoothed zero density -(1/pi) Im W'/W(iy) "
"at theta=pi (and theta=0 control) vs rho_F; "
"analytic Galerkin z-derivative; zero-Poisson "
"reconstruction cross-check",
"script": "research/numerics/scripts/E-016-herglotz-fine-structure.py",
"parameters": {"a_sweep": A_SWEEP, "h": H_MAIN, "lambda": LAM_SHIFT,
"y_grid": [0.5, 20.0, 391], "z_max_zeros": Z_MAX_ZERO},
"checks": checks,
"key_values": {
"xi_flint_crosscheck_rel": xi_err,
"rhoF_finitediff_max_rel": v2_err,
"metrics": {str(a): metrics[a] for a in A_SWEEP},
"vmirror_sym_err": sym_err,
},
"caveats": [
"Galerkin discretization h=0.01 (E-010 h-convergence: z1 rel "
"drift 4e-4 between h=0.01 and 0.005 at a=4)",
"Poisson smoothing at height y averages over scale ~y: lattice "
"oscillations at spacing pi/a are suppressed ~e^{-2ay}; the "
"sensitive region is y <~ few (low zeros resolve individually)",
"theta=pi vs theta=0 comparison is the sharp test of the H4 "
"read-off (D-023): if theta=pi is correct, d_pi should lie "
"systematically below d_zero as a grows",
],
"elapsed_seconds": round(time.time() - t0, 1),
"timestamp_utc": datetime.now(timezone.utc).isoformat(),
"row_count": None,
}
meta["row_count"] = sum(1 for _ in CSV.open())
JSON.write_text(json.dumps(meta, indent=2), encoding="utf-8")
ok = all(checks.values())
print(f"wrote {CSV.name}, {JSON.name} — "
f"{'ALL CHECKS PASS' if ok else 'CHECK FAILURE: ' + str(checks)}")
return 0 if ok else 1
if __name__ == "__main__":
raise SystemExit(main())