Skip to content

Conversation

@lkdvos
Copy link
Member

@lkdvos lkdvos commented Feb 3, 2026

Release notes

This release brings significant improvements to MPSKit.jl, including enhanced compatibility with multifusion categories, refactored algorithms, and numerous bug fixes.
Key improvements include a complete IDMRG refactoring, introduction of new trait systems for geometry and operator types, and enhanced performance with reduced allocations.

Key Features

🎯 New Features

Multifusion Categories

  • Added full compatibility with multifusion categories (#297)

Trait System for Dispatching

  • Introduced GeometryStyle and OperatorStyle traits for better type-based dispatching on finite/infinite geometries and operator types, improving code organization and extensibility (#352, #354)

Examples and Documentation

  • Added comprehensive Bose-Hubbard example demonstrating strongly correlated bosonic systems (#342)
  • Updated WindowMPS example with improved documentation and clearer explanations (#350)

🔧 Infrastructure Improvements

Algorithm Refactoring

  • Complete refactoring of IDMRG to follow the IterativeSolver interface, improving code maintainability and enabling better code sharing between IDMRG and IDMRG2 implementations (#348)
  • Refactored orthogonalization methods: removed _left_orth and _right_orth workarounds in favor of new, cleaner orthogonalization algorithms (#373)

Performance Optimization

  • Optimized changebonds(state, ::RandExpand) algorithm to sample spaces directly instead of performing truncated SVD, improving performance while maintaining mathematical equivalence (#335)
  • Reduced memory allocations while computing Galerkin error, leading to better performance in iterative algorithms (#366)

Dependency Updates & Compatibility

  • Bumped compatibility for TensorKit 0.16 and MatrixAlgebraKit 0.6, ensuring compatibility with the latest versions of core dependencies (#365)
  • Added LocalPreferences.toml file to ensure proper TensorOperations precompilation on testing infrastructure

User Experience

  • Updated show methods to reflect new TensorKit printing conventions, providing clearer and more consistent output formatting (#341)
  • More informative error messages for finite MPS operations, helping users diagnose issues more quickly (#367)
  • Minor documentation and docstring improvements throughout the codebase (#363, #372, #371)

🐛 Bug Fixes

Numerical Stability

  • Fixed dynamic tolerances yielding NaN during initialization due to 1 / sqrt(iter) where iter = 0, improving algorithm stability at the first iteration (#335)
  • Fixed InfiniteMPOHamiltonian environments with low bond dimension and high Krylov dimension to be properly clamped, preventing numerical instabilities (#335)

Correctness Issues

  • Fixed logical operator precedence bug in getproperty function that could lead to incorrect behavior (#346)
  • Fixed domain/codomain mismatch in MPODerivativeOperator, ensuring correct tensor operations (#370)
  • Corrected orthogonalization algorithms to use proper methods, ensuring mathematical correctness (#373)
  • Improved handling of in-place operations to avoid unintended mutation errors (#337)

Minor Fixes

  • Fixed typo in VUMPSSvdCut algorithm name (#361)
  • Fixed typo in time formatting for log messages (#336)

@lkdvos lkdvos requested a review from leburgel February 3, 2026 19:49
@lkdvos lkdvos enabled auto-merge (squash) February 3, 2026 19:49
@codecov
Copy link

codecov bot commented Feb 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
see 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lkdvos lkdvos disabled auto-merge February 3, 2026 21:16
@lkdvos lkdvos merged commit b3427bc into main Feb 3, 2026
33 checks passed
@lkdvos lkdvos deleted the v0.13.9 branch February 3, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants