Repository navigation
Releases
clifra v2.0.3 release
clifra v2.0.2 release
Improved sparse product execution for uniform high-fan-in reductions, together with documentation and research-example refinements. No public API changes.
clifra v2.0.1
2.0.1
- refine DefaultPolicy using structural work models calibrated across CPU, MPS, and CUDA measurements
- improve product/action/exponential route selection
- retain device-independent planning behavior
- clean up legacy planning work accounting
- document structural policy design and calibration
- assorted executor performance fixes
No public API or mathematical semantics changes.
clifra v2.0.0 release
clifra 2.0.0
clifra 2.0.0 is a major architectural release centered on explicit tensor semantics,
deterministic planning, prepared execution, and a substantially smaller core.
This release is intentionally breaking. It replaces much of the v1 execution model
rather than preserving compatibility with internal or higher-level abstractions that
no longer fit clifra's direction.
Core architecture
-
Established a stable public API over a private
_kernelimplementation. -
Reorganized core execution around:
mathematical request → planning → route selection → prepared executor → tensor execution -
Separated planning from execution. Prepared executors perform fixed tensor
computations and do not re-plan during execution. -
Introduced explicit layouts and tensor contracts to distinguish mathematical
coefficient spaces from physical tensor storage. -
Added planned operations, algebra contexts, executor providers and registries,
and explicit resource limits. -
Replaced implicit or duplicated layout assumptions with declared compact and
canonical storage semantics. -
Made built-in route selection deterministic while retaining a small provider
boundary for custom execution implementations. -
Simplified planning facts and route assessment.
-
Redesigned bivector exponential planning and execution around explicit prepared
routes. -
Generalized Clifford actions and removed channel-specific execution machinery.
-
Added specialized execution paths for scalar, diagonal, vector, pairwise,
sandwich, and requested-grade workloads. -
Expanded broadcasting, autograd, and compilation coverage across the core.
Breaking changes and core trimming
- Removed the legacy public foundation, runtime, planning, and execution surfaces.
- Removed redundant planning, metric, energy, and contract layers.
- Removed the legacy
layers,loss, andcriterionpackages. - Removed channel-specific action abstractions in favor of general Clifford actions.
- Replaced the previous Riemannian optimizer abstraction with explicit optimizer
update building blocks. - Reorganized analysis into declared-algebra diagnostics and experimental probes.
- Migrated research code to the explicit v2 core contracts.
Code importing removed v1 internals or relying on the former model/layer-oriented
APIs will need to migrate to the v2 interfaces.
Geometry and resource controls
- Added strict variants of blade inverse, projection, rejection, reflection, and
versor-product operations. - Existing stabilized geometry operations remain available, while strict variants
reject mathematically singular denominators instead of regularizing them. - Added public immutable resource limits for coefficient lanes and pair counts.
- Planning now checks static executor requirements against those limits before
materialization.
Smaller implementation surface
Using cloc on the installable clifra/ package:
| Revision | Python files | Code lines |
|---|---|---|
| v1.4.0 | 80 | 13,400 |
| v2.0.0 | 53 | 5,743 |
The installable clifra package is roughly 57% smaller than v1.4.0 by Python
code lines.
Within it, clifra/core/ decreased from 9,302 to 4,655 code lines,
approximately a 50% reduction, while establishing clearer public/private,
planning/execution, and semantic/storage boundaries.
Transformation Fields research
v2 adds three documented differentiable systems under research/transformation_fields:
-
Continuous-Time PGA LiDAR Deskewing
Recovers continuous ego-motion with a PGA motor field from sparse geometric
constraints, then validates on held-out returns and a dense time grid. -
Relativistic Beamline Inverse Design
Optimizes a Lorentz-bivector control field through proper-time integration,
held-out particles, and timestep-refinement checks. -
Sparse-Constraint Continuum Threading
Learns a material-coordinate SE(3) field from sparse gate and tip constraints,
validates collision and rigidity behavior, checks numerical inversion, and
re-evaluates the restored field on a denser material discretization without
retraining.
The experiments include reproducible reports, validation metrics, diagnostic
figures, and accompanying research documentation.
Numerical compatibility
- Added a temporary workaround for an upstream PyTorch
torch.linalg.matrix_expissue affecting effective singleton matrix batches. - The workaround is narrowly applied to affected matrix-exponential execution
paths and leaves ordinary matrix batches unchanged. - Added focused regression coverage for values, gradients, broadcasting, MPS,
compilation, and route equivalence.
The workaround is intended to be removed once the corresponding upstream PyTorch
fix is available.
Benchmarking
The legacy v1 benchmark harness was removed rather than carried forward as an
incompatible v2 baseline.
A new benchmark methodology for the v2 execution architecture—including
release-regression tracking, executor comparisons, CPU/MPS/CUDA qualification,
DefaultPolicy validation, and separate cross-library comparisons—is deferred to
post-v2 work.
Historical v1 benchmark results should not be interpreted as v2 performance
baselines.
Accordingly, clifra 2.0.0 does not make new cross-library performance claims.
Documentation
- Restructured tutorials, how-to guides, explanations, API reference material,
and research navigation around the v2 architecture. - Updated examples and documentation to use explicit layouts, planning, and
prepared operations. - Added dedicated documentation for the Transformation Fields research systems.
Validation
Final validation: 592 tests passed, 2 skipped. Ruff, formatting, git diff --check,
package build/install smoke tests, research examples, and the documentation build
completed successfully.
clifra v1.4.0 release
clifra 1.4.0
- Expanded Transformation Fields with conformal charts, generator subspaces, forward and inverse rollouts, and configurable rollout substeps.
- Added the sparse-constraint continuum threading research example.
- Simplified core planning, execution, and analysis APIs while removing legacy low-level helpers.
- Changed the default algebra device from CUDA to CPU.
- Renamed
research/continuum_solvertoresearch/transformation_fields. - Refreshed documentation, geometric modeling tutorials, and benchmark artifacts.
All 876 tests passed, and all 15,882 benchmark rows completed without errors or skips. Observed performance differences remained within established rerun variability.
Full comparison: v1.3.1...v1.4.0
clifra v1.3.1 release
Release notes:
- Improved bivector exponential stability and gradients near spectral degeneracies.
- Added compact-layout support to loss and orthogonality utilities.
- Expanded property-based coverage for algebra, layers, optimizers, routes, and planner caches.
clifra v1.3.0 release
clifra 1.3.0
This release rebuilds static route planning around an injectable policy boundary. Policies select among operation-provided routes using immutable numeric facts, while resource limits remain independent allocation constraints.
Performance
Compared with the published 1.2.1 benchmark on the same machine and PyTorch configuration:
- aggregate planning time improved by 2.67%;
- median planning time improved by 3.36%;
- aggregate forward time improved by 2.37%;
- aggregate backward time improved by 4.10%;
- aggregate forward-plus-backward time improved by 3.79%;
Cl(35,0,0)bivector GP setup improved from 77.76 ms to 52.01 ms;- high-dimensional vector action planning no longer expands unused rotor layouts.
All 15,882 benchmark rows completed without errors or skips, with unchanged executor routes and finite outputs and gradients.
Compatibility
The legacy planning configuration has been removed:
PlanningLimitsis replaced byResourceLimits.planning_limitsis replaced byresource_limits.- Product and bivector-exp route choices now use
planning_policy. BivectorExpExecutionPolicyis replaced byBivectorExpOptions.
The minimum supported PyTorch version is now 2.4.0. setuptools is declared as a runtime dependency.
Full comparison: v1.2.1...v1.3.0
clifra v1.2.1 release
- fix blade projection and preserve gradients through identity actions
- strengthen geometric optimizer tangent projection and exponential retraction
- move analysis utilities to
clifra.analysisand expand the differentiable transformation field showcase
clifra v1.2.0 release
- docs: restructure the docs with 3 sections ( tutorials, explanations, reference ) by @Concode0 in #22
- remove legacy aliases and clarify Clifford product naming
Full Changelog: v1.1.1...v1.2.0