Skip to content

Releases: Quantum-Many-Body/ExactDiagonalization.jl

v0.3.4

22 Apr 09:47

Choose a tag to compare

ExactDiagonalization v0.3.4

Diff since v0.3.3

New Features

  • normalize function for ExactDiagonalization: added a normalize function that adjusts term factors for exact diagonalization. For Pairing terms, the factor is multiplied by 1//2 because ED does not use BdG-form symmetrization unlike TBA.

  • Sector constructor for ℤ₁ quantum number: added a new Sector(::ℤ₁, hilbert, ...) constructor, enabling sector construction with ℤ₁ quantum number symmetry.

  • BandLanczosMethod keepvecs default changed to true: the keepvecs parameter now defaults to true, retaining Lanczos vectors by default for better usability.

Dependency Updates

  • QuantumLattices: 0.14.40.14.7

Tests

  • Added GreenFunction ED vs TBA and GreenFunction ED vs BdG test sets comparing ED results against TBA/BdG calculations

v0.3.3

12 Apr 12:55

Choose a tag to compare

ExactDiagonalization v0.3.3

Diff since v0.3.2

v0.3.2

05 Apr 10:36

Choose a tag to compare

ExactDiagonalization v0.3.2

Diff since v0.3.1

This release improves the RetardedGreenFunction API, fixes a spectral function calculation bug, and enhances logging and code clarity.

New features

  • Add e₀, v₀, sector₀ keyword arguments to RetardedGreenFunction constructors. When all three are provided, eigen-computation is skipped for efficiency.

Bug fixes

  • Fix spectral function calculation by removing an erroneous factor of 2.
  • Fix scalartype dispatch for ED with L<:Union{AbstractLattice, Nothing} and CategorizedGenerator.

Improvements

  • Rename reset! to set! in GreenFunctions to better reflect its purpose.
  • Rename Greek-letter variables (Ω → v₀, E₀ → e₀, sector → sector₀) to Latin equivalents for clarity and Julia naming conventions.
  • Add RawStderrLogger for verbatim @info log output; refine logging messages throughout GreenFunctions.jl.
  • Reformat function signatures in RetardedGreenFunction for readability.
  • Use scalartype(ed) instead of scalartype(Ω) in GreenFunction for consistency.

Dependencies

  • Add Logging dependency to Project.toml.

v0.3.1

28 Mar 02:56

Choose a tag to compare

ExactDiagonalization v0.3.1

Diff since v0.3.0

Release Notes for ExactDiagonalization v0.3.1

Features

-Makie plotting support: Added ExactDiagonalizationMakieExt extension providing Makie-based plotting for StaticChargeStructureFactor, StaticSpinStructureFactor, and SpinCoherentStateProjection. Tests now run both Plots and Makie backends with separate output files.

Bug Fixes

  • GreenFunction sector calculation: Fixed incorrect sector computation by using adjoint(operator) instead of raw operator. Also switched to OrderedDict to preserve operator ordering.

v0.3.0

12 Mar 00:58

Choose a tag to compare

ExactDiagonalization v0.3.0

Diff since v0.2.0

ExactDiagonalization v0.3.0 Release Notes

Version Information

  • Version: v0.3.0
  • Release Date: 2026-03-12
  • Julia Version: 1.10 - 1.12

Dependency Updates

  • QuantumLattices: 0.14.2
  • RecipesBase: Converted to weakdeps, now using extension mechanism

Breaking Changes

  • See new features

New Features

BandLanczos Module

  • Added new BandLanczos module with BandLanczosIterator and BandLanczosFactorization types that extend KrylovKit's BlockLanczos with optional control over keeping Krylov basis vectors

Green Functions

  • Added GreenFunction and RetardedGreenFunction types for calculating Green's functions with BandLanczosMethod and ExactMethod methods

Quantum Number System

  • QuantumNumbers and related functions migrated from QuantumLattices
  • Added action of QuantumOperator on AbelianQuantumNumber

Bug Fixes

  • Fixed various documentation and typo issues

Closed issues:

  • Low cpu usage in 4*4 case for Fermi Hubbard Model (#9)

v0.2.0

20 Aug 11:45

Choose a tag to compare

ExactDiagonalization v0.2.0

Diff since v0.1.7

Breaking changes

  • Redefine the construction function of BinaryBases, which uses quantum numbers, such as, 𝕊ᶻ, 𝕊ᶻ ⊠ ℕ, ℕ ⊠ 𝕊ᶻ or none to initialize.
  • Rename SpinBases to AbelianBases, which is in principle not restricted to spin systems any more, and uses quantum numbers, such as 𝕊ᶻ or none to initialize.
  • Generic interface Sector has been modified in accordance with BinaryBases and AbelianBases.
  • Redefine the construction function of ED, which uses quantum numbers, such as , 𝕊ᶻ, 𝕊ᶻ ⊠ ℕ, ℕ ⊠ 𝕊ᶻ or none to initialize.
  • Remove TargetSpace.
  • BinaryBasisRange, SectorFilter and basistype are no longer exported.

New features

  • Add EDEigen and EDEigenData.
  • Add GroundStateExpectation and GroundStateExpectationData.
  • Add StaticTwoPointCorrelator and StaticTwoPointCorrelatorData.
  • Add SpinCoherentState, SpinCoherentStateProjection and SpinCoherentStateProjectionData.
  • Add prepare!(::ED; timer), prepare!(::Algorithm{<:ED}) and release!(::Union{ED, Algorithm{<:ED}; gc) for more flexible memory control.
  • Add release keyword argument to matrix(::Union{ED, Algorithm{<:ED}}, args...; kwargs...) and eigen(::Union{ED, Algorithm{<:ED}}, args...; kwargs...) so that the memory cached to construct the sparse matrix representation of the Hamiltonian can be released immediately after the construction.

Merged pull requests:

v0.1.7

19 Apr 07:46

Choose a tag to compare

ExactDiagonalization v0.1.7

Diff since v0.1.6

v0.1.6

04 Nov 03:52

Choose a tag to compare

ExactDiagonalization v0.1.6

Diff since v0.1.5

v0.1.5

18 Nov 07:10

Choose a tag to compare

ExactDiagonalization v0.1.5

Diff since v0.1.4

v0.1.4

21 Sep 07:09

Choose a tag to compare

ExactDiagonalization v0.1.4

Diff since v0.1.3

Merged pull requests: