XAct.jl

Project Profile for AI Agents (LLM TL;DR)
  • Name: XAct.jl (Repository: XAct.jl)
  • Primary language: Julia
  • Purpose: Symbolic tensor algebra and curvature calculus for general relativity
  • Python package: xact-py (import as xact)
  • Verification: Oracle-based parity tests via sxact
  • License: GNU General Public License v3.0 (GPL-3.0)

XAct.jl is the native Julia port of the Wolfram xAct suite. Start here if you want the project overview, the newcomer path, and the map of names used across the repository, Julia package, Python package, and verification tooling.

Start with the canonical newcomer path

Choose one path and follow it in order:

  1. Installation — set up Julia, Python, or the verification stack
  2. Getting Started — run the first working Julia or Python examples
  3. Typed Expressions (TExpr) — learn the recommended expression API
  4. Basics tutorial or notebooks — continue with guided practice

Use the page that matches your goal

GoalGo to
Install the projectInstallation
Run the first working examplesGetting Started
Learn the typed expression APITyped Expressions (TExpr)
Work through a guided Julia tutorialBasics tutorial
Migrate existing Wolfram workflowsWolfram Migration Guide
Look up Wolfram-to-Julia mappingsWolfram Translation Reference
Understand the package and module namesNaming and product map
Inspect API detailsReference

Understand the project naming

NameKindMeaning
XAct.jlRepositoryThe Git repository you clone and browse
XAct.jl / XActJulia package and moduleThe native Julia tensor algebra engine
xact-pyPython packageThe distribution published to PyPI
xactPython importThe Python API imported in user code
sxactVerification frameworkThe Python tooling for oracle-based parity tests

Know what the project contains

The project has two user-facing layers:

  • XAct.jl — the Julia computational engine for canonicalization, contraction, covariant derivatives, perturbation theory, coordinate components, and invariants.
  • xact-py / xact — the Python wrapper around the Julia core.

It also has one project-facing support layer:

  • sxact — the verification framework used to compare results against Wolfram Engine snapshots.

Try the Julia fast track

If you already have Julia installed, this is the shortest successful session:

using XAct

reset_state!()
def_manifold!(:M, 4, [:a, :b, :c, :d])
def_tensor!(:T, ["-a", "-b"], :M; symmetry_str="Symmetric[{-a,-b}]")

@indices M a b c d
T_h = tensor(:T)

ToCanonical(T_h[-b,-a] - T_h[-a,-b])

The typed API validates index usage before evaluation. For the full typed-expression model, continue to Typed Expressions (TExpr).

Continue based on where you are coming from

Troubleshooting the first page mismatch

SituationBest page
“I need commands, not overview.”Installation or Getting Started
“I need Wolfram mappings, not onboarding.”Wolfram Translation Reference
“I need the typed API details.”Typed Expressions (TExpr)
“I need package naming clarified.”Naming and product map

Project note

Most of the codebase was developed with AI assistance and then checked by humans and by oracle-backed verification. The mathematical trust story depends on both implementation review and parity testing.