JRJoshua RandallSystems. Software. Possibility.

AI DEVELOPMENT / DEDICATED BUILD

Geometric AI

Learn from distances, directions, symmetries, manifolds, and transformations instead of treating every input coordinate as unrelated.

What it is

Learn from distances, directions, symmetries, manifolds, and transformations instead of treating every input coordinate as unrelated.

This page separates the concept, implementation path, interactive experiment, evaluation criteria, failure modes, and sources so the topic can be studied without relying on a summary tile.

Core concepts

Architecture / workflow

  1. Identify the transformations that should preserve or predictably change the target.
  2. Choose a representation that preserves the relevant geometry.
  3. Apply an invariant or equivariant operation, message-passing rule, kernel, or architecture.
  4. Train against the task objective while testing transformed and out-of-distribution inputs.
  5. Evaluate whether the model keeps the promised geometric behavior outside the training examples.

Technical foundations

Evaluation checklist

Failure modes and limits

Practical build path

  1. Start with nearest-neighbor distances and rotation tests on a small synthetic dataset.
  2. Add an invariant feature baseline and compare it with raw-coordinate learning.
  3. Implement an equivariant or message-passing model and measure transformation consistency.
  4. Profile accuracy, compute cost, generalization, and failure cases on unseen geometries.

Primary / authoritative references

Search the Learn library for related lessons →

AUTHORED STUDY COMPANION / 3.2

Check an equivariant coordinate update

Prerequisites. Distances, rotations, translations and graph message passing.

A distance-based message can remain unchanged when all coordinates rotate or translate together. The companion uses weights exp(−||xᵢ−xⱼ||²) and an update x′ᵢ=xᵢ+0.1Σⱼ(xᵢ−xⱼ)wᵢⱼ. Distances are invariant; displacement vectors rotate; summing weighted displacements therefore produces a coordinate update that rotates and translates with the input.

This is a deliberately small EGNN-style coordinate rule inspired by the paper's architecture, with fixed functions rather than learned networks. Three two-dimensional points are transformed by a rotation and translation, processed, and compared with transforming the original outputs. The residual should be near machine precision. Translation cancels in pairwise differences and reappears through the original coordinate xᵢ.

Equivariance alone does not make a model accurate, stable across many layers, or appropriate for every physical quantity. A task may require conservation laws, reflection-sensitive features or boundary conditions that this update does not encode. A symmetry test should specify the transformation group and the type of each output.

Check an equivariant coordinate update — model structure
ElementModelInterpretation
Scalar messageDistance squaredInvariant to rigid transformations
Coordinate differencexᵢ−xⱼRotates as a vector
Output testf(Qx+t)−Qf(x)−tNear-zero residual

Predict, run, compare

Use points (0,0), (1,0), (0,2), rotation 0.7 radians and translation (3,−2). Compare f(Qx+t) with Qf(x)+t; the residual should be below 10⁻¹².

Download executable notebooks and source Inspect source ↗

Open egnn.ipynb in the package. Run cells in order, compare with the reference, then change the stated input. Restart the kernel to reset.

Computed reference result — local CPU fixture
{
  "coordinates": [
    [
      -0.036787944117144235,
      -0.003663127777746836
    ],
    [
      1.0374617388170528,
      -0.0013475893998170934
    ],
    [
      -0.0006737946999085467,
      2.005010717177564
    ]
  ],
  "equivariance_residual": 3.188872858294072e-16,
  "invariant_distances": [
    [
      0.0,
      1.0,
      2.0
    ],
    [
      1.0,
      0.0,
      2.23606797749979
    ],
    [
      2.0,
      2.23606797749979,
      0.0
    ]
  ]
}

This is the recorded result of the included code under the package environment. It is not a live service or device measurement.

Extend the experiment

Replace the distance weight with the absolute x coordinate of a node. Repeat the translation test and locate the symmetry violation.

Check your reasoning: Which quantity stays unchanged by rotating the whole point set?
  1. Each x coordinate — Individual coordinates depend on the coordinate frame.
  2. Pairwise Euclidean distance — Correct. Rigid rotation preserves Euclidean length.
  3. Each displacement vector component — The vector rotates; its individual components generally change.

This is an explained self-check, not a certification of mastery.

Claim-specific sources

Reviewed 2026-10-02: this worked example and its explicit assumptions. Source links and notebook results do not establish production or hardware validation.

Explore the portfolio