reduce-relie-lie-symmetries

hinsley's avatarfrom hinsley

Use when working with ReLie in REDUCE (including inside Docker) to compute Lie group symmetries of differential equations, handle conditional/contact/variational/approximate symmetries or equivalence transformations, or interpret ReLie outputs and Lie algebra utilities.

⭐1stars🔀0forks📁View on GitHub🕐Updated Jan 8, 2026

When & Why to Use This Skill

This Claude skill facilitates advanced symbolic computation of Lie group symmetries for differential equations using ReLie within the REDUCE computer algebra system. It automates complex mathematical workflows—including point, conditional, contact, and variational symmetries—while providing natural language interpretations of algebraic outputs and managing Docker-based execution environments for reproducible research.

Use Cases

  • Case 1: Performing similarity reduction of partial differential equations (PDEs) to ordinary differential equations (ODEs) by identifying Lie group symmetries.
  • Case 2: Deriving conservation laws for physical systems through Noether's theorem and variational symmetry analysis.
  • Case 3: Classifying families of differential equations and identifying equivalence transformations in mathematical physics.
  • Case 4: Automating the setup and debugging of symbolic computation pipelines within Docker or Colima containers to ensure environment consistency.
  • Case 5: Interpreting complex Lie algebra utilities and arbitrary functions in symmetry solution-sets to understand gauge freedoms or infinite-dimensional symmetries.
namereduce-relie-lie-symmetries
descriptionUse when working with ReLie in REDUCE (including inside Docker) to compute Lie group symmetries of differential equations, handle conditional/contact/variational/approximate symmetries or equivalence transformations, or interpret ReLie outputs and Lie algebra utilities.

ReLie symmetry workflows in REDUCE

Quick start (point symmetries)

  • Load ReLie: in "resources/relie-src/relie.red"$ (or load_package relie$ if precompiled).
  • Set the minimal globals: jetorder, xvar, uvar, diffeqs, leadders.
  • Run the standard pipeline: relie(4)$.
  • Extract generators: reliegen(1,{})$, then inspect symmetries, generators, splitsymmetries.

Docker readiness (when running in containers)

  • Confirm the CLI and daemon: docker --version then docker info.
  • If the daemon is down, start Docker Desktop (macOS: open -a Docker) and wait for docker info to succeed.
  • If you use Colima instead of Docker Desktop, start it with colima start and re-check docker info.
  • If you see permission denied ... docker.sock, rerun with elevated permissions or fix socket access (Codex sandboxing may require escalation).

Keep these invariants in mind

  • Treat ReLie state as global; always (re)declare variables before relieinit().
  • diffeqs and leadders must have the same length and be solvable for the chosen leading derivatives.
  • Mixed-derivative names must follow the xvar order.

Always explain results in natural language

After any computation, translate the output into plain language:

  • State what was computed (e.g., point/conditional/contact/variational/approximate/equivalence symmetries) and the PDE or system.
  • Report how many solution-sets are in symmetries and how many generators you extracted.
  • Interpret each generator as a transformation (translations, scalings, Galilean boosts, shifts in u, etc.).
  • If arbitrary functions appear in symmetries, explain that this indicates an infinite-dimensional symmetry (often due to linearity or gauge freedom).
  • Note any unsolved conditions or non-vanishing constraints and what they mean for validity.
  • Say what the symmetries are useful for: similarity reduction to ODEs, invariant solutions, conservation laws (Noether), and classification of PDE families.

Use resources/relie_result_interpretation.md for a compact template and common patterns.

Use the reference guide for details

  • For conditional/contact/variational/approximate/equivalence workflows, Lie algebra utilities, and troubleshooting, open resources/ReLie_whitepaper_synopsis.md.
  • For the Docker run command and minimal bootstrap, use the reduce-relie-basics skill.

Debugging pattern

  • If reliesolve() fails, run staged calls (relieinit, relieinv, reliedet, reliesolve) and inspect invcond and deteqs.
  • Enable CRACK verbosity with onprintcrack() when you need step-by-step solving.