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:
objectFinds 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.