symmetry-group-identifier について
symmetry-group-identifierは、変換を対称群として形式化する研究者やエンジニア向けのスキルです。離散・連続対称性を分類し、群構造を確認して、アーキテクチャ設計用の仕様を記録します。
主な機能
- 01離散対称性と連続対称性の分類
- 02変換と群の記法の対応付け
- 03群の組み合わせ方の判定
- 04群の性質の確認
- 05群仕様の記録
活用シーン
- 01画像データの回転の形式化
- 02分子データにおける対称群の特定
- 03複合変換の記述
- 04モデル設計に向けた群要件の整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill symmetry-group-identifierインストール後、Claude Code で/symmetry-group-identifierを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
resources/group-theory-primer.mdlie-groups.mdmethodology.mdresources/evaluators/rubric_group_identification.json詳細
対称群識別
対称群が分かれば、どの等変アーキテクチャパターンを使用すべきかが分かります。このスキルでは、識別された変換を群論の言葉で定式化します。
ワークフロー
このチェックリストをコピーして、進捗を記録してください。
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
ステップ 1:発見フェーズで見つかった対称性を列挙する
発見フェーズで見つかった対称性を集めます。識別された変換をそれぞれ列挙し、不変性と等変性のどちらが必要かを記します。確信度も記録します。まだ対称性が見つかっていない場合は、まずユーザーと協力して、領域分析を通じて特定します。
ステップ 2:それぞれを離散または連続に分類する
対称性ごとに、変換の集合が有限(離散)か無限(連続)かを判断します。離散の例:90°回転(要素数 4)、n 個の項目の置換(要素数 n!)。連続の例:任意の角度の回転、任意の距離の平行移動。分類の指針として、群の分類を参照してください。数学的基礎については、群論入門を参照してください。
ステップ 3:分類に基づいて具体的な群を特定する
離散群と連続群(リー群)のリファレンスセクションを使用します。対称性ごとに、具体的な群の名称と記法を特定します。よくある対応例:n 回回転 → Cₙ、回転+反射 → Dₙ、置換 → Sₙ、3D 回転 → SO(3)、剛体運動 → SE(3)、全ユークリッド群 → E(3)。リー群(SO(3)、SE(3)、E(3))の詳細については、リー群リファレンスを参照してください。
ステップ 4:群の結合方法を決定する
複数の対称性が存在する場合、それらの結合方法を決定します。直積(G × H):対称性が独立して作用します。半直積(G ⋊ H):一方の対称性がもう一方を「ねじります」(例:SE(3) = SO(3) ⋊ ℝ³)。群の結合のリファレンスを使用してください。
ステップ 5:群の性質を検証する
特定した構造が群の公理(閉包性、結合性、単位元、逆元)を満たしているか確認します。重要な性質も検証します。コンパクトですか?(表現論に影響します。)アーベル群ですか?(可換かどうか。)連結ですか?(実装に影響します。)群の性質チェックリストを使用してください。詳細な検証方法については、方法論を参照してください。
ステップ 6:最終的な群の仕様を文書化する
出力テンプレートを使用して仕様を作成します。群の名称/記法、次元/要素数、主要な性質、不変性と等変性の要件、推奨するアーキテクチャファミリーを含めます。この仕様がアーキテクチャ設計の基礎となります。この出力の品質基準は、品質評価基準で定義されています。
群の分類
概要図
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)
クイックリファレンステーブル
| 対称性の種類 | 群 | 記法 | 要素数 | 一般的な用途 |
|---|---|---|---|---|
| n 回回転 | 巡回群 | Cₙ | n | 画像の回転(90°、60°) |
| 回転+反射 | 二面体群 | Dₙ | 2n | 正多角形 |
| 置換 | 対称群 | Sₙ | n! | 集合、グラフ |
| 2D 回転(連続) | 特殊直交群 | SO(2) | ∞ | 連続回転 |
| 3D 回転 | 特殊直交群 | SO(3) | ∞ | 3D の向き |
| 3D 剛体運動 | 特殊ユークリッド群 | SE(3) | ∞ | ロボティクス、分子 |
| 反射を含む 3D 変換 | ユークリッド群 | E(3) | ∞ | 化学、物理学 |
離散群
巡回群(Cₙ)
表すもの:360°/n の整数倍の回転
要素:{e, r, r², ..., rⁿ⁻¹}(rⁿ = e、e は単位元)
| 群 | 回転 | 例 |
|---|---|---|
| C₂ | 0°、180° | トランプ |
| C₄ | 0°、90°、180°、270° | 正方形の画像 |
| C₆ | 60°刻み | 六角形パターン |
使用する場合:回転対称性はあるが、反射対称性はない場合。
二面体群(Dₙ)
表すもの:正 n 角形の回転と反射
要素:n 個の回転 + n 個の反射 = 合計 2n 個
| 群 | 要素数 | 例 |
|---|---|---|
| D₄ | 8 | 対角線を含む正方形(p4m 群) |
| D₆ | 12 | 正六角形 |
使用する場合:回転対称性と反射対称性の両方がある場合。
対称群(Sₙ)
表すもの:n 個の要素すべての順列
要素:n! 個の順列
使用する場合:要素の順序が任意の場合(集合、グラフ、点群)。
連続群(リー群)
SO(2) - 2D 回転
要素:θ ∈ [0, 2π) の任意の角度による回転
行列形式:R(θ) = [[cos θ, -sin θ], [sin θ, cos θ]]
使用する場合:2D における連続回転対称性。
SO(3) - 3D 回転
要素:3D におけるすべての回転(自由度 3)
表現:回転行列、クォータニオン、オイラー角、軸角表現
使用する場合:3D の向きは問わないが、利き手性は考慮する場合。
SE(3) - 3D 剛体運動
要素:3D における回転 + 平行移動
構造:SE(3) = SO(3) ⋊ ℝ³(半直積)
使用する場合:物体が任意の位置と向きにあり得て、利き手性を考慮する場合。
E(3) - 完全ユークリッド群
要素:SE(3) + 反射
構造:E(3) = O(3) ⋊ ℝ³
使用する場合:SE(3) 対称性に加えて反射対称性もある場合(ほとんどの分子)。
群の階層
E(3) = O(3) ⋊ ℝ³
│ exclude reflections
▼
SE(3) = SO(3) ⋊ ℝ³
│ exclude translations
▼
SO(3)
│ 2D restriction
▼
SO(2)
群の組み合わせ
直積(G × H)
使用する場合:対称性が互いに独立して作用する場合(片方がもう片方に影響しません)。
例:平行移動と色の置換が別々に作用する画像 → SE(2) × S₃
性質:(g₁, h₁) · (g₂, h₂) = (g₁g₂, h₁h₂)
半直積(G ⋊ H)
使用する場合:一方の対称性がもう一方に「ねじれ」を加える場合(可換ではありません)。
例:SE(3) = SO(3) ⋊ ℝ³(回転してから平行移動することと、平行移動してから回転することは異なります)
一般的なケース:SE(n) = SO(n) ⋊ ℝⁿ、E(n) = O(n) ⋊ ℝⁿ、Dₙ = Cₙ ⋊ C₂
群の性質チェックリスト
特定した群について、以下を確認してください。
| 性質 | 確認事項 | 重要な理由 |
|---|---|---|
| コンパクト | 群は「有界」ですか? | 表現論に影響します |
| アーベル | 演算の順序は重要ですか?(g₁g₂ = g₂g₁?) | アーキテクチャを簡素化します |
| 連結 | 群はひとまとまりですか? | 既約表現に影響します |
| 有限 | 要素数は有限ですか? | 離散型か連続型かのアーキテクチャに関わります |
分野ごとの群の選択
| 分野 | 代表的な群 | 備考 |
|---|---|---|
| 2D 画像分類 | C₄ または D₄ | p4 または p4m 群 |
| 3D 分子エネルギー | E(3) × Sₙ | 完全ユークリッド群 + 原子の置換 |
| 3D 分子キラリティ | SE(3) × Sₙ | 反射なし |
| 点群分類 | SO(3) × Sₙ | 回転 + 置換 |
| グラフ分類 | Sₙ | 置換不変 |
| ロボティクス | SE(3) | 重力制約を加える場合もあります |
出力テンプレート
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