本文へ移動
cccskills
無料GitHub で公開

bivector-forum

Community knowledge from bivector.net - GA tutorials, discussions, and best practices

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.9 KB
  • CONCOMITANT_SKILLS.md1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

bivector-forum

Curated knowledge from the Geometric Algebra community

Version: 1.0.0
Trit: 0 (ERGODIC - knowledge transport)

Overview

bivector.net is the primary community hub for Geometric Algebra practitioners. This skill distills key insights, common pitfalls, and best practices.

Community Resources

ResourceURLDescription
Forumbivector.netDiscourse-based Q&A
Discorddiscord.gg/bivectorReal-time chat
Wikibivector.net/wikiCollaborative docs
GAlculatorenkimute.github.io/ganja.js/examples/galculator.htmlOnline calculator

Key Contributors

  • Steven De Keninck (@enkimute) - ganja.js author
  • Leo Dorst - "Geometric Algebra for Computer Science"
  • Charles Gunn - PGA for graphics
  • Eric Lengyel - Game engine applications

Common Patterns

1. Choosing the Right Algebra

Use CaseAlgebraSignature
2D graphicsPGA2DCl(2,0,1)
3D graphicsPGA3DCl(3,0,1)
Circles/spheresCGACl(n+1,1)
Rotations onlyQuaternionsCl(0,2)
Rigid bodyDual QuaternionsCl(0,2,1)
RelativitySpacetimeCl(1,3)

2. Dual vs Homogeneous

PGA (Projective): Points are bivectors, planes are vectors

  • Pro: Unified treatment of points at infinity
  • Con: Counterintuitive grading

CGA (Conformal): Points are null vectors

  • Pro: Circles/spheres as blades
  • Con: Higher dimensional, slower

3. Sign Conventions

Different sources use different conventions:

Conventione₀²Point Encoding
"Mathematics"0e₁₂₃ + xe₀₂₃ + ye₀₁₃ + ze₀₁₂
"Engineering"0e₁₂₃ - xe₀₂₃ + ye₀₁₃ - ze₀₁₂
ganja.js01e123 - x1e023 + y1e013 - z*1e012

4. Normalization

Always normalize motors/rotors after composition:

// WRONG: Drift over time
for (let i = 0; i < 1000; i++) {
  motor = motor.Mul(smallRotor);  // Accumulates error
}

// RIGHT: Normalize periodically
for (let i = 0; i < 1000; i++) {
  motor = motor.Mul(smallRotor);
  if (i % 100 === 0) motor = motor.Normalized;
}

5. Avoiding Common Pitfalls

Pitfall: Wrong Product

// WRONG: Using geometric product for join
var line = pointA * pointB;  // Gives rotor, not line!

// RIGHT: Use regressive product
var line = pointA & pointB;  // Vee = join

Pitfall: Forgetting Reverse

// WRONG: Missing reverse in sandwich
var transformed = motor * point;  // Only half the sandwich!

// RIGHT: Full sandwich
var transformed = motor * point * ~motor;
// Or use >>> operator
var transformed = motor >>> point;

Pitfall: Grade Extraction

// WRONG: Assuming grade by position
var scalar = result[0];  // May not be scalar!

// RIGHT: Use grade projection
var scalar = result.Grade(0);
var bivector = result.Grade(2);

Frequently Asked Questions

Q: PGA or CGA?

A: Start with PGA. It's simpler, faster, and covers most needs. Use CGA only when you need circles/spheres as first-class objects.

Q: Why are my transformations wrong?

A: Check:

  1. Motor normalization
  2. Sandwich product (both sides)
  3. Transformation order (right-to-left)
  4. Sign conventions

Q: How to debug multivector issues?

A:

  1. Use console.log(mv.toString()) in ganja.js
  2. Check grade with mv.Grade(k).Length
  3. Verify normalization with mv.Mul(mv.Reverse).s

Q: Performance tips?

A:

  1. Cache computed motors
  2. Use specialized rotors/translators
  3. Avoid repeated normalization
  4. Pre-compute inverse when possible

GAlculator Tips

The online GAlculator is great for:

  • Quick experiments
  • Verifying formulas
  • Learning GA intuitively
// Example session
> 1e1 * 1e2
= 1e12

> (1e1 + 1e2).Normalized
= 0.707e1 + 0.707e2

> (1 + 0.5e12).Exp()
= 0.878 + 0.479e12

Integration with Skills Ecosystem

From bivector.net → Skills

Forum TopicRelated Skill
"PGA for beginners"ganja-wedge-game
"Motor interpolation"pga-motor-interpolation
"CGA circles"conformal-ga
"Visualization tips"ga-visualization
"Code generation"ga-codegen

GF(3) Conservation

Community discussions often naturally balance:

  • Questions (-1): Seeking understanding
  • Answers (0): Sharing knowledge
  • Examples (+1): Generating new applications

Discord Bot Commands

!algebra PGA3D     - Show algebra info
!product a b       - Compute geometric product
!explain wedge     - Explain wedge product
!example rotation  - Show rotation example

GF(3) Triads

bivector-forum (0) ⊗ ganja-wedge-game (+1) ⊗ conformal-ga (-1) = 0 ✓
bivector-forum (0) ⊗ ga-codegen (+1) ⊗ sheaf-cohomology (-1) = 0 ✓

Commands

# Open forum
open https://bivector.net/

# Open Discord
open https://discord.gg/vGY6pPk

# Open GAlculator
open https://enkimute.github.io/ganja.js/examples/galculator.html

References


Autopoietic Marginalia

The interaction IS the skill improving itself.

Every use of this skill is an opportunity for worlding:

  • MEMORY (-1): Record what was learned
  • REMEMBERING (0): Connect patterns to other skills
  • WORLDING (+1): Evolve the skill based on use

Add Interaction Exemplars here as the skill is used.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Model ElevenLabs voice synthesis as an ACSet schema with Unison ability handlers for typed voice operations. Use when integrating ElevenLabs TTS into category-theoretic pipelines, building typed voice synthesis workflows, or managing multi-voice narration with GF(3) conservation.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

Systematic process for analyzing and modernizing legacy applications to comply with the 12-Factor App methodology. Covers code analysis, configuration externalization, dependency management, and container/Kubernetes best practices.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

13c0e3

無料

Gay MCP skill at invocation 26

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

19d57d

無料

Gay MCP skill at invocation 5

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1ea91a

無料

Gay MCP skill at invocation 27

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1eab21

無料

Gay MCP skill at invocation 3

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

plurigrid のスキルをすべて見る

このスキルの問題を報告する