Marketplace

symmetry-group-identifier

Use when you've identified candidate symmetries and need to map them to mathematical groups for architecture design. Invoke when user mentions cyclic groups, dihedral groups, Lie groups, SO(3), SE(3), permutation groups, or needs to formalize symmetries into group theory language. Provides taxonomy and mathematical foundations from Visual Group Theory principles.

$ Installer

git clone https://github.com/lyndonkl/claude /tmp/claude && cp -r /tmp/claude/skills/symmetry-group-identifier ~/.claude/skills/claude

// tip: Run this command in your terminal to install the skill


name: symmetry-group-identifier description: Use when you've identified candidate symmetries and need to map them to mathematical groups for architecture design. Invoke when user mentions cyclic groups, dihedral groups, Lie groups, SO(3), SE(3), permutation groups, or needs to formalize symmetries into group theory language. Provides taxonomy and mathematical foundations from Visual Group Theory principles.

Symmetry Group Identifier

What Is It?

This skill helps you map identified symmetries to mathematical groups. Once you know what transformations should leave your predictions unchanged, this skill formalizes them into the language of group theory.

Why groups matter: Neural network architectures are built around specific symmetry groups. Knowing your group tells you exactly which architecture patterns to use.

Workflow

Copy this checklist and track your progress:

Group Identification Progress:
- [ ] Step 1: List symmetries from discovery phase
- [ ] Step 2: Classify each as discrete or continuous
- [ ] Step 3: Match to specific groups using taxonomy
- [ ] Step 4: Determine how groups combine
- [ ] Step 5: Verify group properties
- [ ] Step 6: Document final group specification

Step 1: List symmetries from discovery phase

Gather the identified symmetries from the discovery phase. List each identified transformation and whether it requires invariance or equivariance. Note confidence levels. If symmetries haven't been discovered yet, work with user to identify them through domain analysis first.

Step 2: Classify each as discrete or continuous

For each symmetry, determine: Is the transformation set finite (discrete) or infinite (continuous)? Discrete examples: 90° rotations (4 elements), permutations of n items (n! elements). Continuous examples: rotation by any angle, translation by any distance. Use Group Taxonomy to guide classification. For mathematical foundations, see Group Theory Primer.

Step 3: Match to specific groups using taxonomy

Use the Discrete Groups and Continuous Groups reference sections. Identify the specific group name and notation for each symmetry. Common matches: n-fold rotation → Cₙ, rotation+reflection → Dₙ, permutation → Sₙ, 3D rotation → SO(3), rigid motion → SE(3), full Euclidean → E(3). For detailed Lie group information (SO(3), SE(3), E(3)), consult Lie Groups Reference.

Step 4: Determine how groups combine

If multiple symmetries are present, determine how they combine. Direct product (G × H): symmetries act independently. Semidirect product (G ⋊ H): one symmetry "twists" the other (e.g., SE(3) = SO(3) ⋊ ℝ³). Use Combining Groups reference.

Step 5: Verify group properties

Check that identified structure satisfies group axioms: closure, associativity, identity, inverses. Verify important properties: Is it compact? (affects representation theory). Is it abelian? (commutative or not). Is it connected? (affects implementation). Use Group Properties Checklist. For detailed verification methodology, see Methodology.

Step 6: Document final group specification

Create specification using Output Template. Include: group name/notation, dimension/size, key properties, invariance vs equivariance requirements, and recommended architecture family. This specification provides the foundation for architecture design. Quality criteria for this output are defined in Quality Rubric.

Group Taxonomy

Overview Diagram

                    SYMMETRY GROUPS
                          │
          ┌───────────────┴───────────────┐
          │                               │
     DISCRETE                        CONTINUOUS
          │                          (Lie Groups)
          │                               │
    ┌─────┼─────┐               ┌────────┼────────┐
    │     │     │               │        │        │
  Cyclic Dihedral Symmetric   SO(n)   SE(n)    E(n)
   Cₙ     Dₙ      Sₙ         rotations rigid   Euclidean
                              only    motions  (w/ reflect)

Quick Reference Table

Symmetry TypeGroupNotationElementsCommon Use
n-fold rotationCyclicCₙnImage rotation (90°, 60°)
Rotation + reflectionDihedralDₙ2nRegular polygons
PermutationSymmetricSₙn!Sets, graphs
2D rotation (continuous)Special orthogonalSO(2)Continuous rotation
3D rotationSpecial orthogonalSO(3)3D orientation
3D rigid motionSpecial EuclideanSE(3)Robotics, molecules
3D with reflectionsEuclideanE(3)Chemistry, physics

Discrete Groups

Cyclic Groups (Cₙ)

What they represent: Rotations by multiples of 360°/n

Elements: {e, r, r², ..., rⁿ⁻¹} where rⁿ = e (identity)

GroupRotationsExample
C₂0°, 180°Playing cards
C₄0°, 90°, 180°, 270°Square images
C₆60° incrementsHexagonal patterns

Use when: Rotation symmetry present but NOT reflection symmetry.

Dihedral Groups (Dₙ)

What they represent: Rotations + reflections of regular n-gon

Elements: n rotations + n reflections = 2n total

GroupElementsExample
D₄8Square with diagonals (p4m group)
D₆12Regular hexagon

Use when: Both rotation AND reflection symmetry present.

Symmetric Groups (Sₙ)

What they represent: All permutations of n elements

Elements: n! permutations

Use when: Element ordering is arbitrary (sets, graphs, point clouds).

Continuous Groups (Lie Groups)

SO(2) - 2D Rotations

Elements: Rotation by any angle θ ∈ [0, 2π)

Matrix form: R(θ) = [[cos θ, -sin θ], [sin θ, cos θ]]

Use when: Continuous rotation symmetry in 2D.

SO(3) - 3D Rotations

Elements: All rotations in 3D (3 degrees of freedom)

Representations: Rotation matrices, quaternions, Euler angles, axis-angle

Use when: 3D orientation doesn't matter, but handedness does.

SE(3) - 3D Rigid Motions

Elements: Rotations + Translations in 3D

Structure: SE(3) = SO(3) ⋊ ℝ³ (semidirect product)

Use when: Objects can be anywhere and in any orientation, handedness matters.

E(3) - Full Euclidean Group

Elements: SE(3) + Reflections

Structure: E(3) = O(3) ⋊ ℝ³

Use when: SE(3) symmetry PLUS reflection symmetry (most molecules).

Group Hierarchy

E(3) = O(3) ⋊ ℝ³
    │ exclude reflections
    ▼
SE(3) = SO(3) ⋊ ℝ³
    │ exclude translations
    ▼
SO(3)
    │ 2D restriction
    ▼
SO(2)

Combining Groups

Direct Product (G × H)

When to use: Symmetries act independently (neither affects the other).

Example: Image with separate translation and color permutation → SE(2) × S₃

Property: (g₁, h₁) · (g₂, h₂) = (g₁g₂, h₁h₂)

Semidirect Product (G ⋊ H)

When to use: One symmetry "twists" the other (don't commute).

Example: SE(3) = SO(3) ⋊ ℝ³ (rotating then translating ≠ translating then rotating)

Common cases: SE(n) = SO(n) ⋊ ℝⁿ, E(n) = O(n) ⋊ ℝⁿ, Dₙ = Cₙ ⋊ C₂

Group Properties Checklist

For your identified group, verify:

PropertyQuestionWhy It Matters
CompactIs the group "bounded"?Affects representation theory
AbelianDoes order matter? (g₁g₂ = g₂g₁?)Simplifies architecture
ConnectedIs group in one piece?Affects irreducible representations
FiniteFinite number of elements?Discrete vs continuous architecture

Group Selection by Domain

DomainTypical GroupNotes
2D Image ClassificationC₄ or D₄p4 or p4m groups
3D Molecular EnergyE(3) × SₙFull Euclidean + atom permutation
3D Molecular ChiralitySE(3) × SₙNo reflections
Point Cloud ClassificationSO(3) × SₙRotation + permutation
Graph ClassificationSₙPermutation invariant
RoboticsSE(3)Sometimes with gravity constraint

Output Template

SYMMETRY GROUP SPECIFICATION
============================

Identified Symmetries:
1. [Symmetry] → Group: [name] ([notation])
2. [Symmetry] → Group: [name] ([notation])

Combined Group Structure:
- Full group: [G₁ × G₂] or [G₁ ⋊ G₂]
- Size: [# elements] or [continuous]

Group Properties:
- Compact: [Yes/No]
- Abelian: [Yes/No]
- Connected: [Yes/No]

Symmetry Requirements:
- [Group]: [Invariant/Equivariant] for [task type]

Recommended Architecture Family:
- [Architecture] supporting [group]

NEXT STEPS:
- Empirically validate symmetry hypotheses if not yet confirmed
- Design equivariant architecture based on group specification