mercurial.branches.formation module

Branch formation via symmetry breaking and bifurcation (MERCURIAL B).

class mercurial.branches.formation.BifurcationPoint(time: float, critical_state: StateVector, symmetry_parameter: float, new_branch_seed: StateVector)[source]

Bases: object

Parameters at which a branch splits.

critical_state: StateVector
new_branch_seed: StateVector
symmetry_parameter: float
time: float
class mercurial.branches.formation.BranchFormationSimulator(space: HilbertSpace)[source]

Bases: object

Simulates the emergence of a multiverse from a single initial branch.

Methods

create_initial_branch([label])

Create the primordial branch.

simulate_branching(parameter_evolution[, ...])

Simulate branching over time.

create_initial_branch(label: str = 'Initial') RealityBranch[source]

Create the primordial branch.

simulate_branching(parameter_evolution: List[Tuple[float, float]], max_branches: int = 10) List[RealityBranch][source]

Simulate branching over time. Returns list of all branches formed.

class mercurial.branches.formation.SymmetryBreaking(space: HilbertSpace, critical_parameter: float = 1.0, bifurcation_strength: float = 0.1)[source]

Bases: object

Simulates branch formation via spontaneous symmetry breaking.

Key concept: When a control parameter crosses a critical threshold, the symmetric state becomes unstable, and two (or more) new stable branches emerge.

Methods

compute_order_parameter(state)

Order parameter that breaks symmetry (e.g., magnetization, phase difference).

evolve_to_bifurcation(initial_state, ...[, dt])

Simulate the evolution of a branch as a control parameter changes.

generate_new_branch_states(parent_state[, ...])

Generate n_branches new branch states from the parent state.

is_instability_condition(state, parameter)

Check if system is at a bifurcation point.

compute_order_parameter(state: StateVector) float[source]

Order parameter that breaks symmetry (e.g., magnetization, phase difference). Simplified: variance of components.

evolve_to_bifurcation(initial_state: StateVector, parameter_evolution: List[Tuple[float, float]], dt: float = 0.01) List[BifurcationPoint][source]

Simulate the evolution of a branch as a control parameter changes. parameter_evolution: list of (time, parameter_value) Returns list of bifurcation points.

generate_new_branch_states(parent_state: StateVector, n_branches: int = 2) List[StateVector][source]

Generate n_branches new branch states from the parent state. Uses random orthogonal perturbations.

is_instability_condition(state: StateVector, parameter: float) bool[source]

Check if system is at a bifurcation point.