Skip to content

Releases: yitan1/Tensor0

Tensor0 0.3.0

Choose a tag to compare

@yitan1 yitan1 released this 14 Oct 01:49

Tensor0 0.3.0

Tensor0 0.3.0 upgrades the pinned JAX runtime and fixes homogeneous tensor pytree batches.

Changes

  • Fix homogeneous TensorMap, DiagonalTensorMap, and SectorVector batches returned by jax.vmap, including nested batching and whole-batch scalar-loss gradients (issue #1).
  • Require Python 3.12+ and exact JAX/JAXLIB 0.11.2, with matching native FFI headers and runtime identity checks.
  • Provide ordinary CPython 3.12, 3.13, 3.14, and 3.15 wheels for Linux x86_64 (glibc 2.28+) and macOS 15+ ARM64. Free-threaded Python remains unsupported.
  • Upgrade source-build bindings to PyO3/Rust numpy 0.29; require maturin >=1.15,<2.
  • Retain the optional, exactly version-paired tensor0-cuda12 0.3.0 companion and the existing bounded experimental CUDA12 scope.

Migration

Python 3.11 users must remain on Tensor0 0.2.0 with JAX/JAXLIB 0.10.1, or create a Python 3.12+ environment. Do not independently upgrade JAX underneath an old Tensor0 native extension. Install matching core/addon versions; source users must rebuild native binaries against the new headers.

python -m pip install tensor0==0.3.0
# Experimental Linux CUDA12 installation:
python -m pip install 'tensor0[cuda12]==0.3.0'

Validation and scope

Candidate source: 974153a7ba26d11d5f6f51d3f8d5d01abecc0f30.

CPU full suites run on Python 3.12/3.15 on both platforms; 3.13/3.14 wheels pass installed smoke/examples and bounded native JIT/AD contracts. CUDA publication additionally requires exact-pair A100 acceptance; the original report/log archive is attached as cuda-acceptance.tar.gz. CUDA support remains experimental and limited to the documented operation/dtype/AD subset, not general TensorMap GPU coverage, full reverse AD, multi-GPU, or a speed guarantee.

A bounded single-core desktop comparison found approximately 6–7% higher steady-state latency in two small complex128 contraction cases, with faster compilation; several allocation-sensitive timings were inconclusive. This release does not claim a performance improvement.

All eleven distributions are the original accepted artifacts: eight core wheels, one core sdist, one repaired addon wheel, and one addon sdist. No rebuild or retagging occurs during publication.

Tensor0 0.2.0

Choose a tag to compare

@yitan1 yitan1 released this 12 Oct 15:33

Tensor0 0.2.0

  • CPU wheels for CPython 3.11–3.14 on Linux x86_64 (glibc 2.28+) and macOS 15+ ARM64.
  • Experimental CUDA 12 companion for Linux x86_64, tested on NVIDIA A100 (sm_80). The companion uses an external NVIDIA CUDA runtime (>=12.9.79,<13); it does not bundle a driver or CUDA runtime.
  • JAX/JAXLIB 0.10.1 integration. CUDA coverage is limited to the supported operation and transformation paths, not unrestricted automatic differentiation.

The release uses the original nine CPU distributions and two CUDA companion distributions, without rebuilding. Frozen source: d679afe1b5930b57dd199f9107e7036796da672c.

Validation: CPU/macOS producer 38232188513, CUDA companion and four Linux ABI checks 38244349272. Original-wheel A100 GPU acceptance: 880 passed / 10 allowed skips. The corrected full CPU follow-up on the same frozen source passed 7,168 tests with 870 skips.

The attached original cuda-acceptance.tar.gz records exact-pair CPU baseline and GPU acceptance. SHA256: 3f57a86826cdf63853a94cdd7433ea7b7aab7f477f8e5492cb5973c3cc49f947.

Installation

CPU:

pip install 'tensor0==0.2.0'

Experimental CUDA 12 (supported Linux system with NVIDIA driver):

pip install 'tensor0[cuda12]==0.2.0'

Published artifacts

All eleven public PyPI files were downloaded after publication and their SHA256 hashes matched the original accepted candidate bytes.

Tensor0 0.1.0

Choose a tag to compare

@yitan1 yitan1 released this 10 Oct 14:30

Tensor0 0.1.0

Initial alpha release of Tensor0, a symmetric tensor library with Rust-backed structural metadata and JAX-backed storage and automatic differentiation.

Highlights

  • Graded spaces and Trivial, U(1), cyclic, SU(2), fermionic and selected product sector families.
  • Ordinary and diagonal TensorMaps, blockwise linear algebra, truncation, transforms and symmetry-aware contractions.
  • JAX pytree, JIT and differentiation integration within the documented operation-specific boundaries.

Installation and scope

Published on PyPI:

python -m pip install tensor0==0.1.0

CPU wheels support CPython 3.11–3.14 on Linux x86_64 with glibc >= 2.28; wheel installation does not require Rust or C++. JAX and JAXLIB are pinned to 0.10.1 for native XLA FFI compatibility. The sdist requires Rust >=1.87 and a C++20 compiler.

The approval-gated PyPI upload succeeded. All five published distribution hashes match the verified candidate, and a fresh PyPI wheel installation passed CPU JIT/gradient checks and public examples.

Tensor0 remains experimental and pre-1.0, not a complete simulation framework. CUDA is experimental and not included in these CPU wheels. Other platforms and architectures are not release targets.

Verification and provenance

  • Source/tag commit: bd39297438b1bc508317eb1d7ab6002639d4c230.
  • CPU CI: each of CPython 3.11–3.14 passed 6906 Python tests and 133 Rust tests; 853 CUDA-related tests skipped per interpreter.
  • Candidate build: one shared sdist and four independently checked wheels, including isolated installation, Trivial/U1 JIT/gradient checks and public examples.
  • Attached distributions are the tested candidate files, not rebuilds. Verify downloads with sha256sum -c SHA256SUMS.
  • Blocking package typing passed; the full test-inclusive typing report still contains known advisory diagnostics.

See the documentation and support policy for API contracts and limitations.