mercurial.spectral.binding module

Cross‑modal binding via phase synchronization tags.

class mercurial.spectral.binding.BindingTag(phase: float, frequency: float, modalities: List[ModalityField])[source]

Bases: object

Synchronization tag linking modalities.

frequency: float
modalities: List[ModalityField]
phase: float
class mercurial.spectral.binding.CrossModalBinding(phase_coherence: float = 0.5, freq_coherence: float = 10.0)[source]

Bases: object

Implements phase‑locking between modalities to create unified percepts.

The binding strength between modalities i and j is: B_ij = exp(-|φ_i - φ_j| / φ_coh) * exp(-|ω_i - ω_j| / ω_coh)

Methods

add_tag(modality, phase, frequency, ...)

Add a binding tag for a modality.

apply_coupling(unified_field, dt)

Couple field amplitudes according to binding strengths.

binding_strength(mod_i, mod_j)

Compute B_ij.

create_percept(unified_field)

Create a unified percept by applying binding to field strengths.

__init__(phase_coherence: float = 0.5, freq_coherence: float = 10.0)[source]
Parameters:
phase_coherencefloat

φ_coh – characteristic phase difference for binding.

freq_coherencefloat

ω_coh – characteristic frequency difference for binding (Hz).

add_tag(modality: ModalityField, phase: float, frequency: float, linked_modalities: List[ModalityField])[source]

Add a binding tag for a modality.

apply_coupling(unified_field: UnifiedField, dt: float)[source]

Couple field amplitudes according to binding strengths. dA_i/dt += Σ_j B_ij (A_j - A_i)

binding_strength(mod_i: ModalityField, mod_j: ModalityField) float[source]

Compute B_ij.

create_percept(unified_field: UnifiedField) Dict[ModalityField, float][source]

Create a unified percept by applying binding to field strengths. Returns a dictionary of bound field strengths (the percept).