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/metrics/phase_coherence.py

phase_coherence.py

Phase coherence metrics for TNFR networks.

This module provides phase alignment and synchronization metrics based on circular statistics and the Kuramoto order parameter. These metrics are essential for measuring the effectiveness of the IL (Coherence) operator's phase locking mechanism.

Mathematical Foundation

Kuramoto Order Parameter:

The phase alignment quality is measured using the Kuramoto order parameter r:

.. math:: r = |\frac{1}{N} \sum_{j=1}^{N} e^{i\theta_j}|

where:

  • r ∈ [0, 1]
  • r = 1: Perfect phase synchrony (all nodes aligned)
  • r = 0: Complete phase disorder (uniformly distributed phases)
  • θ_j: Phase of node j in radians

Circular Mean:

The mean phase of a set of angles is computed using the circular mean to properly handle phase wrap-around at 2π:

.. math:: \theta_{mean} = \text{arg}\left(\frac{1}{N} \sum_{j=1}^{N} e^{i\theta_j}\right)

This ensures that phases near 0 and 2π are correctly averaged (e.g., 0.1 and 6.2 radians average to near 0, not π).

TNFR Context

Phase alignment is a key component of the IL (Coherence) operator:

  • IL Phase Locking: θ_node → θ_node + α * (θ_network - θ_node)
  • Network Synchrony: High r indicates effective IL application
  • Local vs. Global: Phase alignment can be measured at node or network level
  • Structural Traceability: Phase metrics enable telemetry of synchronization

Examples

Compute phase alignment for a node:

import networkx as nx from tnfr.metrics.phase_coherence import compute_phase_alignment from tnfr.constants import THETA_PRIMARY G = nx.Graph() G.add_edges_from([(1, 2), (2, 3)]) G.nodes[1][THETA_PRIMARY] = 0.0 G.nodes[2][THETA_PRIMARY] = 0.1 G.nodes[3][THETA_PRIMARY] = 0.2 alignment = compute_phase_alignment(G, 2, radius=1) 0.0 <= alignment <= 1.0 True

Compute global phase coherence:

from tnfr.metrics.phase_coherence import compute_global_phase_coherence coherence = compute_global_phase_coherence(G) 0.0 <= coherence <= 1.0 True

See Also

operators.definitions.Coherence : IL operator that applies phase locking metrics.coherence.compute_global_coherence : Global structural coherence C(t) observers.kuramoto_order : Alternative Kuramoto order parameter implementation

Source Code

python
"""Phase coherence metrics for TNFR networks.

This module provides phase alignment and synchronization metrics based on
circular statistics and the Kuramoto order parameter. These metrics are
essential for measuring the effectiveness of the IL (Coherence) operator's
phase locking mechanism.

Mathematical Foundation
-----------------------

**Kuramoto Order Parameter:**

The phase alignment quality is measured using the Kuramoto order parameter r:

.. math::
    r = |\\frac{1}{N} \\sum_{j=1}^{N} e^{i\\theta_j}|

where:
- r ∈ [0, 1]
- r = 1: Perfect phase synchrony (all nodes aligned)
- r = 0: Complete phase disorder (uniformly distributed phases)
- θ_j: Phase of node j in radians

**Circular Mean:**

The mean phase of a set of angles is computed using the circular mean to
properly handle phase wrap-around at 2π:

.. math::
    \\theta_{mean} = \\text{arg}\\left(\\frac{1}{N} \\sum_{j=1}^{N} e^{i\\theta_j}\\right)

This ensures that phases near 0 and 2π are correctly averaged (e.g., 0.1 and
6.2 radians average to near 0, not π).

TNFR Context
------------

Phase alignment is a key component of the IL (Coherence) operator:

- **IL Phase Locking**: θ_node → θ_node + α * (θ_network - θ_node)
- **Network Synchrony**: High r indicates effective IL application
- **Local vs. Global**: Phase alignment can be measured at node or network level
- **Structural Traceability**: Phase metrics enable telemetry of synchronization

Examples
--------

**Compute phase alignment for a node:**

>>> import networkx as nx
>>> from tnfr.metrics.phase_coherence import compute_phase_alignment
>>> from tnfr.constants import THETA_PRIMARY
>>> G = nx.Graph()
>>> G.add_edges_from([(1, 2), (2, 3)])
>>> G.nodes[1][THETA_PRIMARY] = 0.0
>>> G.nodes[2][THETA_PRIMARY] = 0.1
>>> G.nodes[3][THETA_PRIMARY] = 0.2
>>> alignment = compute_phase_alignment(G, 2, radius=1)
>>> 0.0 <= alignment <= 1.0
True

**Compute global phase coherence:**

>>> from tnfr.metrics.phase_coherence import compute_global_phase_coherence
>>> coherence = compute_global_phase_coherence(G)
>>> 0.0 <= coherence <= 1.0
True

See Also
--------

operators.definitions.Coherence : IL operator that applies phase locking
metrics.coherence.compute_global_coherence : Global structural coherence C(t)
observers.kuramoto_order : Alternative Kuramoto order parameter implementation
"""

from __future__ import annotations

import cmath
from typing import TYPE_CHECKING, Any, cast

if TYPE_CHECKING:
    from ..types import TNFRGraph

from ..alias import get_attr
from ..constants.aliases import ALIAS_THETA
from ..mathematics.unified_numerical import np

__all__ = [
    "compute_phase_alignment",
    "compute_global_phase_coherence",
]


def compute_phase_alignment(G: TNFRGraph, node: Any, radius: int = 1) -> float:
    """Compute phase alignment quality for node and neighborhood.

    Uses Kuramoto order parameter r = |⟨e^(iθ)⟩| to measure phase synchrony
    within a node's neighborhood. Higher values indicate better phase alignment,
    which is the goal of IL (Coherence) phase locking.

    Parameters
    ----------
    G : TNFRGraph
        Network graph with node phase attributes (θ)
    node : Any
        Central node for local phase alignment computation
    radius : int, default=1
        Neighborhood radius:
        - 1 = node + immediate neighbors (default)
        - 2 = node + neighbors + neighbors-of-neighbors
        - etc.

    Returns
    -------
    float
        Phase alignment in [0, 1] where:
        - 1.0 = Perfect phase synchrony (all phases aligned)
        - 0.0 = Complete phase disorder (uniformly distributed)

    Notes
    -----
    **Mathematical Foundation:**

    Kuramoto order parameter for local neighborhood:

    .. math::
        r = |\\frac{1}{N} \\sum_{j \\in \\mathcal{N}(i)} e^{i\\theta_j}|

    where 𝒩(i) is the set of neighbors within `radius` of node i (including i).

    **Use Cases:**

    - **IL Effectiveness**: Measure phase locking success after IL application
    - **Synchrony Monitoring**: Track local phase coherence over time
    - **Hotspot Detection**: Identify regions with poor phase alignment
    - **Coupling Validation**: Verify phase prerequisites before UM (Coupling)

    **Special Cases:**

    - Isolated node (no neighbors): Returns 1.0 (trivially synchronized)
    - Single neighbor: Returns 1.0 (two nodes always "aligned")
    - Empty neighborhood: Returns 1.0 (no disorder by definition)

    **TNFR Context:**

    Phase alignment is a precondition for effective coupling (UM operator) and
    resonance (RA operator). The IL operator increases phase alignment through
    its phase locking mechanism: θ_node → θ_node + α * (θ_network - θ_node).

    See Also
    --------
    compute_global_phase_coherence : Network-wide phase coherence
    operators.definitions.Coherence : IL operator with phase locking

    Examples
    --------
    >>> import networkx as nx
    >>> from tnfr.metrics.phase_coherence import compute_phase_alignment
    >>> from tnfr.constants import THETA_PRIMARY
    >>> G = nx.Graph()
    >>> G.add_edges_from([(1, 2), (2, 3), (3, 4)])
    >>> # Highly aligned phases
    >>> for n in [1, 2, 3, 4]:
    ...     G.nodes[n][THETA_PRIMARY] = 0.1 * n  # Small differences
    >>> r = compute_phase_alignment(G, node=2, radius=1)
    >>> r > 0.9  # Should be highly aligned
    True
    >>> # Disordered phases
    >>> import numpy as np
    >>> for n in [1, 2, 3, 4]:
    ...     G.nodes[n][THETA_PRIMARY] = np.random.uniform(0, 2*np.pi)
    >>> r = compute_phase_alignment(G, node=2, radius=1)
    >>> 0.0 <= r <= 1.0  # Could be anywhere in range
    True
    """
    import networkx as nx

    # Get neighborhood
    if radius == 1:
        neighbors = set(G.neighbors(node)) | {node}
    else:
        try:
            neighbors = set(
                nx.single_source_shortest_path_length(G, node, cutoff=radius).keys()
            )
        except (nx.NetworkXError, KeyError):
            # Node not in graph or graph is empty
            neighbors = {node} if node in G.nodes else set()

    # Collect phases from neighborhood
    phases = []
    for n in neighbors:
        try:
            theta = cast(float, get_attr(G.nodes[n], ALIAS_THETA, 0.0))
            phases.append(theta)
        except (KeyError, ValueError, TypeError):
            # Skip nodes with invalid phase data
            continue

    # Handle edge cases
    if not phases:
        return 1.0  # Empty neighborhood: trivially synchronized

    if len(phases) == 1:
        return 1.0  # Single node: perfect synchrony

    # Compute Kuramoto order parameter using circular statistics
    if np is not None:
        # NumPy vectorized computation
        phases_array = np.array(phases)
        complex_phases = np.exp(1j * phases_array)
        mean_complex = np.mean(complex_phases)
        r = np.abs(mean_complex)
        return float(r)
    else:
        # Pure Python fallback

        # Convert phases to complex exponentials
        complex_phases = [cmath.exp(1j * theta) for theta in phases]

        # Compute mean complex phasor
        mean_real = sum(z.real for z in complex_phases) / len(complex_phases)
        mean_imag = sum(z.imag for z in complex_phases) / len(complex_phases)
        mean_complex = complex(mean_real, mean_imag)

        # Kuramoto order parameter is magnitude of mean phasor
        r = abs(mean_complex)
        return float(r)


def compute_global_phase_coherence(G: TNFRGraph) -> float:
    """Compute global phase coherence across entire network.

    Measures network-wide phase synchronization using the Kuramoto order
    parameter applied to all nodes. This is the global analog of
    compute_phase_alignment and indicates overall phase alignment quality.

    Parameters
    ----------
    G : TNFRGraph
        Network graph with node phase attributes (θ)

    Returns
    -------
    float
        Global phase coherence in [0, 1] where:
        - 1.0 = Perfect network-wide phase synchrony
        - 0.0 = Complete phase disorder across network

    Notes
    -----
    **Mathematical Foundation:**

    Global Kuramoto order parameter:

    .. math::
        r_{global} = |\\frac{1}{N} \\sum_{j=1}^{N} e^{i\\theta_j}|

    where N is the total number of nodes in the network.

    **Use Cases:**

    - **IL Effectiveness**: Measure global impact of IL phase locking
    - **Network Health**: Monitor overall synchronization state
    - **Convergence Tracking**: Verify phase alignment over time
    - **Bifurcation Detection**: Low r_global may indicate impending split

    **Special Cases:**

    - Empty network: Returns 1.0 (no disorder by definition)
    - Single node: Returns 1.0 (trivially synchronized)
    - All phases = 0: Returns 1.0 (perfect alignment)

    **TNFR Context:**

    Global phase coherence is a key metric for network structural health.
    Repeated IL application should increase r_global as nodes synchronize
    their phases. Combined with C(t) (structural coherence), r_global provides
    a complete picture of network stability.

    See Also
    --------
    compute_phase_alignment : Local phase alignment for node neighborhoods
    metrics.coherence.compute_global_coherence : Global structural coherence C(t)
    observers.kuramoto_order : Alternative Kuramoto implementation

    Examples
    --------
    >>> import networkx as nx
    >>> from tnfr.metrics.phase_coherence import compute_global_phase_coherence
    >>> from tnfr.constants import THETA_PRIMARY
    >>> G = nx.Graph()
    >>> G.add_nodes_from([1, 2, 3, 4])
    >>> # Aligned network
    >>> for n in [1, 2, 3, 4]:
    ...     G.nodes[n][THETA_PRIMARY] = 0.5  # All same phase
    >>> r = compute_global_phase_coherence(G)
    >>> r == 1.0  # Perfect alignment
    True
    >>> # Disordered network
    >>> import numpy as np
    >>> for n in [1, 2, 3, 4]:
    ...     G.nodes[n][THETA_PRIMARY] = np.random.uniform(0, 2*np.pi)
    >>> r = compute_global_phase_coherence(G)
    >>> 0.0 <= r <= 1.0
    True
    """
    # Collect all node phases
    phases = []
    for n in G.nodes():
        try:
            theta = cast(float, get_attr(G.nodes[n], ALIAS_THETA, 0.0))
            phases.append(theta)
        except (KeyError, ValueError, TypeError):
            # Skip nodes with invalid phase data
            continue

    # Handle edge cases
    if not phases:
        return 1.0  # Empty network: trivially synchronized

    if len(phases) == 1:
        return 1.0  # Single node: perfect synchrony

    # Compute Kuramoto order parameter using circular statistics
    if np is not None:
        # NumPy vectorized computation
        phases_array = np.array(phases)
        complex_phases = np.exp(1j * phases_array)
        mean_complex = np.mean(complex_phases)
        r = np.abs(mean_complex)
        return float(r)
    else:
        # Pure Python fallback

        # Convert phases to complex exponentials
        complex_phases = [cmath.exp(1j * theta) for theta in phases]

        # Compute mean complex phasor
        mean_real = sum(z.real for z in complex_phases) / len(complex_phases)
        mean_imag = sum(z.imag for z in complex_phases) / len(complex_phases)
        mean_complex = complex(mean_real, mean_imag)

        # Kuramoto order parameter is magnitude of mean phasor
        r = abs(mean_complex)
        return float(r)