Upstream tests/o3 compatibility matrix¶
Reference snapshot¶
This port is audited against e3nn/e3nn commit
2aa7f58440a06b15352a2cbce01fa4c26f824969,
dated 2026-02-13. That snapshot contains 84 test_* function definitions in 13 test files, plus the
non-test benchmark experimental/benchmark_pt2.py.
The tests are semantic MLX ports, not textual Torch translations:
numerical inputs carrying representations use
IrrepsArray;TorchScript and
torch.compileassertions usemlx.core.compileand the modules’ compiled paths;Torch autograd assertions use MLX
grad;.state_dict()and Torch pickle assertions use MLX parameter trees,.npzweight round trips, and deepcopy;Torch dtype/device migration has no direct MLX equivalent; dtype preservation is tested at operator boundaries;
experimental Torch v2 kernels are covered by production-wrapper comparisons against explicit tensor products and independent numerical references.
Requirement mapping¶
Upstream file |
Upstream tests covered |
MLX evidence |
|---|---|---|
|
|
|
|
unusual degree/irrep calls, invalid parity, zeros, equivariance, autodiff, normalization through |
|
|
construction, properties, arithmetic, empties, indexing, concatenation, membership, invalid inputs, expected-failure case, multiplicity slicing |
|
|
equivariance/compile/normalization, per-output biases, disconnected outputs, exact TensorProduct equivalence, masks, explicit/default/empty instructions, shared and unshared views, feature channels |
|
|
empty/random irreps, squared/unsquared equivariance and compile, finite zero gradient, vector values |
|
|
reconstruction/state, rank-2 antisymmetry, Levi-Civita, rank-3 |
|
|
coordinate conversion, all representation conversion cycles, composition, inverse, Haar axis-angle isotropy, fixed-axis matrices |
|
|
all 111 valid grid-projection combinations, all 111 coefficient round trips, eight nonlinear equivariance configurations |
|
|
fully connected and split normalization, Identity, full product, Norm, TensorSquare component/norm/none behavior and elasticity irreps |
|
|
all connection modes, bilinearity, |
|
|
all permutation symmetries, rotation invariance, Cartesian |
|
|
production elementwise wrapper agrees with explicit/independent paths for both split patterns and compiles |
|
|
production full wrapper agrees with explicit/independent paths for all four input combinations and compiles |
|
Release gate¶
Completion requires both of the following from the repository root:
.venv/bin/python -m pytest -q
.venv/bin/python -m pytest -q -m 'not mlx'
On Apple Silicon, the first command must execute every mlx test without skips. The second command verifies that the
backend-neutral core and lazy-import policy remain valid without a working Metal runtime.