Concode0/clifra
Concode0/clifra has 62 GitHub stars and 3 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 05:22 UTC. Last push 2026-10-15.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
clifra is a differentiable Clifford algebra computation layer for PyTorch.
Machine LearningREADME.md
Originalclifra
clifra is a differentiable Clifford algebra computation layer for PyTorch. Signatures and grade layouts describe ordinary coefficient tensors; operations can be planned once and reused.
uv add clifra
import torch
from clifra import make_algebra
algebra = make_algebra(3, 0)
vectors = algebra.layout((1,))
product = algebra.plan_product(
left=vectors,
right=vectors,
output=algebra.layout((0, 2)),
)
left = torch.randn(8, vectors.dim, requires_grad=True)
right = torch.randn(vectors.dim)
out = product(left, right) # [8, 4]: scalar, e12, e13, e23
out.square().mean().backward()
The inputs store three vector coefficients each. The product broadcasts over the leading dimension and returns four scalar-and-bivector coefficients.
A signature defines basis products. A layout selects coefficient lanes, and a tensor contract declares compact or canonical storage. Planned operations fix these declarations while coefficient values and leading tensor dimensions remain ordinary PyTorch inputs.
Tutorials · How-to guides · Explanations · Research · Model benchmarks · API reference
Development
uv sync --group dev
uv run --group dev ruff check .
uv run --group dev pytest tests/ -n12 -q --tb=short
uv run --group docs mkdocs build
Please open an issue before proposing a substantial change. Contact: [email protected].
Citation
@software{kim2026clifra,
author = {Kim, Eunkyum},
title = {clifra: Layout-first Clifford algebra tools for PyTorch},
url = {https://github.com/Concode0/clifra},
version = {2.0.3},
year = {2026},
doi = {10.5281/zenodo.18939518},
license = {Apache-2.0}
}