Releases: jcmgray/symmray
Releases · jcmgray/symmray
v0.2.1
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. lazyabstractmethodpattern removed; abstract hooks are now concrete methods on the appropriate*Commonmixin. Affects external subclassers of internal mixins.- Absorb-mode handling standardized via a new
Absorbclass across linalg modules — accepted values/normalization are unified across sparse and flat backends.
Enhancements
- einsum: multi-term
einsumviacotengracontraction paths. - Cholesky: new
cholesky(andcholesky_regularized) for all array types (sparse/flat, abelian/fermionic), with flat-backend support contributed in (#25). - Decompositions:
svd_rand_truncatedfor randomized truncated SVD.qr_via_choleskyandlq_via_cholesky.svd_via_eig_truncatedfor the flat backend.svd_via_eiggained anepsparameter for stabilizing small singular values.- Flat
svd_via_eignow supports the full range ofAbsorboptions and shortcuts. - Unified
lq,svd,svd_truncated,svd_via_eig,svd_via_eig_truncated,qr, andeigh_truncatedonto a shared_splitinterface inArrayCommon.
- Performance: lexsort and phase computations reworked for faster
jax.jittracing (#31); int packing dtype tightened. - Reshape: refactored
calc_reshape_argswith broader test coverage. - Architecture: many methods unified into
BosonicCommon; newtests/test_no_method_overrides.pyenforces the single-definition MRO rule. - Docs: initial API reference, ReadTheDocs build infrastructure, RTD badge, and reference updates (#30).
- Tooling:
pixi run pytesttask withSYMMRAY_DEBUG=1; renamed test envs (testpyold/testpymid/testpynew); CI simplified to use the pixi task.
Bug fixes
- Fixed
einsumfor single-term expressions. - Fixed
reshapewith an ambiguous-1innewshape. - Fixed charge-carrying side behavior in decompositions.
- Fixed dtype handling in charge
shift. - Fixed
choleskycorrectness bugs uncovered during multi-backend rollout.
New Contributors
- @ChenAo-Phys made their first contribution in #25
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's Changed
Breaking changes:
- rename
oddpos->dummy_modesand tweak behavior - spinful local basis, change order, see vmc energy compatibility tests
Enhancements:
- add
to_pytreeandfrom_pytreemethods - possibly preserve
labelwhen contracting arrays - add
flatkwarg to operator constructors - Add kwargs to utils.from_dense function by @Quantumgunhee in #19
fermi_hubbard_spinless: add pairing term
Bug fixes:
- various fixes for using symmray with torch and jax
- replace tensor index with autoray 'take' for torch compatibility by @sjdu10 in #23
Full Changelog: v0.1.1...v0.2.0
v0.1.1
What's Changed
- support flat fermionic with torch vmap
- add symmray.take
- upgrade transpose for singleton dimensions by @jcmgray in #1
- change in-place operation x*=y to x = x*y in truncated-SVD by @sjdu10 in #2
- Bump mamba-org/setup-micromamba from 1 to 2 by @dependabot[bot] in #4
- symmetry line location by @Quantumgunhee in #9
- Bump astral-sh/setup-uv from 5 to 6 by @dependabot[bot] in #11
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #12
- Bump prefix-dev/setup-pixi from 0.9.0 to 0.9.1 by @dependabot[bot] in #13
- solve_abelian for 2d input by @Quantumgunhee in #14
- MPS helper function by @Quantumgunhee in #17
- Bump prefix-dev/setup-pixi from 0.9.1 to 0.9.3 by @dependabot[bot] in #16
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #18
New Contributors
- @jcmgray made their first contribution in #1
- @sjdu10 made their first contribution in #2
- @dependabot[bot] made their first contribution in #4
- @Quantumgunhee made their first contribution in #9
Full Changelog: https://github.com/jcmgray/symmray/commits/v0.1.1