TNFR Logo
TheoryLearnSoftwareResearch

On this page

TNFR

Resonant Fractal Nature Theory — a mathematical framework for coherent patterns on graph-coupled networks.

About
  • Project history
  • Editorial policy
  • Contact
Resources
  • GitHub
  • PyPI
  • DOI · Zenodo
Legal
  • MIT License
  • Citation
© 2026 TNFR project — MIT licensed.DOI 10.5281/zenodo.17602860
docs
grammar
PHYSICS_VERIFICATION.md
API_CONTRACTS.mdCANONICAL_OZ_SEQUENCES.mdEMPIRICAL_CONFRONTATION_EEG.mdREADME.mdSTRUCTURAL_FIELDS_TETRAD.mdSTRUCTURAL_INTERFACE_THEORY.md
theory
APPLIED_STRUCTURAL_ANALYSIS.mdCATALOG_TYPE_HYGIENE_PROGRAMME.mdDISSIPATIVE_AND_OPEN_SYSTEMS.mdEMERGENT_ONTOLOGY.mdEXTENDED_FIELDS_AND_DERIVED_QUANTITIES.mdFUNDAMENTAL_THEORY.mdGAUGE_SYMMETRY_AND_UNIFICATION.mdGLOSSARY.mdMATHEMATICAL_DYNAMICS_BASIS.mdMINIMAL_STRUCTURAL_DEGREES.mdNUCLEUS_A_PRIME_LADDER_ATLAS.mdNUCLEUS_B_EQUIVARIANCE_OBSTRUCTIONS.mdPHYSICAL_REGIME_CORRESPONDENCES.mdREADME.mdREMESH_INFINITY_DERIVATION.mdSTRUCTURAL_CONSERVATION_THEOREM.mdSTRUCTURAL_OPERATORS.mdSTRUCTURAL_STABILITY_AND_DYNAMICS.mdTNFR_BSD_RESEARCH_NOTES.mdTNFR_HODGE_RESEARCH_NOTES.mdTNFR_NAVIER_STOKES_RESEARCH_NOTES.mdTNFR_NUMBER_THEORY.mdTNFR_P_VS_NP_RESEARCH_NOTES.mdTNFR_RIEMANN_RESEARCH_NOTES.mdTNFR_VARIATIONAL_PRINCIPLE.mdTNFR_YANG_MILLS_RESEARCH_NOTES.mdTNFR.pdfUNIFIED_GRAMMAR_RULES.md
factorization-lab
analysis
analyze_patterns.pycertificate_manifest.py
benchmarks
benchmark_analysis.pybenchmark_expansion_suite.pyfull_spectrum_factorization.pypaley_gap_extended.pypaley_gap_smoke.pytest_benchmark_suite.py
demos
experiment_contexts
exp_0b1663cd19b7.jsonexp_0bf0054b7474.jsonexp_75a4c8ca616a.jsonexp_848ee0fd1857.jsonexp_f6fe00562193.jsonexp_fdf3da424e1e.json
failure_telemetry_batch.pyfeedback_integration_demo.pyintegration_demo_snapshots.dbseed_management_integration_demo.pysnapshot_integration_demo.pytrajectory_143.jsontrajectory_77.jsontrajectory_89.jsontrajectory_91.jsontrajectory_97.json
docs
FACTORING_PLAYBOOK.mdFALSE_POSITIVE_TEST_SUITE.mdOPERATOR_CERTIFICATES.mdROADMAP.mdSPECTRAL_ROUTE.md
experiment_contexts
exp_cebe1d9e7d8e.json
notebooks
spectral_history.ipynb
scripts
run_false_positive_tests.py
tests
run_false_positive_test_suite.pytest_cli.pytest_false_positive_methodology.pytest_false_positive_verifier.pytest_feedback_integration.pytest_partitioning.pytest_seed_management.pytest_self_opt_support.pytest_snapshot_system.pytest_spectral_paley.pytest_verification_robustness.py
tnfr_factorization
__init__.pyapi.pycli.pyfailure_telemetry.pyfeedback_adapter.pyfeedback_integration.pypartitioning.pyself_opt_support.pyspectral_paley.py
demo_snapshots.dbLICENSE_SNAPSHOT.mdPACKAGE_SUMMARY.mdREADME.mdseed_management.pysnapshot_system.pytest_certificate_hashing.pytest_installation.pyverification_trajectory_77.json
benchmarks
analyze_tetrad_universality.pyb0star_alpha_canonical_product_graphs.pybenchmark_optimization_tracks.pybenchmark_utils.pyboundary_vibration.pybridge_primes_riemann.pychiral_involution.pycli_utils.pycoherence_projector_sense_index.pycommutant_bridge.pycomposition_arithmetic.pyconfinement_zones_test.pyconservation_law_validation.pydirected_paley_bridge.pyemergent_arithmetic_pulse.pyemergent_atom_dynamics.pyemergent_atomic_shells.pyemergent_base_dimension.pyemergent_dimension_dynamics.pyemergent_fractal_pulse.pyemergent_fractal_simplex_dimension.pyemergent_integers_symmetry.pyemergent_musical_nfr.pyemergent_nfr_geometry.pyemergent_nfr_where.pyemergent_rationals.pyemergent_rhythm.pyemergent_screening.pyemergent_shell_cardinals.pyemergent_shell_ordering.pyemergent_simplex_dimension.pyemergent_substrate_symmetry.pyequivariance_wall.pyexternal_phase_gate_validation.pyfield_methods_battery.pygolden_residue_remesh_bridge.pyintegrated_force_regime_study.pyinverse_spectrum_to_symmetry.pyk_phi_safety_demo.pykuramoto_farey_bridge.pymissing_piece_bridge.pymultichannel_interface_benchmark.pynavier_stokes_recipe_bridge.pynodal_propagator_residue_bridge.pyns_moment_hierarchy_cascade.pyoperational_irreducibility.pypaley_bridge.pyphase_curvature_investigation.pyphase_wall.pyphi_s_confinement_investigation.pyprimes_as_consequence.pypulse_phase_coherence_budget.pyREADME.mdremesh_infinity_riemann_baseline.pyremesh_infinity_riemann_composed.pyremesh_infinity_riemann_modified_graph.pyremesh_infinity_riemann_operator.pyremesh_infinity_riemann_spectral_basis.pyremesh_infinity_riemann_spectral_robustness.pyremesh_infinity_riemann_spectral.pyresidue_phase_vs_riemann.pystructural_interface_benchmark.pytemporal_interface_benchmark.pytetrad_results_aggregate.pyu2_destabilization_irreversibility.pyuniversality_clusters.pyxi_c_fast_experiment.py
primality-test
benchmarks
comprehensive_benchmark.py
docs
ADVANCED_INTEGRATION.mdmathematical_foundation.mdperformance_analysis.md
examples
advanced_examples.pybasic_usage.py
tnfr_primality
__init__.py__main__.pyadvanced_cli.pyadvanced_core.pycli.pyconstants.pycore.pyoptimized.py
MANIFEST.inPACKAGE_SUMMARY.mdREADME.mdRELEASE_NOTES_v1.0.mdsetup.pytest_installation.py
tests
core_physics
__init__.pytest_conservation_laws.pytest_delta_nfr_computation_paths.pytest_delta_nfr.pytest_dispersion_coherence_sign_invariance.pytest_emergent_constants_guard.pytest_lyapunov_operators.pytest_nodal_equation.pytest_structural_triad.py
data
replay_manifests
sample_run
_manifest_summary.json_manifest.json_partition_files.txt.gz
self_opt_validation
seed_alpha
paley.json
seed_beta
integration.json
seed_gamma
unknown.json
self_optimization
test_run
partitioned
test_run
test_run_p0.jsontest_run_p1.json
_manifest_summary.json_manifest.json
engines
test_pattern_discovery_manifest.pytest_self_optimization_engine.py
mathematics
__init__.pytest_autodiff.pytest_backends.pytest_dissipative_dynamics.pytest_epi.pytest_factory_patterns.pytest_metrics.pytest_navier_stokes_refounded.pytest_number_theory_canonical.pytest_operators.pytest_residue_networks.pytest_riemann_nodal_pulse.pytest_riemann_pulse_coherence.pytest_spaces.pytest_transforms.pytest_validator.py
operators
test_canonical_operators_modern.pytest_grammar_canon.pytest_grammar_canonical_consistency.pytest_grammar_dynamics.pytest_operator_contracts.pytest_operator_strategies.py
parallel
test_fractal_partition_manifest.py
physics
test_conservation_gauge_unification.pytest_dissipative_conservation.pytest_emergent_chemistry.pytest_field_cache_invalidation.pytest_gauge.pytest_phase_transition.pytest_signatures.pytest_spectral_conservation.pytest_structural_diffusion.pytest_structural_integrity.pytest_symplectic_substrate.pytest_tetrad_bounds.pytest_variational.pytest_yang_mills_closure.pytest_yang_mills_derivability.pytest_yang_mills_scaling.pytest_yang_mills_structural_gap.pytest_yang_mills_u6_sweep.py
scripts
test_run_self_opt_validation.pytest_run_self_optimization.py
sdk
__init__.pytest_simple_advanced.py
__init__.pyconftest.pyREADME.mdtest_breast_cancer_phase_gate_demo.pytest_classical_mechanics.pytest_distributed_fft.pytest_external_phase_gate_validation.pytest_factorization_entrypoint.pytest_multichannel_interface.pytest_nodal_optimizer.pytest_phase_gate_api.pytest_replay_register_manifest.pytest_signal_confrontation.pytest_structural_interface_api.pytest_structural_interface_baselines.pytest_structural_interface_benchmark.pytest_temporal_interface.pytest_vectorized_coherence_length_regression.pytest_wine_quality_phase_gate_demo.pyutils.py
examples
01_foundations
01_hello_world.py02_musical_resonance.py03_network_formation.py04_operator_sequences.py05_coherence_evolution.py06_network_topologies.py07_phase_transitions.py08_emergent_phenomena.py09_visualization_suite.py10_simplified_sdk_showcase.py
02_physics_regimes
11_classical_limit_comparison.py115_operator_contract_audit.py12_classical_mechanics_demo.py13_quantum_mechanics_demo.py14_uncertainty_and_interference.py15_train_crossing_demo.py17_conservation_law_demo.py26_gauge_structure_demo.py27_variational_principle_demo.py28_dissipative_systems_demo.py29_lyapunov_stability_demo.py30_self_optimization_demo.py31_mathematical_constants_basis.py33_complex_field_unification.py34_conservation_protocol_suite.py35_tetrad_irreducibility.py36_grammar_violation_detector.py37_operator_tetrad_synergy.py38_grammar_energy_landscape.py39_nodal_equation_decomposition.py
03_riemann_zeta
157_nodal_pulse_phase_attack.py41_von_mangoldt_zeta_demo.py42_riemann_zeros_as_resonances.py43_prime_ladder_hamiltonian_demo.py44_weil_explicit_formula_demo.py45_li_keiper_demo.py46_weil_tnfr_positivity_demo.py47_alpha_sweep_demo.py48_admissible_family_sweep_demo.py49_nodeaware_gauge_sweep_demo.py50_uniform_coercivity_demo.py51_adaptive_coercivity_demo.py52_paley_gap_coercivity_demo.py53_lyapunov_spectral_positivity_demo.py54_hilbert_polya_demo.py55_structural_zero_density_demo.py56_spectral_emergence_demo.py57_admissible_rescaling_demo.py58_oscillatory_correction_demo.py
04_riemann_L_twisted
59_dirichlet_l_function_demo.py60_dirichlet_l_continuation_demo.py61_dirichlet_l_hamiltonian_demo.py62_dirichlet_weil_explicit_formula_demo.py63_dirichlet_li_keiper_demo.py64_twisted_weil_positivity_demo.py65_twisted_alpha_sweep_demo.py66_twisted_admissible_family_sweep_demo.py67_twisted_nodeaware_gauge_sweep_demo.py68_twisted_hermite_family_demo.py69_twisted_coercivity_uniform_demo.py70_twisted_paley_gap_coercivity_demo.py71_twisted_lyapunov_spectral_demo.py72_twisted_hilbert_polya_demo.py73_twisted_structural_zero_density_demo.py74_twisted_spectral_emergence_demo.py75_twisted_admissible_rescaling_demo.py76_twisted_oscillatory_correction_demo.py
05_type_hygiene
77_remesh_infinity_residue_split_demo.py78_nuf_type_signature_demo.py79_epi_type_signature_demo.py80_phi_type_signature_demo.py81_dnfr_type_signature_demo.py82_remesh_window_type_signature_demo.py83_delta_phi_max_type_signature_demo.py84_coupling_weights_type_signature_demo.py85_tetrad_closure_signature_demo.py86_currents_closure_signature_demo.py87_aggregates_closure_signature_demo.py88_urules_consistency_signature_demo.py89_operator_catalog_discipline_signature_demo.py
06_navier_stokes
158_navier_stokes_two_face_refounded.py
07_number_theory
100_prime_families_orbits.py101_numbers_as_coupled_network.py102_nodal_flow_primes_equilibria.py116_nuf_emergent_prime_visibility.py146_primality_grammatical_inertness.py147_numbers_as_free_monoid_words.py148_capacity_arm_carries_von_mangoldt.py149_p14_is_the_capacity_arm_operator.py153_structural_frequency_rank_cyclotomy.py40_arithmetic_number_theory.py94_generative_number_construction.py95_primes_from_spectral_waves.py96_spectral_vibration_of_coherence.py97_goldbach_additive_multiplicative.pyemergent_chemistry_particles_demo.py
08_emergent_geometry
103_emergent_substrate_meets_riemann.py106_per_node_polarization_geometry.py107_orthogonal_structure_emergent_geometry.py108_emergent_field_generating_structure.py112_structure_predicts_coherence_flow.py113_overdamped_projection_bridge.py114_substrate_conserved_quantities.py117_emergent_geometry_residue_graph.py118_emergent_vs_classical_operator.py119_phase_sector_directed_residue.py120_symmetry_wall_substrate_vs_spectrum.py121_canonical_symmetry_break_negative.py122_factorization_phase_sector.py123_symmetry_sector_decomposition.py124_emergent_metric_fractal_consistency.py125_node_is_the_emergent_substrate.py126_two_layers_base_fiber.py127_base_is_emergent_not_imposed.py128_base_substrate_coemergence.py129_spectral_gap_base_fiber_clock.py130_operators_break_substrate_charges.py131_coemergent_loop_convergence.py132_geometric_phase_holonomy.py133_psi_topological_defects.py134_spectral_dimension_heat_kernel.py135_arrow_of_time_h_theorem.py136_heat_kernel_coefficients.py137_synchronization_transition.py138_structure_frequency_synchronization.py139_grammar_formal_language.py140_grammar_automaton.py141_grammar_rule_decomposition.py142_grammar_operator_quotient.py143_glyphic_function_sublanguage.py144_branching_combinator.py145_syntactic_monoid_starfree.py150_emergent_grammatical_pattern_parry.py151_grammar_in_emergent_geometry.py152_operator_contract_tetrahedron.py154_conductor_annotated_qr_spectrum.py155_ontological_position_of_numbers.py156_emergence_directness_law.py98_emergent_symplectic_substrate.py99_structural_diffusion.pyunified_fields_showcase.py
09_millennium
109_p_vs_np_coherence_synthesis.py110_bsd_rank_structural_pressure.py111_hodge_discrete_and_honest_gap.py
10_applications
159_empirical_confrontation_pipeline.py90_phase_gate_monitor_demo.py91_breast_cancer_phase_gate_demo.py92_wine_quality_phase_gate_demo.py93_structural_interface_demo.pypytorch_cuda_demo.py
README.md
scripts
replay
__init__.pyregister_manifest.py
__init__.pyREADME.mdrebuild_failure_manifest.pyrun_reproducible_benchmarks.pyrun_self_opt_validation.pyrun_self_optimization.pytnfr_is_prime.pyvalidate_conservation_law.pyverify_internal_references.py
src
core
__init__.pyevaluation.py
tnfr
backends
__init__.pyjax_backend.pynumpy_backend.pyoptimized_numpy.pyREADME.mdtorch_backend.py
cli
__init__.py__init__.pyiarguments.pyarguments.pyiexecution.pyexecution.pyiinteractive_validator.pyREADME.mdutils.pyutils.pyi
compat
__init__.pydataclass.pyjsonschema_stub.pymatplotlib_stub.pynumpy_stub.pyREADME.md
config
__init__.py__init__.pyiconstants.pyconstants.pyidefaults_core.pydefaults_init.pydefaults_metric.pydefaults.pyfeature_flags.pyfeature_flags.pyiglyph_constants.pyoperator_names.pyoperator_names.pyiphysics_derivation.pyprecision_modes.pypresets.pypresets.pyiREADME.mdsecurity.pythresholds.pytnfr_config.py
constants
__init__.py__init__.pyialiases.pyaliases.pyicanonical.pymetric.pymetric.pyioperational.py
core
__init__.pycontainer.pydefault_implementations.pyexceptions.pyinterfaces.pyREADME.md
dynamics
__init__.py__init__.pyiadaptation.pyadaptation.pyiadaptive_sequences.pyadaptive_sequences.pyiadelic.pyadvanced_cache_optimizer.pyadvanced_fft_arithmetic.pyaliases.pyaliases.pyibifurcation.pycache_aware_fft_engine.pycanonical.pycanonical.pyicomputational_hub.pycoordination.pycoordination.pyidistributed_fft.pydnfr.pydnfr.pyidynamic_limits.pyemergent_centralization.pyemergent_integration_engine.pyfeedback.pyfeedback.pyifft_backend.pyfft_cache_coordinator.pyfft_dispatchers.pyfft_engine.pyfft_workers.pyfused_dnfr.pyhomeostasis.pyhomeostasis.pyiintegrators.pyintegrators.pyilearning.pylearning.pyimetabolism.pymulti_modal_cache.pynbody_tnfr.pynbody.pynodal_optimizer.pyoptimization_orchestrator.pypropagation.pyREADME.mdruntime.pyruntime.pyisampling.pysampling.pyiselectors.pyselectors.pyiself_optimizing_engine.pyspectral_structural_fusion.pystructural_cache.pystructural_clip.pysymplectic.pyunified_backend.pyunified_mathematical_cache_orchestrator.py
engines
computation
__init__.pyfft_engine.pyunified_fft_engine.pyunified_gpu_system.py
constants
__init__.pycanonical.pyoperational.py
integration
__init__.pyemergent_integration.py
pattern_discovery
__init__.pymathematical_patterns.pymulti_modal_cache.py
self_optimization
__init__.pyengine.py
__init__.pyREADME.md
errors
__init__.pycontextual.py
factorization
__init__.py
flatten
README.md
gamma
README.md
glyph_history
README.md
glyph_runtime
README.md
immutable
README.md
initialization
README.md
io
README.md
math
__init__.pyfields_symbolic.pygrammar_validators.pyoptimizer.pyREADME.mdsymbolic.py
mathematics
__init__.pybackend.pybackend.pyidynamics.pydynamics.pyiepi.pyepi.pyigenerators.pygenerators.pyiliouville.pymetrics.pymetrics.pyinumber_theory.pyoperators_factory.pyoperators_factory.pyioperators.pyoperators.pyioptimized_primality.pyprojection.pyprojection.pyiREADME.mdruntime.pyruntime.pyispaces.pyspaces.pyispectral.pytransforms.pytransforms.pyiunified_cache.pyunified_numerical.pyzeta.py
metrics
__init__.py__init__.pyibuffer_cache.pybuffer_cache.pyicache_utils.pycoherence.pycoherence.pyicommon.pycommon.pyicore.pycore.pyidiagnosis.pydiagnosis.pyiemergence.pyexport.pyexport.pyiglyph_timing.pyglyph_timing.pyilearning_metrics.pylearning_metrics.pyilocal_coherence.pyphase_coherence.pyphase_compatibility.pyREADME.mdreporting.pyreporting.pyisense_index.pysense_index.pyitelemetry.pytetrad.pytrig_cache.pytrig_cache.pyitrig.pytrig.pyi
multiscale
__init__.pyhierarchical.pyREADME.md
navier_stokes
__init__.pyconservative_face.pyoperator.py
node
README.md
observers
README.md
operators
network_analysis
__init__.pysource_detection.py
postconditions
__init__.pymutation.py
preconditions
__init__.pycoherence.pydissonance.pyemission.pymutation.pyreception.pyresonance.py
strategies
__init__.pydefaults.pygpu_strategies.pystrategy.py
__init__.py__init__.pyialgebra.pycanonical_patterns.pycascade.pycoherence.pycontraction.pycoupling.pycycle_detection.pydefinitions_base.pydefinitions.pydefinitions.pyidissonance.pyemission.pyexpansion.pygrammar_application.pygrammar_canon.pygrammar_context.pygrammar_core.pygrammar_dynamics.pygrammar_error_factory.pygrammar_memoization.pygrammar_patterns.pygrammar_telemetry.pygrammar_types.pygrammar_u6.pygrammar_validate.pygrammar.pygrammar.pyihamiltonian.pyhealth_analyzer.pyintrospection.pyjitter.pyjitter.pyilifecycle.pymetabolism.pymetrics_basic.pymetrics_core.pymetrics_network.pymetrics_structural.pymetrics_u6.pymetrics.pymutation.pynodal_equation.pyoperator_contracts.pypattern_detection.pypatterns.pyREADME.mdreception.pyrecursivity.pyregistry.pyregistry.pyiremesh.pyremesh.pyiresonance.pyself_organization.pysilence.pystructural_units.pytransition.py
parallel
__init__.pyauto_scaler.pydistributed.pyengine.pymonitoring.pypartitioner.pyREADME.md
performance
guardrails.py
physics
__init__.py_helpers.pycalibration.pycanonical.pycell.pyclassical_mechanics.pyconservation_gauge_unification.pyconservation.pydissipative_conservation.pyemergent_chemistry.pyemergent_particles.pyextended.pyfields.pygauge.pyintegrity.pyinteractions.pylife.pylyapunov.pypatterns.pyphase_transition.pyquantum_mechanics.pyREADME.mdsignatures.pyspectral_conservation.pyspectral_metrics.pystructural_diffusion.pysymplectic_substrate.pytelemetry.pyunified.pyvariational.pyvectorized_ops.py
primality
__init__.py
recipes
__init__.pycookbook.pyREADME.md
riemann
__init__.pyadmissible_family_sweep.pyadmissible_rescaling.pyaggregates_closure_signature.pyalpha_sweep.pyanalytic_continuation_dirichlet.pyanalytic_continuation.pycoercivity_uniform.pycoupling_weights_type_signature.pycurrents_closure_signature.pydelta_phi_max_type_signature.pydirichlet_l.pydnfr_type_signature.pyepi_type_signature.pyhilbert_polya.pyli_keiper.pylyapunov_spectral_positivity.pynodal_pulse.pynodeaware_gauge_sweep.pynuf_type_signature.pyoperator_catalog_discipline_signature.pyoperator.pyoscillatory_correction.pypaley_gap_coercivity.pyphi_type_signature.pyprime_ladder_hamiltonian.pypulse_coherence.pyremesh_infinity_residue_split.pyremesh_window_type_signature.pyspectral_emergence.pystructural_zero_density.pytelemetry.pytetrad_closure_signature.pytwisted_admissible_family_sweep.pytwisted_admissible_rescaling.pytwisted_alpha_sweep.pytwisted_coercivity_uniform.pytwisted_hermite_family.pytwisted_hilbert_polya.pytwisted_li_keiper.pytwisted_lyapunov_spectral_positivity.pytwisted_nodeaware_gauge_sweep.pytwisted_oscillatory_correction.pytwisted_paley_gap_coercivity.pytwisted_prime_ladder_hamiltonian.pytwisted_spectral_emergence.pytwisted_structural_zero_density.pytwisted_weil_explicit_formula.pytwisted_weil_positivity.pyurules_consistency_signature.pyvon_mangoldt.pyweil_explicit_formula.pyweil_positivity.py
schemas
__init__.pygrammar.jsonREADME.md
sdk
__init__.py__init__.pyiadaptive_system.pyadaptive_system.pyibuilders.pybuilders.pyifluent.pyfluent.pyiREADME.mdself_opt.pysimple.pytemplates.pytemplates.pyiutils.py
security
__init__.pycrypto.pydatabase.pyREADME.mdsubprocess.pyvalidation.py
sequencing
__init__.pypatterns.pyREADME.md
services
__init__.pyorchestrator.pyREADME.md
sparse
__init__.pyREADME.mdrepresentations.py
structural
README.md
telemetry
__init__.pycache_metrics.pycache_metrics.pyiconstants.pynu_f.pynu_f.pyiREADME.mdunified_telemetry_system.pyverbosity.pyverbosity.pyi
tools
__init__.pydomain_templates.pyREADME.mdsequence_generator.pytnfr_is_prime_cli_optimized.pytnfr_is_prime_cli.py
topology
__init__.pyasymmetry.pyREADME.md
utils
cache_layers.pycache.pycache.pyicallbacks.pycallbacks.pyichunks.pychunks.pyidata.pydata.pyifast_diameter.pygraph.pygraph.pyiinit.pyinit.pyiio.pyio.pyinumeric.pynumeric.pyiREADME.mdtopology.pyunified_cache.py
validation
__init__.py__init__.pyiaggregator.pybase.pycompatibility.pycompatibility.pyiconfig.pygraph.pygraph.pyihealth.pyinput_validation.pyinterface_baselines.pyinvariants.pymultichannel_interface.pyphase_gate.pyREADME.mdrules.pyrules.pyiruntime.pyruntime.pyisequence_validator.pysignal_confrontation.pysoft_filters.pysoft_filters.pyispectral.pyspectral.pyistructural_interface.pytemporal_interface.pyunified_validation_system.pyvalidator.pywindow.pywindow.pyi
visualization
__init__.pycascade_viz.pyhierarchy.pyREADME.mdsequence_plotter.py
yang_mills
__init__.pyclosure.pyderivability.pyscaling.pystructural_gap.pyu6_sweep.py
__init__.py__init__.pyi_compat.py_version.py_version.pyialias.pyalias.pyibackend_config.pycache.pycache.pyiexecution.pyexecution.pyiflatten.pyflatten.pyigamma.pygamma.pyiglyph_history.pyglyph_history.pyiglyph_runtime.pyglyph_runtime.pyiimmutable.pyimmutable.pyiinitialization.pyinitialization.pyiio.pyio.pyilocking.pylocking.pyinode.pynode.pyiobservers.pyobservers.pyiontosim.pyontosim.pyipy.typedrng.pyrng.pyisecure_config.pyselector.pyselector.pyisense.pysense.pyistructural.pystructural.pyitokens.pytokens.pyitrace.pytrace.pyitypes.pytypes.pyiunits.pyunits.pyi
tetrad_evaluator.py
.pre-commit-config.yaml.semgrep.yaml.zenodo.jsonARCHITECTURE.mdbandit.yamlCHANGELOG.mdCITATION.cffCONTRIBUTING.mdEMERGENT_CANON_AUDIT.mdEMERGENT_DERIVATION_PLAN.mdLICENSE.mdMakefileMANIFEST.inpyproject.tomlpyrightconfig.jsonPYTORCH_CUDA_INTEGRATION.mdREADME.mdSECURITY.mdTESTING.mdTNFR_Website_Content_Brief.md
FILE: src/tnfr/yang_mills/structural_gap.py

structural_gap.py

Source Code

python
r"""Y1 finite structural gauge gap diagnostic.

The routines in this module implement the first TNFR–Yang–Mills milestone:
construct a finite, self-adjoint structural gauge operator from canonical TNFR
telemetry and measure its first spectral gap.

TNFR framing
------------
The diagnostic is built exclusively from the nodal structural stack:

    ∂EPI/∂t = νf · ΔNFR(t)

and the already-canonical gauge sector Ψ = K_φ + i·J_φ.  No separate quantum
substrate is introduced.  The external term "mass gap" is represented here as
spectral isolation of the first non-trivial admissible nodal reorganisation
mode above the coherent attractor mode.

Honest scope
------------
This is a finite-graph diagnostic.  It does not prove the Clay Yang–Mills and
Mass Gap theorem, does not introduce a non-Abelian gauge group, and does not
address the continuum / thermodynamic limit.  Those remain YMG-4 and YMG-5 in
``theory/TNFR_YANG_MILLS_RESEARCH_NOTES.md``.
"""

from __future__ import annotations

import math
from dataclasses import dataclass
from typing import Any, Mapping

try:  # pragma: no cover - imported in tests when optional dependency exists
    import networkx as nx
except ImportError:  # pragma: no cover
    nx = None

from ..constants import inject_defaults
from ..constants.canonical import DELTA_PHI_MAX, PI, U6_STRUCTURAL_POTENTIAL_LIMIT
from ..mathematics.unified_numerical import np
from ..physics._helpers import wrap_angle
from ..physics.canonical import compute_structural_potential
from ..physics.conservation_gauge_unification import compute_grammar_symmetry_mapping
from ..physics.gauge import (
    compute_gauge_connection,
    compute_gauge_coupling_constant,
    compute_gauge_curvature,
    compute_yang_mills_action,
)


@dataclass(frozen=True)
class StructuralGaugeGapOperator:
    """Finite TNFR structural gauge operator.

    Attributes
    ----------
    matrix : numpy.ndarray
        Hermitian matrix ``H_YM^TNFR = L_A + V_F + V_U6``.
    node_order : tuple[Any, ...]
        Node ordering used for rows and columns.
    connection : dict[tuple, float]
        Gauge connection values used to assemble the covariant Laplacian.
    curvature_potential : dict[Any, float]
        Per-node curvature contribution, normalised by π².
    confinement_potential : dict[Any, float]
        Per-node U6 structural-potential contribution, normalised by (π/2)².
    metadata : dict[str, Any]
        Reproducibility and structural telemetry metadata.
    """

    matrix: Any
    node_order: tuple[Any, ...]
    connection: dict[tuple, float]
    curvature_potential: dict[Any, float]
    confinement_potential: dict[Any, float]
    metadata: dict[str, Any]


@dataclass(frozen=True)
class StructuralGaugeGapResult:
    """Y1 finite structural gauge gap report.

    Attributes
    ----------
    operator : StructuralGaugeGapOperator
        Operator used for the spectral analysis.
    eigenvalues : numpy.ndarray
        Sorted real eigenvalues of the Hermitian operator.
    lambda0 : float
        Lowest eigenvalue (coherent attractor baseline for this finite graph).
    lambda1 : float
        First eigenvalue above ``lambda0`` by ``eigen_tolerance`` if present;
        otherwise the second eigenvalue for graphs with at least two nodes.
    gap : float
        ``lambda1 - lambda0``.  Non-negative up to numerical tolerance.
    is_self_adjoint : bool
        Whether ``H = H†`` within tolerance.
    self_adjoint_deviation : float
        Maximum absolute Hermitian defect.
    gauge_invariant : bool
        Whether the spectrum is invariant under the seeded local U(1) gauge
        rotation within tolerance.
    gauge_spectral_deviation : float
        Maximum absolute eigenvalue deviation after the seeded rotation.
    transformed_eigenvalues : numpy.ndarray
        Eigenvalues after the seeded local gauge rotation.
    verdict : str
        Conservative finite-graph classification string.
    metadata : dict[str, Any]
        Combined operator and diagnostic metadata.
    """

    operator: StructuralGaugeGapOperator
    eigenvalues: Any
    lambda0: float
    lambda1: float
    gap: float
    is_self_adjoint: bool
    self_adjoint_deviation: float
    gauge_invariant: bool
    gauge_spectral_deviation: float
    transformed_eigenvalues: Any
    verdict: str
    metadata: dict[str, Any]


def build_structural_gauge_graph(
    n: int = 16,
    *,
    topology: str = "cycle",
    seed: int = 42,
    phase_spread: float = 0.05,
    delta_nfr_scale: float = 0.08,
) -> Any:
    """Build a reproducible TNFR-ready graph for Y1 diagnostics.

    The generated graph is intentionally modest and grammar-friendly: phases
    are clustered within ``phase_spread`` around one base phase, ``ΔNFR`` is
    small, ``frequency`` is positive, and ``EPI`` is initialised.  The graph is
    suitable for finite spectral diagnostics, not for a continuum claim.

    Parameters
    ----------
    n : int
        Number of nodes for non-grid topologies.  For ``topology='grid'`` the
        largest square ``side*side <= n`` is used.
    topology : str
        ``'cycle'``, ``'complete'``, ``'watts_strogatz'`` or ``'grid'``.
    seed : int
        Reproducibility seed.
    phase_spread : float
        Maximum phase deviation around the base phase.  Must be non-negative.
    delta_nfr_scale : float
        Range scale for small structural pressure values.

    Returns
    -------
    networkx.Graph
        TNFR-ready graph with canonical node attributes.
    """
    if nx is None:  # pragma: no cover
        raise RuntimeError("networkx required for Y1 structural gauge graphs")
    if n < 2:
        raise ValueError("Y1 structural gauge graph requires at least 2 nodes")
    if phase_spread < 0:
        raise ValueError("phase_spread must be non-negative")
    if delta_nfr_scale < 0:
        raise ValueError("delta_nfr_scale must be non-negative")

    if topology == "cycle":
        G = nx.cycle_graph(n)
    elif topology == "complete":
        G = nx.complete_graph(n)
    elif topology == "watts_strogatz":
        k = min(4, n - 1)
        if k % 2 == 1:
            k -= 1
        k = max(2, k)
        G = nx.watts_strogatz_graph(n, k, 0.25, seed=seed)
    elif topology == "grid":
        side = max(2, int(math.sqrt(n)))
        G = nx.grid_2d_graph(side, side, periodic=True)
    else:
        raise ValueError(
            "topology must be one of: cycle, complete, watts_strogatz, grid"
        )

    inject_defaults(G)
    rng = np.random.default_rng(seed)
    base_phase = float(rng.uniform(0.0, 2.0 * math.pi))
    for idx, node in enumerate(G.nodes()):
        G.nodes[node]["phase"] = float(
            wrap_angle(base_phase + rng.uniform(-phase_spread, phase_spread))
        )
        G.nodes[node]["frequency"] = float(rng.uniform(0.2, 1.0))
        G.nodes[node]["delta_nfr"] = float(
            rng.uniform(-delta_nfr_scale, delta_nfr_scale)
        )
        G.nodes[node]["EPI"] = f"ymg_epi_{idx}"

    G.graph["delta_phi_max"] = max(float(DELTA_PHI_MAX), phase_spread * 2.0)
    G.graph["tnfr_program"] = "TNFR-Yang-Mills-Y1"
    G.graph["seed"] = seed
    G.graph["topology"] = topology
    return G


def build_structural_gauge_gap_operator(
    G: Any,
    *,
    connection: Mapping[tuple, float] | None = None,
    curvature_weight: float = 1.0,
    confinement_weight: float = 1.0,
) -> StructuralGaugeGapOperator:
    r"""Assemble ``H_YM^TNFR = L_A + V_F + V_U6`` on a finite graph.

    Terms
    -----
    ``L_A``
        Gauge-covariant graph Laplacian built from ``A_ij``.
    ``V_F``
        Gauge-curvature potential from cycle holonomies ``F_C² / π²``.
    ``V_U6``
        Structural-potential confinement contribution ``Φ_s² / (π/2)²``.

    The construction is read-only: it does not mutate EPI or any graph
    attribute.
    """
    if G.number_of_nodes() < 2:
        raise ValueError("structural gauge gap requires at least two nodes")
    if curvature_weight < 0.0 or confinement_weight < 0.0:
        raise ValueError("operator weights must be non-negative")

    nodes = tuple(G.nodes())
    index = {node: idx for idx, node in enumerate(nodes)}
    n = len(nodes)

    conn = dict(connection) if connection is not None else compute_gauge_connection(G)
    matrix = np.zeros((n, n), dtype=complex)

    for u, v in G.edges():
        i = index[u]
        j = index[v]
        weight = float(G.edges[u, v].get("weight", 1.0))
        if weight < 0.0:
            raise ValueError("edge weights must be non-negative")
        a_uv = float(conn.get((u, v), -conn.get((v, u), 0.0)))
        phase = complex(math.cos(a_uv), math.sin(a_uv))
        matrix[i, i] += weight
        matrix[j, j] += weight
        matrix[i, j] -= weight * phase
        matrix[j, i] -= weight * phase.conjugate()

    curvature = compute_gauge_curvature(G)
    curvature_potential = {node: 0.0 for node in nodes}
    curvature_counts = {node: 0 for node in nodes}
    for cycle, f_c in curvature.items():
        f_norm = (float(f_c) / PI) ** 2 if PI else float(f_c) ** 2
        for node in cycle:
            if node in curvature_potential:
                curvature_potential[node] += f_norm
                curvature_counts[node] += 1
    for node in nodes:
        count = curvature_counts[node]
        if count:
            curvature_potential[node] /= count

    phi_s = compute_structural_potential(G)
    confinement_potential = {
        node: (abs(float(phi_s.get(node, 0.0))) / U6_STRUCTURAL_POTENTIAL_LIMIT) ** 2
        if U6_STRUCTURAL_POTENTIAL_LIMIT
        else 0.0
        for node in nodes
    }

    for node in nodes:
        diag = (
            curvature_weight * curvature_potential[node]
            + confinement_weight * confinement_potential[node]
        )
        matrix[index[node], index[node]] += float(diag)

    max_abs_phi_s = max(
        (abs(float(phi_s.get(node, 0.0))) for node in nodes),
        default=0.0,
    )
    try:
        grammar = compute_grammar_symmetry_mapping(G)
        grammar_rules_satisfied = sum(1 for item in grammar if item.is_satisfied)
        grammar_rules_total = len(grammar)
    except Exception as exc:  # pragma: no cover - defensive metadata only
        grammar_rules_satisfied = None
        grammar_rules_total = None
        grammar_error = repr(exc)
    else:
        grammar_error = None

    metadata: dict[str, Any] = {
        "operator": "H_YM_TNFR = L_A + V_F + V_U6",
        "n_nodes": n,
        "n_edges": G.number_of_edges(),
        "n_cycles": len(curvature),
        "curvature_weight": float(curvature_weight),
        "confinement_weight": float(confinement_weight),
        "yang_mills_action": float(compute_yang_mills_action(G)),
        "gauge_coupling_constant": float(compute_gauge_coupling_constant(G)),
        "max_abs_phi_s": float(max_abs_phi_s),
        "u6_threshold_phi": float(U6_STRUCTURAL_POTENTIAL_LIMIT),
        "u6_confined": bool(max_abs_phi_s < U6_STRUCTURAL_POTENTIAL_LIMIT),
        "grammar_rules_satisfied": grammar_rules_satisfied,
        "grammar_rules_total": grammar_rules_total,
        "grammar_error": grammar_error,
        "scope": "finite_graph_y1_diagnostic_not_clay_proof",
    }

    return StructuralGaugeGapOperator(
        matrix=matrix,
        node_order=nodes,
        connection=conn,
        curvature_potential=curvature_potential,
        confinement_potential=confinement_potential,
        metadata=metadata,
    )


def compute_structural_gauge_gap(
    G: Any,
    *,
    gauge_seed: int = 42,
    tolerance: float = 1e-10,
    eigen_tolerance: float = 1e-9,
    curvature_weight: float = 1.0,
    confinement_weight: float = 1.0,
) -> StructuralGaugeGapResult:
    """Compute the Y1 finite TNFR structural gauge gap.

    The routine assembles the operator, diagonalises it with ``eigvalsh``, and
    verifies spectral invariance under a seeded local U(1) transformation of
    the connection.  The graph is not mutated.
    """
    operator = build_structural_gauge_gap_operator(
        G,
        curvature_weight=curvature_weight,
        confinement_weight=confinement_weight,
    )
    matrix = operator.matrix
    hermitian_defect = matrix - matrix.conjugate().T
    self_adjoint_deviation = (
        float(np.max(np.abs(hermitian_defect))) if matrix.size else 0.0
    )
    is_self_adjoint = self_adjoint_deviation < tolerance

    eigenvalues = np.linalg.eigvalsh(matrix)
    eigenvalues = np.sort(np.real(eigenvalues))
    lambda0 = float(eigenvalues[0])
    lambda1 = _first_excited_eigenvalue(eigenvalues, eigen_tolerance)
    gap = max(0.0, float(lambda1 - lambda0))

    transformed_connection = _seeded_gauge_transformed_connection(
        operator.connection,
        operator.node_order,
        gauge_seed,
    )
    transformed_operator = build_structural_gauge_gap_operator(
        G,
        connection=transformed_connection,
        curvature_weight=curvature_weight,
        confinement_weight=confinement_weight,
    )
    transformed_eigenvalues = np.linalg.eigvalsh(transformed_operator.matrix)
    transformed_eigenvalues = np.sort(np.real(transformed_eigenvalues))
    gauge_spectral_deviation = float(
        np.max(np.abs(eigenvalues - transformed_eigenvalues))
    )
    gauge_invariant = gauge_spectral_deviation < max(tolerance, 1e-9)

    if not is_self_adjoint:
        verdict = "DIAGNOSTIC_FAILED_NON_SELF_ADJOINT"
    elif not gauge_invariant:
        verdict = "DIAGNOSTIC_FAILED_GAUGE_VARIANCE"
    elif gap > eigen_tolerance:
        verdict = "FINITE_POSITIVE_STRUCTURAL_GAP"
    else:
        verdict = "FINITE_GAP_NOT_RESOLVED"

    metadata = dict(operator.metadata)
    metadata.update(
        {
            "gauge_seed": int(gauge_seed),
            "tolerance": float(tolerance),
            "eigen_tolerance": float(eigen_tolerance),
            "lambda0": lambda0,
            "lambda1": float(lambda1),
            "gap": float(gap),
            "gauge_spectral_deviation": gauge_spectral_deviation,
            "verdict": verdict,
        }
    )

    return StructuralGaugeGapResult(
        operator=operator,
        eigenvalues=eigenvalues,
        lambda0=lambda0,
        lambda1=float(lambda1),
        gap=float(gap),
        is_self_adjoint=is_self_adjoint,
        self_adjoint_deviation=self_adjoint_deviation,
        gauge_invariant=gauge_invariant,
        gauge_spectral_deviation=gauge_spectral_deviation,
        transformed_eigenvalues=transformed_eigenvalues,
        verdict=verdict,
        metadata=metadata,
    )


def _first_excited_eigenvalue(eigenvalues: Any, tolerance: float) -> float:
    """Return the first eigenvalue separated from the ground mode."""
    if len(eigenvalues) == 1:
        return float(eigenvalues[0])
    ground = float(eigenvalues[0])
    for val in eigenvalues[1:]:
        val_f = float(val)
        if val_f - ground > tolerance:
            return val_f
    return float(eigenvalues[min(1, len(eigenvalues) - 1)])


def _seeded_gauge_transformed_connection(
    connection: Mapping[tuple, float],
    nodes: tuple[Any, ...],
    seed: int,
) -> dict[tuple, float]:
    """Apply ``A_ij → A_ij + α_j − α_i`` with deterministic α."""
    rng = np.random.default_rng(seed)
    alpha = {node: float(rng.uniform(0.0, 2.0 * math.pi)) for node in nodes}
    transformed: dict[tuple, float] = {}
    for (u, v), a_uv in connection.items():
        transformed[(u, v)] = float(wrap_angle(a_uv + alpha[v] - alpha[u]))
    return transformed