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:
objectParameters 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:
objectSimulates 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:
objectSimulates 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.