Skip to content

v0.2.1

Latest

Choose a tag to compare

@jcmgray jcmgray released this 28 Apr 22:45

Breaking changes

  • Decomposition routines (svd / qr / lq / eigh) now honor a corrected charge-carrying side convention; results may differ when the non-default side was previously selected.
  • lazyabstractmethod pattern removed; abstract hooks are now concrete methods on the appropriate *Common mixin. Affects external subclassers of internal mixins.
  • Absorb-mode handling standardized via a new Absorb class across linalg modules — accepted values/normalization are unified across sparse and flat backends.

Enhancements

  • einsum: multi-term einsum via cotengra contraction paths.
  • Cholesky: new cholesky (and cholesky_regularized) for all array types (sparse/flat, abelian/fermionic), with flat-backend support contributed in (#25).
  • Decompositions:
  • Performance: lexsort and phase computations reworked for faster jax.jit tracing (#31); int packing dtype tightened.
  • Reshape: refactored calc_reshape_args with broader test coverage.
  • Architecture: many methods unified into BosonicCommon; new tests/test_no_method_overrides.py enforces the single-definition MRO rule.
  • Docs: initial API reference, ReadTheDocs build infrastructure, RTD badge, and reference updates (#30).
  • Tooling: pixi run pytest task with SYMMRAY_DEBUG=1; renamed test envs (testpyold/testpymid/testpynew); CI simplified to use the pixi task.

Bug fixes

  • Fixed einsum for single-term expressions.
  • Fixed reshape with an ambiguous -1 in newshape.
  • Fixed charge-carrying side behavior in decompositions.
  • Fixed dtype handling in charge shift.
  • Fixed cholesky correctness bugs uncovered during multi-backend rollout.

New Contributors

Full Changelog: v0.2.0...v0.2.1