mercurial.branches.isomorphism module

Cross‑branch pattern mapping and isomorphism (Definition 2.7).

class mercurial.branches.isomorphism.IsomorphismMapper(similarity_threshold: float = 0.5)[source]

Bases: object

Finds and applies structure‑preserving mappings between branch patterns.

Methods

apply_mapping(source_pattern, mapping)

Apply linear mapping to source pattern.

compute_feature_matrix(pattern_state)

Extract features for matching: use PCA-reduced representation.

find_optimal_mapping(state_a, state_b)

Find linear mapping M that minimizes ||M·state_a - state_b||.

is_isomorphic(pattern_a, pattern_b)

Return True if patterns are structurally isomorphic.

structural_similarity(pattern_a, pattern_b)

Compute structural similarity (not just correlation) using feature matching.

apply_mapping(source_pattern: ndarray, mapping: ndarray) ndarray[source]

Apply linear mapping to source pattern.

compute_feature_matrix(pattern_state: ndarray) ndarray[source]

Extract features for matching: use PCA-reduced representation.

find_optimal_mapping(state_a: ndarray, state_b: ndarray) ndarray[source]

Find linear mapping M that minimizes ||M·state_a - state_b||. Returns M (matrix) and similarity score.

is_isomorphic(pattern_a: ndarray, pattern_b: ndarray) bool[source]

Return True if patterns are structurally isomorphic.

structural_similarity(pattern_a: ndarray, pattern_b: ndarray) float[source]

Compute structural similarity (not just correlation) using feature matching.